From 7ca1a21571bbd2418ad63418b9d4d969d4dc42b1 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Mon, 11 Dec 2023 17:00:28 +0100 Subject: [PATCH 001/110] Update area_estimation.rst Proofreading in-progress. Will edit further and communicate when ready to be published. Thanks! --- docs/source/workflows/area_estimation.rst | 690 +++++++++++----------- 1 file changed, 347 insertions(+), 343 deletions(-) diff --git a/docs/source/workflows/area_estimation.rst b/docs/source/workflows/area_estimation.rst index 3755d7b539..93eda15724 100644 --- a/docs/source/workflows/area_estimation.rst +++ b/docs/source/workflows/area_estimation.rst @@ -1,12 +1,10 @@ Perform area estimation analysis with SEPAL-CEO =============================================== - -Complete area estimation for land use/land cover and two-date change detection classifications ----------------------------------------------------------------------------------------------- +**Complete area estimation for land use/land cover and two-date change detection classifications** .. note:: - The SEPAL team would like to thank `SIG-GIS `_ for this documentation material. + The SEPAL team would like to thank `SIG-GIS `_ for this documentation material (SIG-GIS refers to the Spatial Informatics Group - Geographic Information System). .. important:: @@ -19,9 +17,7 @@ Complete area estimation for land use/land cover and two-date change detection c Introduction ------------ -Welcome to Area estimation with SEPAL and CEO! - -In this article, you will learn how to perform area estimation for land use/land cover and two-date change detection classifications. We will use sample-based approaches to area estimation. This approach is preferred over pixel-counting methods because all maps have errors (e.g. maps derived from land cover/land use classifications may have errors due to pixel mixing, or noise in the input data). Using pixel-counting methods will produce biased estimates of area; you cannot tell whether these are overestimates or underestimates. Sample-based approaches create unbiased estimates of area and the error associated with your map. +In this article, you will learn how to perform area estimation for land use/land cover and two-date change detection classifications. We will use sample-based approaches to area estimation. This approach is preferred over pixel-counting methods because all maps have errors (e.g. maps derived from land cover/land use classifications may have errors due to pixel mixing or noise in the input data). Using pixel-counting methods will produce biased estimates of area; you cannot tell whether these are overestimates or underestimates. Sample-based approaches create unbiased estimates of area and the error associated with your map. The goal of this article is to teach you how to perform these tasks so that you can conduct your own area estimation for land use/land cover or change detection classifications. @@ -33,15 +29,15 @@ In this article, you will find four modules covering methods and one module cove * In `Module 4`_, you will learn how to calculate a sample-based estimate of area and error. You will learn how to use stratified random sampling and verification image analysis to calculate area and error estimates based on the classification you create in `Module 2`_. You will also learn about some key documentation steps in preparation for `Module 5`_. * In `Module 5`_, you will learn about documenting and archiving your area estimation project. The information in this step is required for your project to be replicated by yourself or your colleagues in the future (either for additional areas or points in time). -These exercises include step-by-step directions and are built to facilitate learning through reading and by doing. This article will be accompanied by short videos, which will visually illustrate the steps described in the text. +These exercises include step-by-step directions and are built to facilitate learning through reading and practice. This article will be accompanied by short videos, which will visually illustrate the steps described in the text. .. graphviz:: digraph process { - mosaic [label="Mosaic Image creation", href="#mosaic-generation-landsat-sentinel-2", shape=box]; + mosaic [label="Mosaic image creation", href="#mosaic-generation-landsat-sentinel-2", shape=box]; classif [label="Image classification", href="#image-classification", shape=box]; - change [label="Two dates change detection", href="#image-change-detection", shape=box]; - sample [label="Sample based area and error", href="#sample-based-estimation-of-area-and-accuracy", shape=box]; + change [label="Two-date change detection", href="#image-change-detection", shape=box]; + sample [label="Sample-based area and error", href="#sample-based-estimation-of-area-and-accuracy", shape=box]; doc [label="Documentation", href="#documentation-and-archiving", shape=box]; mosaic -> classif; mosaic -> change; @@ -50,49 +46,68 @@ These exercises include step-by-step directions and are built to facilitate lear sample -> doc; } -The primary tool needed to complete this tutorial is the System for Earth Observation Data Access, Processing and Analysis for Land Monitoring (SEPAL). SEPAL is a web-based cloud computing platform that enables users to create image composites, process images, download files, create stratified sampling designs and more – all from your browser. Part of the Open Foris suite of tools, SEPAL was designed by the Food and Agricultural Organization of the United Nations (FAO) to aid in remote sensing applications in developing countries. Geoprocessing is possible via Jupyter, JavaScript, R, R Shiny apps, and Rstudio. SEPAL also integrates Collect Earth Online (CEO) and Google Earth Engine (GEE). +Required tools +^^^^^^^^^^^^^^ + +SEPAL +""""" + +The primary tool needed to complete this tutorial is the System for Earth Observation Data Access, Processing and Analysis for Land Monitoring (SEPAL) – a web-based cloud computing platform that enables users to create image composites, process images, download files, create stratified sampling designs and more (all from your browser). Part of the Open Foris suite of tools, SEPAL was designed by the Food and Agricultural Organization of the United Nations (FAO) to aid in remote sensing applications in developing countries. Geoprocessing is possible via Jupyter, JavaScript, R, R Shiny apps, and RStudio; the platform also integrates GEE and CEO. + +SEPAL provides a platform for users to access satellite imagery (Landsat and Sentinel-2) and perform change detection and land cover classifications using a set of easy-to-use tools. SEPAL was designed to be used in developing countries where internet access is limited and computers are often outdated and inefficient for processing satellite imagery. It achieves this by utilizing a cloud-based supercomputer, which enables users to process, store and interpret large amounts of data. (There are many advanced functions available in SEPAL, which we will not cover in this article.) -SEPAL provides a platform for users to access satellite imagery (Landsat and Sentinel-2) and perform change detection and land cover classifications using a set of easy-to-use tools. SEPAL was designed to be used in developing countries where internet access is limited and computers are often outdated and inefficient for processing satellite imagery. It achieves this by utilizing a cloud-based supercomputer, which enables users to process, store and interpret large amounts of data. Many more advanced functions than what we will cover here are available in SEPAL for more advanced users. +CEO +""" -Two other tools will also be needed to complete this tutorial: CEO and GEE. +CEO is a free, open-source image viewing and interpretation tool, suitable for projects requiring information about land cover and/or land use, enabling simultaneous visual interpretations of satellite imagery, providing global coverage from MapBox and Bing Maps, a variety of satellite data sources from GEE, and the ability to connect to your own Web Map Service (WMS) or Web Map Tile Service (WMTS). The full functionality is implemented online; no desktop installation is necessary. CEO allows institutions to create projects and enables their teams to collect spatial data using remote sensing imagery. Use cases include historical and near real-time interpretation of satellite imagery and data collection for land cover/land use model validation. -CEO is a free, open-source image viewing and interpretation tool, suitable for projects requiring information about land cover and/or land use. CEO enables simultaneous visual interpretations of satellite imagery, providing global coverage from MapBox and Bing Maps, a variety of satellite data sources from GEE, and the ability to connect to your own Web Map Service (WMS) or Web Map Tile Service (WMTS). The full functionality is implemented online; no desktop installation is necessary. CEO allows institutions to create projects and enables their teams to collect spatial data using remote sensing imagery. Use cases include historical and near-real-time interpretation of satellite imagery and data collection for land cover/land use model validation. +GEE +""" -GEE combines a multi-petabyte catalog of satellite imagery and geospatial datasets with planetary-scale analysis capabilities and makes it available for scientists, researchers and developers to detect changes, map trends and quantify differences on the Earth's surface. The code portion of GEE (called Code Editor) is a web-based IDE for the GEE JavaScript API. Code Editor features are designed to make developing complex geospatial workflows fast and easy. The Code Editor has the following elements: +GEE combines a multi-petabyte catalog of satellite imagery and geospatial datasets with planetary-scale analysis capabilities and makes it available for scientists, researchers and developers to detect changes, map trends and quantify differences on the Earth's surface. The code portion of GEE (called **Code editor**) is a web-based IDE for the GEE JavaScript API; its features are designed to make developing complex geospatial workflows fast and easy. + +The **Code editor** has the following elements: - JavaScript code editor; - a map display for visualizing geospatial datasets; - - an API reference documentation (Docs tab); - - Git-based Script Manager (Scripts tab); - - Console output (Console tab); - - Task Manager (Tasks tab) to handle long-running queries; - - Interactive map query (Inspector tab); + - an API reference documentation (**Docs** tab); + - Git-based script manager (**Scripts** tab); + - Console output (**Console** tab); + - Task manager (**Tasks** tab) to handle long-running queries; + - Interactive map query (**Inspector** tab); - search of the data archive or saved scripts; and - geometry drawing tools. -.. seealso:: +.. Tip:: + + For more information, see: + + - `Forest Cover Change Detection with SEPAL (a previously published manual) `_ + - `FAO - SFM Tool Detail: Good practices for estimating area and assessing accuracy of land change (Olofsson et al., 2014) `_ + - `CEO documentation `_ + - `GEE documentation for the Code editor `_ + - `REDD Compass - GFOI `_ + - `Reporting and Verification - GFOI `_ + +Project planning +^^^^^^^^^^^^^^^^ - For more information, you can use the following resources: +Project planning and methods documentation play a key role in any remote sensing analysis project. While we use example projects in this article, you may use these techniques for your own projects in the future. - - A previously published forest change detection manual for SEPAL: `Forest Cover Change Detection with SEPAL `_ - - Olofsson et al 2014: `FAO - SFM Tool Detail: Good practices for estimating area and assessing accuracy of land change `_ - - CEO documentation: `https://collect.earth/support `_ - - GEE documentation: `Earth Engine Code Editor from Google Earth Engine `_ - - REDD Compass: `Front Page - GFOI `_ - - Reporting and Verification: `Reporting and Verification - GFOI `_ +We encourage you to think about the following items to ensure that your resulting products will be relevant and that your chosen methods are well documented and transparent: -Project planning information -^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +- Descriptions and objectives of the project (issues and information needs). -Project planning and methods documentation play a key role in any remote sensing analysis project. While we use example projects in this article, you may use these techniques for your own projects in the future. We encourage you to think about the following items to ensure that your resulting products will be relevant and that your chosen methods are well-documented and transparent. + - Are you trying to conform to an Intergovernmental Panel on Climate Change (IPCC) Tier? -- Descriptions and objectives of the project (issues and information needs). Are you trying to conform to an Intergovernmental Panel on Climate Change (IPCC) Tier? +- Descriptions of the end user product (data, information, monitoring system or map that will be created by the project). -- Descriptions of the end user product (data, information, monitoring system or map that will be created by the project). What type of information do you need? A map? An inventory? A change product? Do you need to know where different land cover types exist or do you just need an inventory of how much there is? + - What type of information do you need (e.g. map, inventory, change product)? + - Do you need to know where different land cover types exist or do you just need an inventory of how much there is? - How will success be defined for this project? Do you require specific accuracy or a certain level of detail in the final map product? -- Description of the project area/extent (e.g. national, subnational, specific forest, etc.) +- Description of the project area/extent (e.g. national, subnational, specific forest). - Description of the features/classes to be modeled or mapped. @@ -108,14 +123,14 @@ Project planning and methods documentation play a key role in any remote sensing - Will you supplement your remote sensing project with existing data (local data on forest type, management intent, records of natural disturbance, etc.)? -- Partnerships (vendors, agencies, bureaus, etc.) +- Partnerships (vendors, agencies, bureaus, etc.). .. _Module 1: Mosaic generation (Landsat & Sentinel 2) ---------------------------------------- -SEPAL provides a robust interface for generating Landsat and Sentinel 2 mosaics. Mosaic creation is the first step for the image classification and two-date change detection processes covered in `Module 2`_ and `Module 3`_ respectively. These mosaics can be downloaded locally or to your Google Drive account. +SEPAL provides a robust interface for generating Landsat and Sentinel 2 mosaics. Mosaic creation is the first step for the image classification and two-date change detection processes covered in `Module 2`_ and `Module 3`_, respectively. These mosaics can be downloaded locally or to your Google Drive account. In this tutorial, you will create a Landsat mosaic for the Mai Ndombe region of the Democratic Republic of the Congo, where REDD+ projects are currently underway. @@ -123,9 +138,9 @@ In this tutorial, you will create a Landsat mosaic for the Mai Ndombe region of **Objectives** - - Learn how to create an image mosaic. - - Become familiar with a variety of options for selecting dates, sensors, mosaicking and download options. - - Create a cloud-free mosaic for 2016. + - learn how to create an image mosaic; + - familiarize yourself with a variety of options for selecting dates, sensors, mosaicking and download options; and + - create a cloud-free mosaic for 2016. .. note:: @@ -133,7 +148,7 @@ In this tutorial, you will create a Landsat mosaic for the Mai Ndombe region of - SEPAL account registration -Create a Landsat Mosaic +Create a Landsat mosaic ^^^^^^^^^^^^^^^^^^^^^^^ If SEPAL is not already open, open your browser and go to: https://sepal.io/ . Log in to your SEPAL account. @@ -142,7 +157,7 @@ Select the :code:`Processing` tab. Then, select :code:`Optical Mosaic`. -When the Optical Mosaic tab opens, you will see an **Area of Interest** (AOI) window in the lower-right corner of your screen. +When the **Optical mosaic** tab opens, you will see an **Area of interest (AOI)** window in the lower-right corner of your screen. There are three ways to choose your AOI. Open the menu by selecting the carrot on the right side of the window label. @@ -151,17 +166,17 @@ There are three ways to choose your AOI. Open the menu by selecting the carrot o - Draw a polygon .. figure:: ../_images/workflows/area_estimation/area_of_interest.png - :alt: The AOI menu. + :alt: The AOI menu :width: 350 :align: center We will use the :code:`Select a country/province` option. -In the list of countries that pops up, scroll down until you see the available options for **Congo, Dem Republic of** (Note: There is also the Republic of Congo, which is not what we're looking for). +In the list of countries, scroll down until you see the available options for **Congo, Dem Republic of** (note: There is also the Republic of Congo, which is not what we're looking for). .. note:: - Under Province/Area, notice that there are many different options. + Under **Province/Area**, notice that there are many different options. Select :code:`Mai-Ndombe`. @@ -172,21 +187,21 @@ Select :code:`Mai-Ndombe`. Select :code:`Next`. .. figure:: ../_images/workflows/area_estimation/country_province.png - :alt: The Country or Province selection screen. + :alt: The Country or Province selection screen :align: center In the :code:`Date` menu, you can choose the :code:`Year` you are interested in or select :code:`More`. - This interface allows you to refine the dates or seasons you are interested in. -- You can select a :code:`target date` (the date in which pixels in the mosaic should ideally come from), as well as adjust the start and end date flags. -- You can also include additional seasons from the past or the future by adjusting the :code:`Past Seasons` and :code:`Future Seasons` slider. This will include additional years' data of the same dates specified (if you're interested in August 2015, including one future season will also include data from August 2016). This is useful if you're interested in a specific time of year, but there is significant cloud cover. +- You can select a :code:`target date` (the date in which pixels in the mosaic should ideally come from), as well as adjust the start- and end-date flags. +- You can also include additional seasons from the past or the future by adjusting the :code:`Past Seasons` and :code:`Future Seasons` slider. This will include additional years' data of the same dates specified (if you're interested in August 2015, including one future season will also include data from August 2016). (This is useful if you're interested in a specific time of year, but there is significant cloud cover.) - For this exercise, let's create imagery for the dry season of 2019. - Select July 1 of 2019 as your target date (**2019-07-01**), and move your date flags to **May 1-September 30**. - Select :code:`Apply`. .. figure:: ../_images/workflows/area_estimation/date_menu.png - :alt: The date menu. + :alt: The date menu :align: center Now select the :code:`Data Sources (SRC)` you'd like. Here, select the **Landsat L8 & L8 T2** option. The color of the label turns brown once it has been selected. Select :code:`Done`. @@ -196,11 +211,9 @@ Now select the :code:`Data Sources (SRC)` you'd like. Here, select the **Landsat - **L4-5 TM,** collected data from July 1982-May 2012. - **Sentinel 2 A+B** began operating in June 2015. -Now SEPAL will load a preview of your data. By default it will show you where RGB band data is available. You can click on the RGB image at the bottom to choose from other combinations of bands or metadata. +SEPAL will load a preview of your data. By default, it will show you where RGB band data is available. You can click on the RGB image at the bottom to choose from other combinations of bands or metadata. -- When it is done, examine the preview to see how much data is available. For this example, coverage is good. However, in the future when you are creating your own mosaic, if there is not enough coverage of your AOI, you will need to adjust your parameters. -- To do so, notice the five tabs in the lower right. You can adjust the initial search parameters using the first three of these tabs (e.g. select :code:`Dat` to expand the date range). -- The last two tabs are for :code:`Scene selection` and :code:`Composite`, which are more advanced filtering steps. We'll cover those now. +When it is done, examine the preview to see how much data is available. For this example, coverage is good. However, in the future when you are creating your own mosaic, if there is not enough coverage of your AOI, you will need to adjust your parameters. To do so, notice the five tabs in the lower right. You can adjust the initial search parameters using the first three of these tabs (e.g. select :code:`Dat` to expand the date range). The last two tabs are for :code:`Scene selection` and :code:`Composite`, which are more advanced filtering steps. We'll cover those now. .. figure:: ../_images/workflows/area_estimation/mosaic_preview.png :alt: A preview of your mosaic. @@ -209,10 +222,10 @@ Now SEPAL will load a preview of your data. By default it will show you where RG We're now going to go through the **Scene selection process**. This allows you to change which specific images to include in your mosaic. - You can change the scenes that are selected using the :code:`SCN` button on the lower right of the screen. You can use all scenes or select which are prioritized. You can revert any changes by selecting :code:`Use All Scenes` and then :code:`Apply`. -- Change the **Scenes** by selecting **Select Scenes** with Priority: **Target Date** +- Change the **Scenes** by selecting **Select scenes** with **Priority**: **Target date** .. figure:: ../_images/workflows/area_estimation/scene_selection.png - :alt: Selecting scenes for your mosaic. + :alt: Selecting scenes for your mosaic :align: center Select :code:`Apply`. The result should look like the image below. @@ -222,27 +235,27 @@ Select :code:`Apply`. The result should look like the image below. Notice that the collection of circles over the **Mai Ndombe** study area are all populated with a zero. These represent the locations of scenes in the study area and the numbers of images per scene that are selected. The number is currently 0 because we haven't selected the scenes yet. .. figure:: ../_images/workflows/area_estimation/scene_selection_zeros.png - :alt: Scene selection process showing zeros before selection. + :alt: Scene selection process showing zeros before selection :align: center Choose the :code:`Auto-Select` button to auto-select some scenes. .. figure:: ../_images/workflows/area_estimation/auto_select_scenes.png - :alt: Arrow showing the button for auto-selecting scenes. + :alt: Arrow showing the button for auto-selecting scenes :width: 550 :align: center You may set a minimum and maximum number of images per scene area that will be selected. Increase the minimum to **2** and the maximum to **100**. Choose :code:`Select Scenes`. If there is only one scene for an area, that will be the only one selected despite the minimum. .. figure:: ../_images/workflows/area_estimation/auto_select_scenes_menu.png - :alt: Menu for auto-selecting scenes. + :alt: Menu for auto-selecting scenes :width: 350 :align: center You should now see imagery with overlaying circles, indicating how many scenes are selected. .. figure:: ../_images/workflows/area_estimation/imagery_number_scenes.png - :alt: Example of the imagery with the number of scenes selected. + :alt: Example of the imagery with the number of scenes selected :width: 450 :align: center @@ -251,7 +264,7 @@ You will notice that the circles that previously displayed a **O** now display a Hover over one of the circles to see the footprint (outline) of the Landsat scene that it represents. Select that circle. .. figure:: ../_images/workflows/area_estimation/select_scenes_interface.png - :alt: The Select scenes interface showing **0** available and **4** selected scenes. + :alt: The **Select scenes** interface showing **0** available and **4** selected scenes :align: center In the window that opens, you will see a list of selected scenes on the right side of the screen. These are the images that will be added to the mosaic. There are three pieces of information for each: @@ -260,29 +273,29 @@ In the window that opens, you will see a list of selected scenes on the right si - Percent cloud cover - Number of days from the target date -To expand the Landsat image, hover over one of the images and select :code:`Preview`. Click on the image to close the zoomed in graphic and return to the list of scenes. +To expand the Landsat image, hover over one of the images and select :code:`Preview`. Click on the image to close the zoomed-in graphic and return to the list of scenes. To remove a scene from the composite, select the :code:`Remove` button when you hover over the selected scene. .. figure:: ../_images/workflows/area_estimation/remove_preview_scenes.png - :alt: Removing or previewing selected scenes. + :alt: Removing or previewing selected scenes :align: center .. figure:: ../_images/workflows/area_estimation/scene_preview.png - :alt: Scene preview screen. + :alt: Scene preview screen :align: center -On the leftmost side, you will see **Available Scenes**, which are images that will not be included in the mosaic, but can be added to it. If you have removed an image and would like to re-add it, or if there are additional scenes you would like to add, hover over the image and select :code:`Add`. +On the leftmost side, you will see **Available scenes**, which are images that will not be included in the mosaic, but can be added to it. If you have removed an image and would like to re-add it, or if there are additional scenes you would like to add, hover over the image and select :code:`Add`. - Once you are satisfied with the selected imagery for a given area, select :code:`Close` in the lower-right corner. - You can then select different scenes (represented by the circles) and evaluate the imagery for each scene. .. figure:: ../_images/workflows/area_estimation/select_scenes_1.png - :alt: Select scenes screen showing **1** available scene and **3** selected scenes. + :alt: Select scenes screen showing **1** available scene and **3** selected scenes :width: 450 :align: center -You can also change the composing method using the :code:`CMP` button on the lower right. +You can also change the composing method using the :code:`CMP` button in the lower right. .. note:: @@ -291,43 +304,40 @@ You can also change the composing method using the :code:`CMP` button on the low For this exercise, we will leave these at their default settings. If you make changes, select :code:`Apply` after you're done. .. figure:: ../_images/workflows/area_estimation/composite.png - :alt: The composite menu. + :alt: The composite menu :width: 350px :align: center Now we'll explore the :code:`Bands` dropdown. Select :code:`Red|Green|Blue` at the bottom of the page. .. figure:: ../_images/workflows/area_estimation/arrow_bands.png - :alt: Arrow pointing at the red, green and blue bands. + :alt: Arrow pointing at the red, green and blue bands :align: center The dropdown menu will appear, as seen below. - Select the **NIR, RED, GREEN** band combination (NIR stands for near infrared). This band combination displays vegetation as red (darker reds indicate dense vegetation); bare ground and urban areas appear grey or tan; water appears black. - Once selected, the preview will automatically show what the composite will look like. -- Use the scroll wheel on your mouse to zoom in on the mosaic and then click and move to pan around the image. This will help you assess the quality of the mosaic. +- Use the scroll wheel on your mouse to zoom in on the mosaic; then, click and move to pan around the image. This will help you assess the quality of the mosaic. .. figure:: ../_images/workflows/area_estimation/bands_menu.png - :alt: The band combinations menu. + :alt: The band combinations menu :width: 350px :align: center -The map now shows the complete mosaic that incorporates all of the user-defined settings. Here is an example (yours may look different depending on which scenes you chose). +The map now shows the complete mosaic that incorporates all user-defined settings. Here is an example (yours may look different depending on which scenes you chose). .. figure:: ../_images/workflows/area_estimation/completed_mosaic.png - :alt: The imagery preview with the completed mosaic shown. + :alt: The imagery preview with the completed mosaic shown :width: 450 :align: center -Using what you've learned, take some time to explore adjusting some of the input parameters and examine the influence on the output. Once you have a composite you are happy with, we will download the mosaic (instructions follow). - -- For example, if you have too many clouds in your mosaic, then you may want to adjust some of your settings or choose a different time of year when there is a lower likelihood of cloud cover. -- The algorithm used to create this mosaic attempts to remove all cloud cover, but is not always successful in doing so. Portions of clouds often remain in the mosaic. +Using what you've learned, take some time to explore adjusting some of the input parameters and examine the influence on the output. Once you have a composite you are happy with, we will download the mosaic (instructions follow). For example, if you have too many clouds in your mosaic, then you may want to adjust some of your settings or choose a different time of year when there is a lower likelihood of cloud cover. The algorithm used to create this mosaic attempts to remove all cloud cover, but is not always successful in doing so. Portions of clouds often remain in the mosaic. Name and save your recipe and mosaic ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Now, we will name the "recipe" for creating the mosaic and explore options for the recipe. +Now, we will name the recipe for creating the mosaic and explore options. .. note:: You will use this recipe when working with the classification or change detection tools, as well as when loading SEPAL mosaics into SEPAL's CEO. @@ -336,7 +346,7 @@ Now, we will name the "recipe" for creating the mosaic and explore options for t You can make the recipe easier to find by naming it. Select the tab in the upper right and enter a new name. For this example, use *MiaNdombe_LS8_2019_Dry.* -Let's explore options for the recipe. Select the three lines in the upper-right corner. +Let's explore options for the recipe. Select the three lines in the upper-right corner: - You can **Save the recipe** (SEPAL will do this automatically on retrieval) so that it is available later. - You can also **Duplicate the recipe**. This is useful for creating two years of data, which we will do in `Module 3`_. @@ -348,20 +358,20 @@ Select :code:`Save recipe….` This will also let you rename the mosaic, if you :alt: Save, duplicate and export recipe menu. :align: center -Now if you click on the three lines icon, you should see an additional option: **Revert to old revision...** +If you click on the three lines icon, you should see an additional option: **Revert to old revision...** .. figure:: ../_images/workflows/area_estimation/revert_to_old_revision.png - :alt: After saving, the menu adds a Revert to old revision option. + :alt: After saving, the menu adds a **Revert to old revision** option. :align: center Choosing this option brings up a list of auto-saved versions from SEPAL. You can use this to revert changes if you make a mistake. .. tip:: - Now, when you open SEPAL and click the Search option, you will see a row with this name that contains the parameters you just set. + Now, when you open SEPAL and click the **Search** option, you will see a row with this name that contains the parameters you just set. .. figure:: ../_images/workflows/area_estimation/revision_menu.png - :alt: Revisions menu dropdown. + :alt: Revisions menu dropdown :align: center Finally, we will save the mosaic itself. This is called "retrieving" the mosaic. This step is necessary to perform analysis on the imagery. @@ -369,11 +379,11 @@ Finally, we will save the mosaic itself. This is called "retrieving" the mosaic. To download this imagery mosaic to your SEPAL account, select the :code:`Retrieve` button. .. figure:: ../_images/workflows/area_estimation/retrieve.png - :alt: The Retrieve button. + :alt: The **Retrieve** button :align: center .. figure:: ../_images/workflows/area_estimation/retrieve_menu.png - :alt: The Retrieve menu. + :alt: The **Retriev**e menu :align: center A window will appear with the following options: @@ -381,39 +391,39 @@ A window will appear with the following options: - **Bands to Retrieve:** select the desired bands you would like to include in the download. - Select the **Blue, Green, Red, NIR, SWIR 1 and SWIR 2** bands. This will show you visible and infrared data collected by Landsat. - - Other bands that are available include Aerosol, Thermal, Brightness, Greenness, and Wetness. More information on these can be found at: https://landsat.gsfc.nasa.gov/landsat-data-continuity-mission/. - - Metadata on Date, Day of Year, and Days from Target can also be selected. + - Other bands that are available include **Aerosol**, **Thermal**, **Brightness**, **Greenness**, and **Wetness** (more information on these can be found at: https://landsat.gsfc.nasa.gov/landsat-data-continuity-mission). + - Metadata on **Date**, **Day of Year**, and **Days from Target** can also be selected. -- **Scale:** The resolution of the mosaic. Landsat data is collected at 30 meter (m) resolution, so we will leave the slider there. -- **Retrieve to:** SEPAL Workspace is the default option. Other options may appear, depending on your permissions. +- **Scale:** The resolution of the mosaic. Landsat data is collected at 30 metre (m) resolution, so we will leave the slider there. +- **Retrieve to:** The SEPAL workspace is the default option. Other options may appear depending on your permissions. When you have the desired bands selected, select :code:`Retrieve`. -You will notice the :code:`Tasks` icon is now spinning. If you select it, you will see that the data retrieval is in process. This step will take some time. +You will notice the :code:`Tasks` icon is now spinning. If you select it, you will see that data retrieval is in process. This step will take some time. .. figure:: ../_images/workflows/area_estimation/retrieval_task.png - :alt: Retrieval task being carried out. + :alt: Retrieval task being carried out :align: center .. note:: - This will take approximately **25 minutes** to finish downloading; however, you can move on to the next exercise without waiting for the download to finish. + This will take approximately 25 minutes to finish downloading; however, you can move on to the next exercise without waiting for the download to finish. .. _Module 2: Image classification -------------------- -The main goal of Module 2 is to construct a single-date land cover map by classification of a Landsat composite generated from Landsat images. Image classification is frequently used to map land cover, describing what the landscape is composed of (grass, trees, water and/or an impervious surface), and to map land use, describing the organization of human systems on the landscape (farms, cities and/or wilderness). Learning to do image classification well is extremely important and requires experience. This module was designed to help you acquire some experience. You will first consider the types of land cover classes you would like to map and the amount of variability within each class. +The main goal of Module 2 is to construct a single-date land cover map by classification of a Landsat composite generated from Landsat images. Image classification is frequently used to map land cover, describing what the landscape is composed of (grass, trees, water and/or an impervious surface), and to map land use, describing the organization of human systems on the landscape (farms, cities and/or wilderness). -There are both supervised (uses human guidance, including training data) and unsupervised (does not use human guidance) classification methods. The "random forest approach" demonstrated here uses training data and is thus a supervised classification method. +Learning to do image classification well is extremely important and requires experience. This module was designed to help you acquire some experience. You will first consider the types of land cover classes you would like to map and the amount of variability within each class. There are both supervised (using human guidance, including training data) and unsupervised (not using human guidance) classification methods. The "random forest approach" demonstrated here uses training data and is thus a supervised classification method. -There are a number of supervised classification algorithms that can be used to assign the pixels in the image to the various map classes. One way of performing a supervised classification is to utilize a machine learning (ML) algorithm. Machine learning algorithms utilize training data combined with image values to learn how to classify pixels. Using manually collected training data, these algorithms can train a classifier, and then use the relationships identified in the training process to classify the rest of the pixels in the map. The selection of image values (e.g. NDVI, elevation, etc.) used to train any statistical model should be well thought out and informed by your knowledge of the phenomenon of interest to classify your data (e.g. by forest, water, clouds, or other). +There are a number of supervised classification algorithms that can be used to assign the pixels in the image to the various map classes. One way of performing a supervised classification is to utilize a machine learning (ML) algorithm. Machine learning algorithms utilize training data combined with image values to learn how to classify pixels. Using manually collected training data, these algorithms can train a classifier, and then use the relationships identified in the training process, to classify the rest of the pixels in the map. The selection of image values (e.g. NDVI, elevation) used to train any statistical model should be thoroughly thought out and informed by your knowledge of the phenomenon of interest to classify your data (e.g. by forest, water, clouds). -In this module, we will create a land cover map using supervised classification in SEPAL. We will train a random forest machine learning algorithm to predict land cover with a user generated reference data set. This dataset is collected either in the field or manually through examination of remotely sensed data sources, such as aerial imagery. The resulting model is then applied across the landscape. You will complete an accuracy assessment of the map output in `Module 4`_. +In this module, we will create a land cover map using supervised classification in SEPAL. We will train a random forest machine learning algorithm to predict land cover with a user-generated reference data set. This dataset is collected either in the field or manually through examination of remotely sensed data sources, such as aerial imagery. The resulting model is then applied across the landscape. You will complete an accuracy assessment of the map output in `Module 4`_. -Before starting your classification, you will need to create a response design with details about each of the land covers/land uses that you want to classify (Exercise 2.1); create mosaics for your area of interest (in `Section 2.2`_ [we will use a region of Brazil]); and collect training data for the model (Exercise 2.3). Then, in Exercise 2.4, we will run the classification and examine our results. +Before starting your classification, you will need to create a response design with details about each of the land covers/land uses that you want to classify (Exercise 2.1); create mosaics for your area of interest (`Section 2.2`; we use a region of Brazil); and collect training data for the model (Exercise 2.3). Then, in Exercise 2.4, we will run the classification and examine our results. -The workflow in this module has been adapted from exercises and material developed by Dr. Pontus Olofsson, Christopher E. Holden, and Eric L. Bullock at the Boston Education in Earth Observation Data Analysis (BEEODA) in the Department of Earth & Environment at Boston University. To learn more about their materials and their work, visit their GitHub site at https://github.com/beeoda. +The workflow in this module has been adapted from exercises and material developed by Dr. Pontus Olofsson, Christopher E. Holden, and Eric L. Bullock at Boston Education in Earth Observation Data Analysis (BEEODA) in the Department of Earth & Environment at Boston University. To learn more about their materials and their work, visit their GitHub site at https://github.com/beeoda. At the end of this module, you will have a classified land use/land cover map. @@ -427,60 +437,60 @@ At the end of this module, you will have a classified land use/land cover map. Response design for classification ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Creating consistent labeling protocols is necessary for creating accurate training data and accurate sample-based estimates (see `Module 4`_). They are especially important when more than one researcher is working on a project and for reproducible data collection. Response design helps a user assign a land cover/land use class to a spatial point. The response design is part of the metadata for the assessment and should contain the information necessary to reproduce the data collection. The response design lays out an objective procedure that interpreters can follow and that reduces interpreter bias. +Creating consistent labeling protocols is necessary for creating accurate training data and accurate sample-based estimates (see `Module 4`_). They are especially important when more than one researcher is working on a project and for reproducible data collection. Response design helps a user assign a land cover/land use class to a spatial point. The response design is part of the metadata for the assessment and should contain the information necessary to reproduce the data collection, laying out an objective procedure that interpreters can follow and that reduces interpreter bias. -In this exercise, you will build a decision tree for your classification along with much of the other documentation and decision points (for more information about decision points, go to `Section 5.1`_). +In this exercise, you will build a decision tree for your classification, as well as a significant amount of the other documentation and decision points (for more information about decision points, see `Section 5.1`_). -.. note:: + **Objective**: - **Objective**: Learn how to create a classification scheme for land cover/land use classification mapping. + - Learn how to create a classification scheme for land cover/land use classification mapping. Specify the classification scheme """"""""""""""""""""""""""""""""" -“Classification scheme” is the name used to describe the land cover and land-use classes adopted. It should cover all of the possible classes that occur in the AOI. Here, you will create a classification scheme with detailed definitions of the land cover and land-use classes to share with interpreters. +“Classification scheme” is the name used to describe the land cover and land use classes adopted. It should cover all of the possible classes that occur in the AOI. Here, you will create a classification scheme with detailed definitions of the land cover and land use classes to share with interpreters. -Create a decision tree for your land cover or land-use classes. There may be one already in use by your department. The tree should capture the most important classifications for your study. Here is an example: +Create a decision tree for your land cover or land-use classes. There may be one already in use by your department. The tree should capture the most important classifications for your study (see following example). - This example includes a hierarchical component. The green and red categories have multiple sub-categories, which might be multiple types of forest, crops or urban areas. You can also have classification schemes that are all one level with no hierarchical component. -- For this exercise, we'll use a simplified land cover and land-use classification as in this graph: +- For this exercise, we'll use a simplified land cover and land use classification, as in this graph: .. graphviz:: digraph process { lc [label="Land cover", shape=box]; f [label="Forest", shape=box, style="filled" color="darkgreen"]; - nf [label="Non forest", shape=box, style="filled", color="grey"]; + nf [label="Non-forest", shape=box, style="filled", color="grey"]; lc -> f; lc -> nf; } -When creating your own decision tree, be sure to specify if your classification scheme was derived from a template, including the IPCC land-use categories, CORINE land cover (CLC), or land cover and land use, landscape (LUCAS). +When creating your own decision tree, be sure to specify if your classification scheme was derived from a template, including the IPCC land use categories, CORINE land cover (CLC), or land cover and land use, landscape (LUCAS). -- If applicable, your classification scheme should be consistent with the national land cover and land-use definitions. +- If applicable, your classification scheme should be consistent with the national land cover and land use definitions. - In cases where the classification scheme definition is different from the national definition, you will need to provide a reason. -Create a detailed definition for each land cover and land-use change class included in the classification scheme. We recommend that you include measurable thresholds. +Create a detailed definition for each land cover and land use change class included in the classification scheme. We recommend that you include measurable thresholds. Our classification will take place in an area of the Amazon rainforest undergoing deforestation in Brazil. - We'll define Forest as an area containing more than 70% of tree cover. - We'll define Non-forest as areas with less than 70% of tree cover. This will capture urban areas, water and agricultural fields. +- We'll define Non-forest as areas with less than 70% of tree cover. This will capture urban areas, water and agricultural fields. -- For creating your own classifications, here's some things to keep in mind: +- For creating your own classifications, here are some things to keep in mind: - It is important to have definitions for each of the classes. A lack of clear definitions of the land cover classes can make the quality of the resulting maps difficult to assess and challenging for others to use. The definitions you come up with now will probably be working definitions that you find you need to modify as you move through the land cover classification process. .. note:: - As you become more familiar with the landscape, data limitations, and the ability of the land cover classification methods to discriminate some classes better than others, you will undoubtedly need to update your definitions. + As you become more familiar with the landscape, data limitations and the ability of the land cover classification methods to discriminate some classes better than others, you will undoubtedly need to update your definitions. - - As you develop your definitions, you should be relating back to your applications. Make sure that your definitions meet your project objectives (e.g. if you are creating a map to be used as part of your United Nations Framework Convention on Climate Change [UNFCCC] greenhouse gas reporting documents, you will need to make sure that your definition of forest meets the needs of this application. + - As you develop your definitions, you should be relating back to your applications. Make sure that your definitions meet your project objectives. For example, if you are creating a map to be used as part of your United Nations Framework Convention on Climate Change [UNFCCC] greenhouse gas reporting documents, you will need to make sure that your definition of forest meets the needs of this application. .. note:: - The above land cover tree is an excerpt of text from the Methods and Guidance from the Global Forest Observations Initiative (GFOI) document that describes the Intergovernmental Panel on Climate Change (IPCC) 2003 Good Practice Guidance (GPG) forest definition and suggestions to consider when drafting your forest definition. When creating your own decision tree, be sure to specify if your definitions follow a specific standard (e.g. using ISO standard Land Cover Meta-Language [LCML, ISO 19144-2] or similar). + The above land cover tree is an excerpt of text from the Methods and Guidance from the Global Forest Observations Initiative (GFOI) document that describes the IPCC Good Practice Guidance (GPG) forest definition and suggestions to consider when drafting your forest definition (2003). When creating your own decision tree, be sure to specify if your definitions follow a specific standard, such as using ISO standard Land Cover Meta-Language (LCML, ISO 19144-2) or similar. - During this online training course, you will be mapping land cover across the landscape using the Landsat composite, a moderate resolution data set. You may develop definitions based on your knowledge from the field or from investigating high-resolution imagery; however, when deriving your land cover class definitions, it's also important to be aware of how the definitions relate to the data used to model the land cover. @@ -488,7 +498,7 @@ Our classification will take place in an area of the Amazon rainforest undergoin You will continue to explore this relationship throughout the exercise. Will the spectral signatures between your land cover categories differ? If the spectral signatures are not substantially different between classes, is there additional data you can use to differentiate these categories? If not, you might consider modifying your definitions. -For additional resources, go to http://www.ipcc.ch/ipccreports/tar/wg2/index.php?idp=132. +For additional resources, see http://www.ipcc.ch/ipccreports/tar/wg2/index.php?idp=132 .. _Section 2.2: @@ -517,21 +527,21 @@ Creating and exporting a mosaic for a drawn AOI We will create a mosaic for an area in the Amazon basin. If any of the steps for creating a mosaic are unfamiliar, please revisit `Module 1`_. -Navigate to the Process tab, then create a new optical mosaic by selecting Optical Mosaic on the Process menu. +Navigate to the **Process** tab, then create a new optical mosaic by selecting **Optical mosaic** on the **Process** menu. Under :code:`Area of Interest`: - Choose **Draw Polygon** from the dropdown list. .. figure:: ../_images/workflows/area_estimation/aoi_dropdown.png - :alt: Area of interest dropdown menu. + :alt: Area of interest dropdown menu :width: 450px :align: center -- Navigate using the map to the State of Rondonia in Brazil. Draw a polygon around it or draw a polygon within the borders (Note: A smaller polygon will export faster). +- Navigate using the map to the State of Rondonia in Brazil. Draw a polygon around it or draw a polygon within the borders (note: a smaller polygon will export faster). .. figure:: ../_images/workflows/area_estimation/rondonia.png - :alt: A polygon drawn around the State of Rondonia. + :alt: A polygon drawn around the State of Rondonia :align: center Now use what you have learned in `Module 1`_ to create a mosaic with imagery from the year 2019 (the entire year of a part of the year). @@ -540,26 +550,26 @@ Now use what you have learned in `Module 1`_ to create a mosaic with imagery fro Don't forget to consider which satellites and scenes you would like to include (all or some). -Your preview should include imagery data across your entire area of interest. This is important for your classification. Try also to get a cloud-free mosaic, as this makes your classification easier. +Your preview should include imagery data across your entire AOI. This is important for your classification. Try also to get a cloud-free mosaic, as this makes your classification easier. Name your mosaic for easy retrieval. Try **Module2_Amazon**. -When you're satisfied with your mosaic, **Retrieve** it to Google Earth Engine. Be sure to include the red, green, blue, nir, swir1, and swir2 layers. You may choose to add greenness, etc. layers as well. +When you're satisfied with your mosaic, retrieve it to GEE. Be sure to include the **red, green, blue, nir, swir1, and swir2** layers. You may choose to add other layers (e.g. greenness) as well. -Finding your Earth Engine Asset -""""""""""""""""""""""""""""""" +Finding your GEE asset +"""""""""""""""""""""" -For future exercises, you may need to know how to find your Earth Engine Asset. +For future exercises, you may need to know how to find your GEE asset. -1. Go to https://code.earthengine.google.com/ and sign in. +1. Go to https://code.earthengine.google.com and sign in. 2. Select the **Assets** tab in the leftmost column. 3. Under **Assets,** look for the name of the mosaic you just exported. 4. Select the mosaic name. -5. A popup window will appear with information about your mosaic. -6. Select the two overlapping box icon to copy your asset's location. +5. A pop-up window will appear with information about your mosaic. +6. Select the two overlapping boxes icon to copy your asset's location. .. figure:: ../_images/workflows/area_estimation/mosaic_information.png - :alt: Your mosaic's information pane. + :alt: Your mosaic's information pane :align: center .. _Section 2.3: @@ -569,17 +579,15 @@ Creating a classification and training data collection In this exercise, we will learn how to start a classification process and collect training data. These training data points will become the foundation of the classification in `Section 2.4`_. High-quality training data is necessary to get good land cover map results. In the most ideal situation, training data is collected in the field by visiting each of the land cover types to be mapped and collecting attributes. When field collection is not an option, the second best choice is to digitize training data from high-resolution imagery, or at the very least for the imagery to be classified. -In general, there are multiple pathways for collecting training data. To create a layer of points, using desktop GIS, including QGIS and ArcGIS, is one common approach. Using GEE is another approach. You can also use CEO to create a project of random points to identify (see detailed directions in `Section 4.1.2`_). All of these pathways will create .csv or a GEE table that you can import into SEPAL to use as your training data set. +In general, there are multiple pathways for collecting training data. To create a layer of points, using desktop GIS, including QGIS and ArcGIS, is one common approach. Using GEE is another approach. You can also use CEO to create a project of random points to identify (see detailed directions in `Section 4.1.2`_). All of these pathways will create a .csv file or a GEE table that you can import into SEPAL to use as your training data set. -However, SEPAL has a built-in reference data collection tool in the classifier. In this exercise, we will use this tool to collect training data. Even if you use a .csv or GEE table in the future, this is a helpful feature to collect additional training data points to help refine your model. +However, SEPAL has a built-in reference data collection tool in the classifier. In this exercise, we will use this tool to collect training data. Even if you use a .csv file or GEE table in the future, this is a helpful feature to collect additional training data points to help refine your model. In this assignment, you will create training data points using high-resolution imagery, including Planet NICFI data. These will be used to train the classifier in a supervised classification using SEPAL's random forests algorithm. The goal of training the classifier is to provide examples of the variety of spectral signatures associated with each class in the map. -.. note:: + **Objective**: - **Objectives**: Create training data for your classes that can be used to train a machine learning algorithm. - -.. note:: + - Create training data for your classes that can be used to train a machine learning algorithm. **Prerequisites**: @@ -590,26 +598,26 @@ In this assignment, you will create training data points using high-resolution i Set up your classification """""""""""""""""""""""""" -In the **Process** menu, choose the green plus symbol and select **Classification.** +In the **Process** menu, choose the green plus symbol and select **Classification**. Add the Amazon optical mosaic for classification: -- Select :code:`+ Add` and choose either **Saved Sepal Recipe** or **Earth Engine Asset** (recommended). +- Select :code:`+ Add` and choose either **Saved SEPAL Recipe** or **Earth Engine Asset** (recommended). - - If you choose **Saved Sepal Recipe**, simply select your `Module 2`_ Amazon recipe. + - If you choose **Saved SEPAL Recipe**, select your `Module 2`_ Amazon recipe. - If you choose **Earth Engine Asset**, enter the Earth Engine Asset ID for the mosaic. The ID should look like “users/username/Module2_Amazon”. .. tip:: - Remember that you can find the link to your Earth Engine Asset ID via Google Earth Engine's Asset tab (`section 2.2`_). + Remember that you can find the link to your Earth Engine Asset ID via GEE's **Asset** tab (`section 2.2`_). - Select bands: Blue, Green, Red, NIR, SWIR1 and SWIR2. You can add other bands as well if you included them in your mosaic. -- You can also include **Derived bands** by clicking on the green button on the lower left. +- You can also include **Derived bands** by selecting the green button in the lower left. - Select :code:`Apply`, then select :code:`Next`. .. attention:: - Selecting **Saved Sepal Recipe** may cause the following error at the final stage of your classification: + Selecting **Saved SEPAL Recipe** may cause the following error at the final stage of your classification: .. code-block:: console @@ -617,16 +625,16 @@ Add the Amazon optical mosaic for classification: This occurs because GEE gets overloaded. If you encounter this error, please retrieve your classification as described in `Section 2.2`_. -In the Legend menu, choose :code:`+ Add` This will add a place for you to write your first class label. +In the **Legend** menu, choose :code:`+ Add`, which creates a place for you to write your first class label. - You will need two legend entries. -- The first should have the number 1 and a Class label of Forest. -- The second should have the number 2 and a Class label of Non-forest. +- The first should have the number 1 and a class label of Forest. +- The second should have the number 2 and a class label of Non-forest. - Choose colors for each class as you see fit. - Select :code:`Close`. .. figure:: ../_images/workflows/area_estimation/classification_legend.png - :alt: Classification legend. + :alt: Classification legend :align: center Collect training data points @@ -642,11 +650,11 @@ In most cases, it is ideal to collect a large amount of training data points for Not all pixels in the same classes have the exact same values — there is some natural variability! Capturing this variation will strongly influence the results of your classification. -First, let's become familiar with the SEPAL Interface. In the upper-right corner of the map is a stack of three rectangles. If you hover over this icon, it says "Select layers to view." +First, let's become familiar with the SEPAL interface. In the upper-right corner of the map, there is a stack of three rectangles. If you hover over this icon, it says "Select layers to view." .. note:: - Available base layers include SEPAL (Minimal dark SEPAL default layer), Google Satellite, and Planet NICFI composites. + Available base layers include SEPAL (minimal dark SEPAL default layer), Google Satellite, and Planet NICFI composites. We will use the Planet NICFI composites for this example. The composites are available in either RGB or false color infrared (CIR). Composites are available monthly after September 2020 and for every 6 months prior from 2015. @@ -657,7 +665,7 @@ We will use the Planet NICFI composites for this example. The composites are ava You can also select "Show labels" to enable labels that can help you orient yourself in the landscape. .. figure:: ../_images/workflows/area_estimation/layer_view.png - :alt: The layers available. + :alt: The layers available :align: center Now select the point icon. When you hover over this icon, it says "Enable reference data collection." @@ -668,33 +676,33 @@ Use the scroll wheel on your mouse to zoom in on the study area. You can drag to .. tip:: - If you accidentally add a point, you can delete it by clicking on the red **Remove** button. + If you accidentally add a point, you can delete it by selecting the red **Remove** button. Now we will start collecting forest training data: - Zoom into an area that is clearly forested. When you find an area that is completely forested, click it once. - You have just placed a training data point! -- Click the **Forest** button in the training data interface to classify the point. +- Select the **Forest** button in the training data interface to classify the point. .. tip:: If you haven't classified the point yet, you can click somewhere else on the map instead of deleting the record. .. figure:: ../_images/workflows/area_estimation/collecting_forest_data.png - :alt: Collecting forest data in the SEPAL interface. + :alt: Collecting forest data in the SEPAL interface :align: center .. note:: - Ideally you should switch back to the Landsat mosaic to make sure that this forested area is not covered with a cloud. If you mistakenly classify a cloudy pixel as Forest, then the results will be impacted negatively in the event that your Landsat mosaic does have cloud-covered areas. + Ideally you should switch back to the Landsat mosaic to make sure that this forested area is not covered with a cloud. If you mistakenly classify a cloudy pixel as **Forest**, then the results will be impacted negatively in the event that your Landsat mosaic does have cloud-covered areas. - However, this interface does not allow for switching between the Base Layer imagery and your exported mosaic. If you are using another training data collection method, keep this point in mind. + However, this interface does not allow for switching between the base layer imagery and your exported mosaic. If you are using another training data collection method, keep this point in mind. If you need to modify the classification of any of your data points, you can select the point to return to the classification (or delete) options. Begin collecting the rest of the 25 **Forest** training data points throughout other parts of the study area. -- The study area contains an abundance of forested land, so it should be pretty easy to identify places that can be confidently classified as forest. If you'd like, use the charts function to ensure that there is a relatively high NDVI value for the point. +- The study area contains an abundance of forested land, so it should be pretty easy to identify places that can be confidently classified as forest. If you'd like, use the **Charts** function to ensure that there is a relatively high NDVI value for the point. - Ensure you are placing data points within the extent of the mosaic (the state of Rondonia in Brazil). Collect about 25 points for the **Forest** land cover class. @@ -706,34 +714,34 @@ Collect about 25 points for the **Forest** land cover class. After you collect your training data for **Forest**, you may see the classification preview appear. - To disable the classification preview to continue to collect training data, return to the map layer selector. -- Uncheck the "Classification" Overlay. +- Uncheck the "Classification" overlay. .. figure:: ../_images/workflows/area_estimation/classification_overlay.png - :alt: Disabling the classification overlay. + :alt: Disabling the classification overlay :width: 450 :align: center -Once you are satisfied with your forested training data points, move on to the **Non-Forest** training points. +Once you are satisfied with your forested training data points, move on to the **Non-forest** training points. - Since we are using a very basic set of land cover classes for this exercise, this should include agricultural areas, water, and buildings and roads. Therefore, it will be important that you focus on collecting a variety of points from different types of land cover throughout the study area. - **Water** is one of the easiest classes to identify and the easiest to model, due to the distinct spectral signature of water. - Look for bodies of water within Rondonia. - - Collect 10-15 data points for Water and be sure to spread them throughout Lake Mai Ndombe, the water sources feeding into it, and a couple of the bodies of water bodies (including rivers) to the eastern side of the mosaic. Be sure to put 2-3 points on rivers. + - Collect 10-15 data points for **Water** and be sure to spread them throughout Lake Mai Ndombe, the water sources feeding into it, and a couple of the bodies of water (including rivers) to the eastern side of the mosaic. Be sure to put 2-3 points on rivers. - Some wetland areas may have varying amounts of water throughout the year, so it is important to check both Planet NICFI maps for 2019 (Jun 2019 and Dec 2019). .. figure:: ../_images/workflows/area_estimation/data_points_water.png - :alt: Collecting data points in water. + :alt: Collecting data points in water :align: center -Let's now collect some building and road non-forest Training Data. +Let's now collect some building and road non-forest training data. -- There are not very many residential areas in the region. However, if you look, you can find homes with dirt roads and some airports. -- Place a point or points within these areas and classify them as Non-forest. Do your best to avoid placing the points over areas of the town with lots of trees. -- Find some roads, and place points and classify as Non-forest. These may look like areas of bare soil. Both bare soil and roads are classified as Non-forest, so place some points on both. +- There are not many residential areas in the region. However, if you look, you can find homes with dirt roads and some airports. +- Place a point or points within these areas and classify them as **Non-forest**. Do your best to avoid placing the points over areas of the town with lots of trees. +- Find some roads, and place points and classify as **Non-forest**. These may look like areas of bare soil. Both bare soil and roads are classified as **Non-forest**, so place some points on both. .. figure:: ../_images/workflows/area_estimation/data_points_residential.png - :alt: Collecting residential and other human settlement area data points. + :alt: Collecting residential and other human settlement area data points :align: center Next, place several points in grassland/pasture, shrub, and agricultural areas around the study area. @@ -746,11 +754,11 @@ Next, place several points in grassland/pasture, shrub, and agricultural areas a :align: center .. note:: - If you are using QGIS etc. to collect training data, you should also collect **Cloud** training data in the **Non-forest** class, if your Landsat has any clouds. If there are some clouds that were not removed during the Landsat mosaic creation process you will need to create training data for the clouds that remain so that the classifier knows what those pixels represent. Sometimes clouds were detected during the mosaic process and were mostly removed. However, you can see that some of the edges of those clouds remain. + If you are using QGIS (or similar) to collect training data, you should also collect **Cloud** training data in the **Non-forest** class – if your Landsat has any clouds. If there are some clouds that were not removed during the Landsat mosaic creation process you will need to create training data for the clouds that remain so that the classifier knows what those pixels represent. Sometimes clouds were detected during the mosaic process and were mostly removed. However, you can see that some of the edges of those clouds remain. Note that you may not have any clouds in your Landsat imagery. -Continue collecting Non-forest points. Again, be sure to spread the points out across the study area. +Continue collecting **Non-forest** points. Again, be sure to spread the points out across the study area. When you are done collecting data for these categories, zoom out to the full extent of the study region. @@ -764,26 +772,24 @@ Classification using machine learning algorithms (Random Forests) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. figure:: ../_images/workflows/area_estimation/random_forest_model_outcome.png - :alt: The outcome of a random forest model. + :alt: The outcome of a random forest model :align: center -As mentioned in the Module introduction, the classification algorithm you will be using today is called random forest. The random forest algorithm creates numerous decision trees for each pixel. Each of these decision trees votes on what the pixel should be classified as. The land cover class that receives the most votes is then assigned as the map class for that pixel. Random forests are efficient on large data and accurate when compared to other classification algorithms. - -To complete the classification of our mosaiced image, you are going to use a random forests classifier contained within the easy to use Classification tool in SEPAL. The image values used to train the model include the Landsat mosaic values and some derivatives, if selected (such as NDVI). There are likely additional data sets that can be used to help differentiate land cover classes, such as elevation data. +As mentioned in the module introduction, the classification algorithm you will be using today is called **Random forest**, which creates numerous decision trees for each pixel. Each of these decision trees votes on what the pixel should be classified as. The land cover class that receives the most votes is then assigned as the map class for that pixel. Random forests are efficient on large data and accurate when compared to other classification algorithms. -After we create the map, you might find that there are some areas that are not classifying well. The classification process is iterative, and there are ways you can modify the process to get better results. One way is to collect more or better reference data to train the model. You can test different classification algorithms, or explore object-based approaches opposed to pixel-based approaches. The possibilities are many and should relate back to the nature of the classes you hope to map. Last, but certainly not least, is to improve the quality of your training data. Be sure to log all of these decision points in order to recreate your analysis in the future. +To complete the classification of our mosaicked image, you are going to use a random forests classifier contained within the easy-to-use **Classification** tool in SEPAL. The image values used to train the model include the Landsat mosaic values and some derivatives, if selected (such as NDVI). There are likely additional datasets that can be used to help differentiate land cover classes such as elevation data. -.. note:: +After we create the map, you might find that there are some areas that are not classifying well. The classification process is iterative, and there are ways you can modify the process to get better results. One way is to collect more or better reference data to train the model. You can test different classification algorithms, or explore object-based approaches, opposed to pixel-based approaches. The possibilities are many and should relate back to the nature of the classes you hope to map. Last, but certainly not least, is to improve the quality of your training data. Be sure to log all of these decision points in order to recreate your analysis in the future. - **Objective**: Run SEPAL's classification tool. + **Objective**: -.. warning:: + - Run SEPAL's classification tool. **Prerequisites**: - - Land cover categories defined in `Section 2.1`_ - - Mosaic created in `Section 2.2`_ - - Training data created in `Section 2.3`_ + - land cover categories defined in `Section 2.1`_; + - mosaic created in `Section 2.2`_; and + - training data created in `Section 2.3`_. Add training data collected outside of SEPAL """""""""""""""""""""""""""""""""""""""""""" @@ -798,19 +804,19 @@ Select the green :code:`Add` button. - Import your training data - Upload a CSV file. - - Select Earth Engine Table and enter the path to your Earth Engine asset in the EE Table ID field. + - Select **Earth Engine Table** and enter the path to your Earth Engine asset in the **EE Table ID** field. - Select :code:`Next`. -- For **Location Type**, select "X/Y" coordinate columns" or "GEOJSON Column", depending on your data source. GEE assets will need the GEOJSON column option. +- For **Location Type**, select **X/Y" coordinate columns** or **GEOJSON Column**, depending on your data source. GEE assets will need the GEOJSON column option. - Select :code:`Next`. -- Leave the **Row filter expression** blank. For **Class format**, select "Single Column" or "Column per class" as your data dictates. +- Leave the **Row filter expression** blank. For **Class format**, select **Single Column** or **Column per class**, as your data dictates. - In the **Class Column** field, select the column name that is associated with the class. - Select :code:`Next`. Now you will be asked to confirm the link between the legend you entered previously and your classification. You should see a screen as follows. If you need to change anything, select the green plus buttons. Otherwise, select :code:`Done`, then select :code:`Close`. .. figure:: ../_images/workflows/area_estimation/link.png - :alt: Link between legend and classification. + :alt: Link between legend and classification :align: center Review additional classification options @@ -820,27 +826,27 @@ Select :code:`AUX` to examine the auxiliary data sources available for the class Auxiliary inputs are optional layers which can be added to help aid the classification. There are three additional sources available: -- Latitude: Includes the latitude of each pixel; -- Terrain: Includes elevation of each pixel from SRTM data; and -- Water: Includes information from the JRC Global Surface water Mapping layers +- **Latitude**: includes the latitude of each pixel; +- **Terrain**: includes elevation of each pixel from SRTM data; and +- **Water**: includes information from the JRC Global Surface Water Mapping layers Select :code:`Water` and :code:`Terrain` and then :code:`Apply`. -Select on **CLS** to examine the classifier being used. +Select **CLS** to examine the classifier being used. -- The default is a random forest with 25 trees. -- Other options include classification and regression trees (CART), Naive Bayes, support vector machine (SVM), minimum distance, and decision trees (requires a CSV file). +- The default is a **Random forest with 25 trees**. +- Other options include **classification and regression trees (CART), Naive Bayes, support vector machine (SVM), minimum distance,** and **decision trees** (requires a .csv file). - Additional parameters for each of these can be specified by selecting the **More** button in the lower left. -- For this example, we will use the default random forest with 25 trees. +- For this example, we will use the default, **Random forest with 25 trees**. If you turned off your classification preview previously to collect training data, now is the time to turn it back on. -- Select the "Select layers to show" icon. -- Select "Classification". -- Make sure Classification now has a check mark next to it, indicating that the layer is now turned on. +- Select the **Select layers to show** icon. +- Select **Classification**. +- Make sure **Classification** now has a check mark next to it, indicating that the layer is now turned on. .. figure:: ../_images/workflows/area_estimation/classification_preview.png - :alt: A preview of a classification. + :alt: A preview of a classification :align: center Now we'll save our classification output. @@ -848,18 +854,18 @@ Now we'll save our classification output. - First, rename your classification by entering a new name in the tab. - Select :code:`Retrieve classification` in the upper-right hand corner (cloud icon). - Choose **30 m** resolution. -- Select the Class, Class probability, Forest % and Non-forest % bands. -- Retrieve to your **SEPAL Workspace.** +- Select the **Class, Class probability, Forest %** and **Non-forest %** bands. +- Retrieve to your **SEPAL workspace.** .. note:: - You can also choose **Google Earth Engine Asset** if you would like to be able to share your results or perform additional analysis in GEE; however, with this option, you will need to download your map from GEE using the Export function. + You can also choose **Google Earth Engine Asset** if you would like to be able to share your results or perform additional analysis in GEE; however, with this option, you will need to download your map from GEE using the export function. - Once the download begins, you will see the spinning wheel in the lower-left of the webpage in **Tasks**. Select the spinning wheel to observe the progress of your export. -- When complete, if you chose SEPAL workspace, the file will be in your SEPAL downloads folder. (Browse > downloads > classification name folder). If you chose GEE Asset, the file will be in your GEE Assets. +- When complete, if you chose **SEPAL workspace**, the file will be in your **SEPAL downloads** folder. (Browse > downloads > classification name folder). If you chose GEE Asset, the file will be in your GEE Assets. .. figure:: ../_images/workflows/area_estimation/retrieval_interface.png - :alt: The retrieval interface. + :alt: The retrieval interface :width: 450 :align: center @@ -875,27 +881,33 @@ Following analysis, you should spend some time looking at your change detection With SEPAL, you can examine your classification and collect additional training data to improve the classification. .. figure:: ../_images/workflows/area_estimation/examine_classification_map.png - :alt: Examining your change detection map. + :alt: Examining your change detection map :align: center -Turn on the imagery for your Classification; pan and zoom around the map. Compare your Classification map to the 2015 and 2020 imagery. Where do you see areas that are correct? Where do you see areas that are incorrect? If your results make sense, and you are happy with them, great! Go on to the formal QA/QC in `Module 4`_. +Turn on the imagery for your classification; pan and zoom around the map. Compare your classification map to the 2015 and 2020 imagery. Where do you see areas that are correct? Where do you see areas that are incorrect? If your results make sense, and you are happy with them, continue to formal QA/QC in `Module 4`_. .. note:: - if you are not satisfied, collect additional points of training data where you see inaccuracies. Then, re-export the classification following the steps in `Section 2.3`_. + If you are not satisfied, collect additional points of training data where you see inaccuracies. Then, re-export the classification following the steps in `Section 2.3`_. .. _Module 3: Image change detection ---------------------- -Image change detection allows us to understand differences in the landscape as they appear in satellite images over time. There are many questions that change detection methods can help answer, including: “When did deforestation take place?” and “How much forest area has been converted to agriculture in the past 5 years?” +Image change detection allows us to understand differences in the landscape as they appear in satellite images over time. There are many questions that change detection methods can help answer, including: “When did deforestation take place?” and “How much forest area has been converted to agriculture in the past five years?” + +Most methods for change detection use algorithms supported by statistical methods to extract and compare information in the satellite images. To conduct change detection, we need multiple mosaics or images, each one representing a point in time. + +In this section of SEPAL documentation, we will describe how to detect change between two dates using a simple model (note: this theory can be expanded to include more dates as well). In addition, we'll describe time series analysis, which generally looks at longer periods of time. -Most methods for change detection use algorithms supported by statistical methods to extract and compare information in the satellite images. To conduct change detection, we need multiple mosaics or images, each one representing a point in time. In this section of SEPAL documentation, we will describe how to detect change between two dates using a simple model (Note: this theory can be expanded to include more dates as well). In addition, we'll describe time-series analysis, which generally looks at longer periods of time. +The objective of this module is to become associated with methods of detecting change for an AOI using the SEPAL platform. We will build upon and incorporate what we have covered in the previous modules, including: creating mosaics, creating training samples, and classifying imagery. -The objective of this module is to become associated with methods of detecting change for an AOI using the SEPAL platform. We will build upon and incorporate what we have covered in the previous modules, including: creating mosaics, creating training samples, and classifying imagery. This module is split into two exercises. The first addresses change detection using two dates; the second demonstrates more advanced methods using time series analysis with the BFAST algorithm and LandTrendr. At the end of this module, you will know how to conduct a two-date change detection in SEPAL, have a basic understanding of the BFAST tool in SEPAL, and be familiar with TimeSync and LandTrendr. +This module is split into two exercises: the first addresses change detection using two dates; the second demonstrates more advanced methods using time series analysis with the BFAST algorithm and LandTrendr. -This module should take you approximately 3 hours to complete. +At the end of this module, you will know how to conduct a two-date change detection in SEPAL, have a basic understanding of the BFAST tool in SEPAL, and be familiar with TimeSync and LandTrendr. + +This module should take you approximately three hours to complete. .. _Section 3.1: @@ -910,19 +922,17 @@ In this example, you will create optical mosaics and classify them, building on You may use two classifications from your own research area, if you prefer. -.. note:: - **Objectives**: - - Learn how to conduct a two-date change detection. - - Build on skills learned in `Module 1`_ and `Module 2`_. + - learn how to conduct a two-date change detection; and + - build on skills learned in `Module 1`_ and `Module 2`_. .. note:: **Prerequisites**: - - SEPAL account. - - Completion of `Module 1`_ and `Module 2`_, or familiarity with the skills covered in these modules. + - SEPAL account; and + - completion of `Module 1`_ and `Module 2`_ (familiarity with the skills covered in these modules). Create mosaics for change detection """"""""""""""""""""""""""""""""""" @@ -931,11 +941,11 @@ Before we can identify change, we first need to have images to compare. In this section, we will create two mosaics of Sri Lanka, generate training data, and then classify the mosaics. This is discussed in detail in `Module 1`_ and `Module 2`_. -Open the :code:`Process` menu and select :code:`Optical mosaic`. Alternatively, select the **green plus symbol** to open the **Create recipe** menu; then, select :code:`Optical mosaic`. +Open the :code:`Process` menu and select :code:`Optical mosaic`. Alternatively, select the green plus symbol to open the **Create recipe** menu; then, select :code:`Optical mosaic`. Use the following data: -- Choose **Sri Lanka** for the area of interest (AOI). +- Choose **Sri Lanka** for the AOI. - Select 2015 for the date (DAT). - Select Landsat 8 (L8) as the source (SRC). - In the **Composite** (CMP) menu, ensure that surface reflectance (**(SR) correction**) is selected, as well as **Median** as the compositing method. @@ -944,10 +954,10 @@ Select :code:`Retrieve mosaic`; then select **Blue, Green, Red, NIR, SWIR1, SWIR .. note:: - If you don't see the **Google Earth Engine Asset** option, you need to connect your Google account to SEPAL by selecting your username in the lower-right. + If you don't see the **Google Earth Engine Asset** option, you need to connect your Google account to SEPAL by selecting your username in the lower right. .. figure:: ../_images/workflows/area_estimation/retrieval_mosaic.png - :alt: The retrieval screen for mosaics. + :alt: The retrieval screen for mosaics :width: 450 :align: center @@ -960,21 +970,21 @@ Repeat previous steps, but change the **Date** parameter to 2020. Start the classification """""""""""""""""""""""" -Now we will begin the classification, as we did in `Module 2`_. There are multiple pathways for collecting training data. To create a layer of points, using desktop GIS, including QGIS and ArcGIS, is one common approach. Using GEE is another approach. You can also use CEO to create a project of random points to identify (see detailed directions in `Section 4.1.2`_). All of these pathways will create a CSV file or a GEE table that you can import into SEPAL to use as your training data set. +Now we will begin the classification, as we did in `Module 2`_. There are multiple pathways for collecting training data. To create a layer of points, using desktop GIS, including QGIS and ArcGIS, is one common approach. Using GEE is another approach. You can also use CEO to create a project of random points to identify (see detailed directions in `Section 4.1.2`_). All of these pathways will create a .csv file or a GEE table that you can import into SEPAL to use as your training data set. -SEPAL has a built-in reference data collection tool in the classifier. This is the tool you used in `Module 2`_, and we will again use this tool to collect training data. Even if you use a CSV file or GEE table in the future, this is a helpful feature to collect additional training data points to help refine your model. +SEPAL has a built-in reference data collection tool in the classifier. This is the tool you used in `Module 2`_, and we will again use this tool to collect training data. Even if you use a .csv file or GEE table in the future, this is a helpful feature to collect additional training data points to help refine your model. In the **Process** menu, select the green plus symbol and select :code:`Classification`. -Add the two Sri Lanka optical mosaics for classification by selecting **+ Add** and choose either **Saved Sepal Recipe** or **Earth Engine Asset** (recommended). +Add the two Sri Lanka optical mosaics for classification by selecting **+ Add** and choose either **Saved SEPAL Recipe** or **Earth Engine Asset** (recommended). -- If you choose **Saved Sepal Recipe**, simply select your `Module 2`_ Amazon recipe. +- If you choose **Saved SEPAL Recipe**, simply select your `Module 2`_ Amazon recipe. - If you choose **Earth Engine Asset**, enter the Earth Engine Asset ID for the mosaic. The ID should look like “users/username/SriLanka2015”. .. tip:: - Remember that you can find the link to your Earth Engine Asset ID via the Google Earth Engine's Asset tab (see **Exercise 2.2 Part 2**). + Remember that you can find the link to your Earth Engine Asset ID via GEE's **Asset** tab (see **Exercise 2.2 Part 2**). -Select bands: Blue, Green, Red, NIR, SWIR1, and SWIR2. You can add other bands as well, if you included them in your mosaic. You can also include **Derived bands** by selecting the green button on the lower left and selecting :code:`Apply`. +Select bands: Blue, Green, Red, NIR, SWIR1, and SWIR2. You can add other bands as well, if you included them in your mosaic. You can also include **Derived bands** by selecting the green button in the lower left and selecting :code:`Apply`. Repeat the previous steps for your 2020 optical mosaic. @@ -984,7 +994,7 @@ Repeat the previous steps for your 2020 optical mosaic. .. attention:: - Selecting **Saved Sepal Recipe** may cause the following error at the final stage of your classification: + Selecting **Saved SEPAL recipe** may cause the following error at the final stage of your classification: .. code-block:: console @@ -997,7 +1007,7 @@ Repeat the previous steps for your 2020 optical mosaic. Collect change classification training data """"""""""""""""""""""""""""""""""""""""""" -Now that we have the mosaics created, we will collect change training data. While more complex systems can be used, we will consider two land cover classes that each pixel can be in 2015 or 2020: forest and non-forest. Thinking about change detection, we will use three options: stable forest, stable non-forest, and change. That is, between 2015 and 2020, there are four pathways: a pixel can be forest in 2015 and in 2020 (stable forest); a pixel can be non-forest in 2015 and in 2020 (stable non-forest); or it can change from forest to non-forest or from non-forest to forest. If you use this manual to guide your own change classification, remember to log your decisions including how you are thinking about change detection (what classes can change and how), and the imagery and other settings used for your classification. +Now that we have the mosaics created, we will collect change training data. While more complex systems can be used, we will consider two land cover classes that each pixel can be in 2015 or 2020: **forest** and **non-forest**. Thinking about change detection, we will use three options: **stable forest, stable non-forest,** and **change**. That is, between 2015 and 2020, there are four pathways: a pixel can be forest in 2015 and in 2020 (**stable forest); a pixel can be non-forest in 2015 and in 2020 (stable non-forest); or it can change from forest to non-forest or from non-forest to forest. If you use this manual to guide your own change classification, remember to log your decisions including how you are thinking about change detection (what classes can change and how), and the imagery and other settings used for your classification. .. graphviz:: @@ -1023,30 +1033,30 @@ Now that we have the mosaics created, we will collect change training data. Whil } -In the Legend menu, select :code:`+ Add`. This will add a place for you to write your first class label. You will need three legend entries: +In the **Legend** menu, select :code:`+ Add`. This will add a place for you to write your first class label. You will need three legend entries: -- The first should have the number 1 and a Class label of Forest. -- The second should have the number 2 and a Class label of Non-forest. -- The third should have the number 3 and a Class label of Change. +- The first should have the number **1** and a class label of **Forest**. +- The second should have the number **2** and a class label of **Non-forest**. +- The third should have the number **3** and a class label of **Change**. Choose colors for each class as you see fit and select :code:`Close`. .. figure:: ../_images/workflows/area_estimation/3_classes.png - :alt: Classification legend. + :alt: Classification legend :align: center -Now, we'll create training data. First, let's pull up the correct imagery. Choose "Select layers to view". As a reminder, available base layers include: +Now, we'll create training data. First, let's pull up the correct imagery. Choose **Select layers to view**. As a reminder, available base layers include: - SEPAL (Minimal dark SEPAL default layer) - Google Satellite - Planet NICFI composites -We will use the Planet NICFI composites for this example. The composites are available in either RGB or false color infrared (CIR). Composites are available monthly after September 2020 and for every 6 months prior through 2015. Select Dec 2015 (6 months). Both RGB and CIR will be useful, so choose whichever you prefer. You can also select "Show labels" to enable labels that can help you orient yourself in the landscape. You will need to switch between this **Dec 2015** data and the **Dec 2020** data to find stable areas and changed areas. +We will use the Planet NICFI composites for this example. The composites are available in either RGB or false color infrared (CIR). Composites are available monthly after September 2020 and for every six months prior through 2015. Select **Dec 2015** (six months). Both RGB and CIR will be useful, so choose whichever you prefer. You can also select **Show labels** to enable labels that can help you orient yourself in the landscape. You will need to switch between this **Dec 2015** data and the **Dec 2020** data to find stable areas and changed areas. .. note:: - If you have collected data in QGIS, CEO, or another program, you can skip the following steps. Simply select **TRN** in the lower right. Select **+ Add** then upload your data to SEPAL. Finally select the **CLS** button in the lower right and you can skip to `Section 3.1.4`_ + If you have collected data in QGIS, CEO or another program, you can skip the following steps. Simply select **TRN** in the lower right. Select **+ Add**, then upload your data to SEPAL. Finally, select the **CLS** button in the lower right and you can skip to `Section 3.1.4`_ -Now select the point icon. When you hover over this icon, it says "Enable reference data collection". +Now select the point icon. When you hover over this icon, it says **Enable reference data collection**. With reference data collection enabled, you can start adding points to your map. @@ -1056,37 +1066,36 @@ Use the scroll wheel on your mouse to zoom in on the study area. You can drag to If you accidentally add a point, you can delete it by selecting the red :code:`Remove` button. -Collect training data for the "Stable Forest" class. Place points where there is forest in both 2015 and 2020 imagery. Then collect training data for the "Stable Non-forest" class. Place points where there is not forest in either 2015 or 2020. You should include water, built-up areas, bare dirt, and agricultural areas in your points. Finally collect training data for the "Change" class. +Collect training data for the **Stable forest** class. Place points where there is forest in both 2015 and 2020 imagery. Then collect training data for the **Stable Non-forest** class. Place points where there is not forest in either 2015 or 2020. You should include water, built-up areas, bare dirt, and agricultural areas in your points. Finally collect training data for the **Change** class. .. tip:: If you are having a hard time finding areas of change, several tools can help you: - - You can use the Google satellite imagery to help. Areas of forest loss often appear as black or dark purple patches on the landscape. Be sure to always check the 2015 and 2020 Planet imagery to verify Change. + - You can use Google satellite imagery to help. Areas of forest loss often appear as black or dark purple patches on the landscape. Be sure to always check the 2015 and 2020 Planet imagery to verify Change. - The CIR (false color infrared) imagery from Planet can also be helpful in identifying areas of change. - - You can also use SEPAL's on the fly classification to help after collecting a few Change points. - - If the classification does not appear after collecting the Stable Forest and Stable Non-forest classes, click on the "Select layers to view" icon. - - Toggle the "Classification" option off, and then on again. - - You may need to select "CLS" on the lower right of the screen, then select "Close" to get the classification map to appear. - - With the Classification map created, you can find change pixels and confirm whether they are change or not by comparing 2015 and 2020 imagery. + - You can also use SEPAL's on-the-fly classification to help after collecting a few **Change** points. + - If the classification does not appear after collecting the **Stable forest** and **Stable non-forest** classes, select the "Select layers to view" icon. + - Toggle the **Classification** option off, and then on again. + - You may need to select **CLS** on the lower right of the screen, then select **Close** to get the classification map to appear. + - With the classification map created, you can find change pixels and confirm whether they are change or not by comparing 2015 and 2020 imagery. -One trick for determining change is to place a "Change" point in an area of suspected change. Then you can compare 2015 and 2020 imagery without losing the place you were looking at. If it is not Change, you can switch which classification you have identified the point as. +One trick for determining change is to place a **Change** point in an area of suspected change. Then you can compare 2015 and 2020 imagery without losing the place you were looking at. If it is not change, you can switch which classification you have identified the point as. .. figure:: ../_images/workflows/area_estimation/finding_change.png - :alt: Using Google imagery to examine areas for change. + :alt: Using Google imagery to examine areas for change :align: center -Continue collecting points until you have approximately 25 points for Forest and Non-forest classes and about 5 points for the Change class. More is better. Try to have your points spread out across Sri Lanka. +Continue collecting points until you have approximately 25 points for **Forest** and **Non-forest** classes and about 5 points for the **Change** class. More is better. Try to have your points spread out across Sri Lanka. -If you need to modify classification of any of your data points, you can select the point to return to the classification options. You can also remove the point in this way. +If you need to modify the classification of any of your data points, you can select the point to return to the classification options. You can also remove the point in this way. When you are happy with your data points, select the :code:`AUX` button in the lower right. Select **Terrain** and **Water**. This will add auxiliary data to the classification. -Finally select the :code:`CLS` button in the bottom right. You can change your classification type to see how the output changes. -8. If it has not already, SEPAL will now load a preview of your classification. +Finally select the :code:`CLS` button in the lower right. You can change your classification type to see how the output changes. If it has not already, SEPAL will now load a preview of your classification. .. figure:: ../_images/workflows/area_estimation/change_detection_model_preview.png - :alt: A preview of the change detection model output. + :alt: A preview of the change detection model output :width: 450 :align: center @@ -1096,38 +1105,41 @@ Finally select the :code:`CLS` button in the bottom right. You can change your c .. _Section 3.1.4: -Two date classification retrieval +Two-date classification retrieval """"""""""""""""""""""""""""""""" Now that the hard work of setting up the mosaics and creating and adding the training data is complete, all that is left to do is retrieve the classification. -To retrieve your classification, click the cloud icon in the upper right to open the **Retrieve** pane. +To retrieve your classification, select the cloud icon in the upper right to open the **Retrieve** pane. - Select **Google Earth Engine Asset** if you would like to share your map or if you would like to use it for further analysis. -- Select **SEPAL Workspace** if you would like to use the map internally only. +- Select **SEPAL workspace** if you would like to use the map internally only. + +Then, use the following parameters: -Then use the following parameters: - **Resolution**: 30 m resolution -- **Selected bands**: the Class, Class probability, Forest % and Non-forest % bands. +- **Selected bands**: the **Class, Class probability, Forest %** and **Non-forest %** bands. -Finally click :code:`Retrieve`. +Finally, select :code:`Retrieve`. Quality assurance and quality control """"""""""""""""""""""""""""""""""""" Quality assurance and quality control (QA/QC) is a critical part of any analysis. There are two approaches to QA/QC: formal and informal. Formal QA/QC, specifically sample-based estimates of error and area are described in `Module 4`_. Informal QA/QC involves qualitative approaches to identifying problems with your analysis and classifications to iterate and create improved classifications. Here we'll discuss one approach to informal QA/QC. -Following analysis you should spend some time looking at your change detection in order to understand if the results make sense. This allows us to visualize the data and collect additional training points if we find areas of poor classification. Other approaches not covered here include visualizing the data in GEE or in another program, such as QGIS or ArcMAP. +Following analysis, you should spend some time looking at your change detection in order to understand if the results make sense. This allows us to visualize the data and collect additional training points if we find areas of poor classification. Other approaches not covered here include visualizing the data in GEE or in another program, such as QGIS or ArcMAP. With SEPAL, you can examine your classification and collect additional training data to improve the classification. .. figure:: ../_images/workflows/area_estimation/examine_change_detection_map.png - :alt: Examining your change detection map. + :alt: Examining your change detection map :align: center -Turn on the imagery for your Classification and pan and zoom around the map. -Compare your Classification map to the 2015 and 2020 imagery. Where do you see areas that are correct? Where do you see areas that are incorrect? -If your results make sense, and you are happy with them, great! Go on to the formal QA/QC in `Module 4`_. +Turn on the imagery for your classification; pan and zoom around the map. + +Compare your classification map to the 2015 and 2020 imagery. Where do you see areas that are correct? Where do you see areas that are incorrect? + +If your results make sense and you are happy with them, continue to formal QA/QC in `Module 4`_. .. note:: @@ -1136,96 +1148,92 @@ If your results make sense, and you are happy with them, great! Go on to the for Deforest tool ^^^^^^^^^^^^^ -The DEnse FOREst Time Series (deforest) tool is a method for detecting changes in forest cover in a time series of Earth observation data. As input, it takes a time series of forest probability measurements, producing a map of deforestation and an "early warning" map of unconfirmed changes. The method is based on the "Baysian time series" approach of `Reiche et al. (2018) `_. +The **DEnse FOREst Time Series (deforest)** tool is a method for detecting changes in forest cover in a time series of Earth observation data. As input, it takes a time series of forest probability measurements, producing a map of deforestation and an "early warning" map of unconfirmed changes. The method is based on the "Baysian time series" approach of `Reiche et al. (2018) `_. -The tool was designed as part of the Satellite Monitoring for Forest Management (SMFM) project. The SMFM project (2017 - 2020) aimed to address global challenges relating to the monitoring of tropical dry forest ecosystems, and was conducted in partnership with teams in Mozambique, Namibia and Zambia. For more information, see https://www.smfm-project.com/. +The tool was designed as part of the Satellite Monitoring for Forest Management (SMFM) project, which aimed to address global challenges relating to the monitoring of tropical dry forest ecosystems. It was conducted in partnership with teams in Mozambique, Namibia and Zambia (for more information, see https://www.smfm-project.com). -Full documentation is hosted at http://deforest.rtfd.io/. - -This module should take you approximately 1-2 hours to complete. +Full documentation is hosted at http://deforest.rtfd.io +This module should take you approximately one to two hours to complete. Data preparation """""""""""""""" -For this exercise, we will be using the sample data that is included with the tool. Additionally, instructions are given on how to create a time serries of forest probability using tools with the SEPAL platform. +For this exercise, we will be using the sample data that is included with the tool. Additionally, instructions are given on how to create a time series of forest probability using tools with the SEPAL platform. .. csv-table:: :header: "Objectives","Prerequisites" :widths: 20, 20 "Learn how to use the SMFM Deforest tool", "SEPAL account" - "","Completed SEPAL modules on mosaics, classification, & time series" + "","Completed SEPAL modules on mosaics, classification and time series" Jupyter notebook basics (optional) """""""""""""""""""""""""""""""""" -If you are unfamiliar with Jupyter notebooks, this section is meant to get you acquainted enough with the system to successfully run the SMFM Deforest tool. A notebook is significantly different than most SEPAL applications, but they are a powerful tool used in data science and other disciplines. +If you are unfamiliar with Jupyter notebooks, this section is meant to get you acquainted enough with the system to successfully run the **SMFM** Deforest tool. A notebook is significantly different than most SEPAL applications, but they are a powerful tool used in data science and other disciplines. 1. Cells - Every notebook is broken into *cells*. Cells can come in a few formats, but typically they will be either **markdown** or **code**. Markdown cells are the descriptive text and images that accompany the coded to help a user understand the context and what the code is doing. Conversely, code cells run code or a system operation. There are many different languages which can be used in a Jupyter notebook. For this tool we will be using Python. - + Every notebook is broken into *cells*. Cells can come in a few formats, but typically they will be either *markdown* or *code*. Markdown cells are the descriptive text and images that accompany the code to help a user understand the context and what the code is doing. Conversely, code cells run code or a system operation. There are many different languages which can be used in a Jupyter notebook. For this tool, we will be using Python. .. figure:: ../_images/workflows/area_estimation/smfm_notebook_cell.png :alt: Example of a Jupyter Notebook cell. :width: 450 :align: center - - 2. Running cells - To run a cell, select the cell, then locate and select the *Run* button in the upper menu. You can run a cell more quickly using the keyboard shortcut **shift-enter**. + To run a cell, select the cell, then locate and select the **Run** button in the upper menu. You can run a cell more quickly using the keyboard shortcut **shift-enter**. .. figure:: ../_images/workflows/area_estimation/smfm_notebook_run.png - :alt: Example running a Jupyter Notebook cell. + :alt: Example running a Jupyter Notebook cell :width: 450 :align: center 3. Kernel - The kernel is the computation engine that executes the code in the jupyter notebook. In this case it is a python 3 kernel. For this tutorial, you do not need to know much about this, but if notebook freezes or you need to reset for any reason, you can find kernel operations in the toolbar menu. + The kernel is the computation engine that executes the code in the Jupyter notebook. In this case, it is a Python 3 kernel. For this tutorial, you do not need to know much about this, but if the notebook freezes or you need to reset it for any reason, you can find kernel operations in the toolbar menu. Restarting the kernel: - a. Go to the toolbar at the top of the notebook and select *Kernel*. - b. From the dropdown menu, select *restart Kernel and Clear Outputs* + + a. Go to the toolbar at the top of the notebook and select **Kernel**. + b. From the dropdown menu, select **Restart Kernel and clear outputs**. .. figure:: ../_images/workflows/area_estimation/smfm_notebook_kernel.png :alt: Example restarting Jupyter Notebook kernel. :width: 450 :align: center - Preparing your data """"""""""""""""""" For this exercise, we will be using the sample data that is included with the tool. Additionally, instructions are given on how to create a time series of forest probability using tools with the SEPAL platform. .. attention:: - SMFM Deforest is still in the process of being adapted for use on SEPAL. The forest probability time series will be derived from existing methods to produce a satellite time series implemented on SEPAL. + **SMFM Deforest** is still in the process of being adapted for use on SEPAL. The forest probability time series will be derived from existing methods to produce a satellite time series implemented on SEPAL. -This tutorial will use the demo data that is packaged with the SMFM Deforest tool, but steps are presented on how to use the current SEPAL implementation with the tool. Note that the data preparation steps in SEPAL can take many hours to complete. If you are unfamiliar with any of the preparations steps, please consult the relevant modules. +This tutorial will use the demo data that is packaged with the **SMFM Deforest** tool, but steps are presented on how to use the current SEPAL implementation with the tool. Note that the data preparation steps in SEPAL can take many hours to complete. If you are unfamiliar with any of the preparations steps, please consult the relevant modules. If you already have a time series of percent forest coverage, feel free to use that. A. Download demo data. - 1. Go to your SEPAL **Terminal**. + 1. Go to the SEPAL **Terminal**. 2. Start a new instance or join your current instance. - 3. Clone the deforest Github repository to your SEPAL account using the following command. + 3. Clone the **deforest** GitHub repository to your SEPAL account using the following command. ``` git clone https://github.com/smfm-project/deforest ``` -B. Use SEPAL workflow to generate time series of forest probability images. +B. Use the SEPAL workflow to generate time series of forest probability images. - 1. Create an optical mosaic for your area of interest using the Process tab Optical Mosaic process. If this is unfamiliar to you, please see the tutorials here on OpenMRV under process "Mosaic generation with SEPAL". + 1. Create an optical mosaic for your AOI using the **Process** tab and selecting **Optical mosaic**. If this is unfamiliar to you, please see the tutorials on OpenMRV under the process, "Mosaic generation with SEPAL". 2. Save the mosaic as a recipe. - 3. Open a new classification and point to the optical mosaic recipe as the image to classify. Use the Process tab Classification process. If this is unfamiliar to you, please see the tutorials here on OpenMRV under process "Classification". + 3. Open a new classification and point to the **Optical mosaic** recipe as the image to classify. Use the **Process** tab and select the **Classification** process. If this is unfamiliar to you, please see the tutorials on OpenMRV under the process, "Classification". 1. Select the bands you want to include in the classification. 2. Add forest/non-forest training data. @@ -1237,7 +1245,7 @@ B. Use SEPAL workflow to generate time series of forest probability images. 4. Select the **%forest output**. 5. Save the classification as a recipe. - 1. Open a new time-series. + 1. Open a new time series. 1. Select the same AOI as your mosaic. 2. Choose a date range for the time series. @@ -1253,46 +1261,47 @@ Setup Go to the **Apps** menu by selecting the wrench icon and typing "SMFM" into the search field. Select "SMFM Deforest". .. note:: - Sometimes the tool takes a few minutes to load. Wait until you see the tool's interface. In case the tool fails to load properly, please close the tab and repeat the steps above. If this does not work, reload SEPAL. + Sometimes the tool takes a few minutes to load. Wait until you see the tool's interface. In case the tool fails to load properly, close the tab and repeat the steps above. If this does not work, reload SEPAL. 1. Click and run the first cell under the **Setup** header. This cell runs two commands: the first installs the deforest Python module and the second runs the **--help** switch to display some documentation on running the tool. - 1. If the help text is output beneath the cell, move onto the 3rd step. If there is an error, continue to step 2. The error message might say: + 1. If the help text is output beneath the cell, move onto Step 3. If there is an error, continue to Step 2. The error message might say: ``` python3: can't open file '/home/username/deforest/sepal/change.py': [Errno 2] No such file or directory ``` .. figure:: ../_images/workflows/area_estimation/smfm_notebook_1_setup.png - :alt: Successful setup. + :alt: Successful setup :width: 450 :align: center Successful setup. -2. Install the package via the SEPAL Terminal. +2. Install the package via the SEPAL **Terminal**. 1. Go to your SEPAL **Terminal**. - 2. Type *1* to access the terminal of Session #1. You can think of a session as an instance of a virtual machine that is connected to your SEPAL account. - 3. Clone the Deforest github repository to your SEPAL account. + 2. Enter **1** to access the terminal of Session 1. You can think of a session as an instance of a virtual machine that is connected to your SEPAL account. + 3. Clone the **Deforest** GitHub repository to your SEPAL account. .. code-block:: console git clone https://github.com/smfm-project/deforest - 4. Return to the SMFM notebook and repeat step 1. + 4. Return to the **SMFM notebook** and repeat Step 1. .. figure:: ../_images/workflows/area_estimation/smfm_clone_deforest.png - :alt: Cloning a repository via the SEPAL terminal. + :alt: Cloning a repository via the SEPAL terminal :width: 450 :align: center -3. Once you have successfully set up the tool, take a moment to read through the help document of the Deforest tool that is output below the Jupyter notebook cell you just ran. In the next part, we will explain in more detail some of the parameters. +3. Once you have successfully set up the tool, take a moment to read through the help document of the **Deforest** tool that is output below the Jupyter notebook cell you just ran. In the next part, we will explain in more detail some of the parameters. Process the time series """"""""""""""""""""""" -Processing the time series imagery can be done with a single line of code using the Deforest change.py command line interface. +Processing the time series imagery can be done with a single line of code using the **Deforest change.py** command line interface. 1. To use the demo imagery, you do not need to change any of the inputs. However, if you are using a custom time series you will need to make some modifications. To change the command to point to a custom time series of percent forest images you will need to update the path to your time series. + Original:: !python3 ~/deforest/sepal/change.py ~/deforest/sepal/example_data/Time_series_2021-03-24_10-53-03/0/ -o ~/ -n sampleOutput -d 12-01 04-30 -t 0.999 -s 6000 -v @@ -1311,11 +1320,11 @@ Example path to time series updated:: :header: "Name","Switch","Description" :widths: 10, 10, 20 - "Output location","-o","output location where images will be saved on SEPAL account" + "Output location","-o","output location where images will be saved to SEPAL account" "Output name","-n","Output file name prefix" - "Date range","-d","A date range filter. Dates need to be formatted as '-d MM-DD MM-DD' " + "Date range","-d","A date-range filter. Dates need to be formatted as '-d MM-DD MM-DD' " "Threshold","-t","Set a threshold probability to identify deforestation (between 0 and 1). High thresholds are more strict in the identification of deforestation. Defaults to 0.99." - "Scale","-s","Scale inputs by a factor of 6000. In a full-scale run, this should be set to 10000, here it's used to correct an inadequate classification." + "Scale","-s","Scale inputs by a factor of 6000. In a full-scale run, this should be set to 10000; here it's used to correct an inadequate classification." "Verbose","-v","Prints information to the console as the tool is run." If you would like to use a time frame other than the example, update the **date range** switch. @@ -1325,57 +1334,57 @@ If you would like to use a time frame other than the example, update the **date 1. By default, the tool is set to use verbose (-v) output. With this option, as each image is processed, a message will be printed to inform us of the progress. This cell runs two commands: - a. The first line is running the SMFM Deforest change detection algorithm (change.py). - b. After processing the images we print them out to ensure the program runs successfully. + a. The first line is running the **SMFM Deforest change detection** algorithm (change.py). + b. After processing the images, we print them out to ensure the program runs successfully. .. note:: The exclamation mark (**!**) is used to run commands using the underlying operating system. When we run *!ls* in the notebook, it is the same as running *ls* in the terminal. - The output deforestation image will be saved to the home directory of SEPAL account(home/username) by default. If you want to save your images in a different location it can be changed by adding the new path after the **-o** switch. + The output deforestation image will be saved to the home directory of SEPAL account (home/username) by default. If you want to save your images in a different location it can be changed by adding the new path after the **-o** switch. 2. Download outputs to local computer (optional). - 1. Navigate to the *Files* section of your SEPAL account. - 2. Locate the output image to download and click to select it. In this case, the image is named *sampleOutput_confirmed*. - 3. Click the download icon. + 1. Navigate to the **Files** section of your SEPAL account. + 2. Locate the output image to download and click to select it. In this case, the image is named **sampleOutput_confirmed**. + 3. Select the download icon. Data visualization """""""""""""""""" -Now that we have run the deforestation processing chain, we can visualize our output maps. The outputs of the SMFM tool are two images: **confirmed** and **warning**. We will look at the confirmed image first. +Now that we have run the deforestation processing chain, we can visualize our output maps. The outputs of the **SMFM tool** are two images: **Confirmed** and **Warning**. We will look at the confirmed image first. 1. Run the first **Data visualization** cell of the Jupyter notebook. - a. If you changed the name of your output file be sure to update the path on line 8 for the variable *confirmed*. + a. If you changed the name of your output file, be sure to update the path on Line 8 for the variable **confirmed**. .. figure:: ../_images/workflows/area_estimation/smfm_confirmations.png - :alt: Example of a Jupyter Notebook cell. + :alt: Example of a Jupyter Notebook cell :width: 450 :align: center - The confirmed image shows the years of change that have been detected in the time series. Stable forest is colored green, non forest is colored yellow, and the change years colored by a blue gradient. + The confirmed image shows the years of change that have been detected in the time series. Stable forest is colored green, non-forest is colored yellow, and the change years colored by a blue gradient. - It is recommended that the user discards the first 2-3 years of change, or uses a very high quality forest baseline map to mask out locations that weren't forest at the start of the time series. This is needed since our input imagery is a forest probability time series which initially considers the landscape as forest. + It is recommended that the user discards the first two to three years of change, or uses a very high-quality forest baseline map to mask out locations that weren't forest at the start of the time series. This is needed since our input imagery is a forest probability time series which initially considers the landscape as forest. Next, we will check out the deforest warning output. -1. Run the second **Data visualization** cell +1. Run the second **Data visualization** cell. .. figure:: ../_images/workflows/area_estimation/smfm_warnings.png - :alt: Example of a Jupyter Notebook cell. + :alt: Example of a Jupyter Notebook cell :width: 450 :align: center This image shows the combined probability of non-forest existing at the end of our time series in locations that have not yet been flagged as deforested. This can be used to provide information on locations that have not yet reached the threshold for confirmed changes, but are looking likely to be possible. - You can view a demonstration of the above steps on `YouTube `_. + You can view a demonstration of the above steps in `this video `_. -Additional Resources +Additional resources """""""""""""""""""" -- Source code: The source code of the Deforest tool and Jupyter notebook can be found in the `GitHub repository `_. -- Bug report: in case you notice a bug or have issues using the tool, you can report an issue using the `Issues section `_ of the Github repository. This will take you to an issue creation page on the GitHub repository of the tool. +- Source code: The source code of the **Deforest** tool and Jupyter notebook can be found in the `GitHub repository `_. +- Bug report: in case you notice a bug or have issues using the tool, you can report an issue using the `Issues section of the Github repository `_. Other approaches to time series analysis ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1384,14 +1393,10 @@ In this exercise, you will learn more about time series analysis. SEPAL has the TimeSync integration is coming to CEO in 2021. -.. note:: - **Objectives**: - - Learn the basics of BFAST explorer in SEPAL. - - Learn about time series analysis options outside of SEPAL. - -.. note:: + - learn the basics of BFAST explorer in SEPAL; and + - learn about time series analysis options outside of SEPAL. **Prerequisite**: @@ -1400,45 +1405,46 @@ TimeSync integration is coming to CEO in 2021. BFAST Explorer """""""""""""" -Breaks For Additive Seasonal and Trend (BFAST) is a change detection algorithm for time series which detects and characterizes changes. BFAST integrates the decomposition of time series into trend, seasonal, and remainder components with methods for detecting change within time series. BFAST iteratively estimates the time and number of changes, and characterizes change by its magnitude and direction (Verbesselt et al. 2009). +Breaks For Additive Seasonal and Trend (BFAST) is a change detection algorithm for time series which detects and characterizes changes. BFAST integrates the decomposition of time series into trend, seasonal, and remainder components with methods for detecting change within time series. BFAST iteratively estimates the time and number of changes, and characterizes change by its magnitude and direction (Verbesselt *et al.*, 2009). -BFAST Explorer is a Shiny app, developed using R and Python, designed for the analysis of Landsat Surface Reflectance time series pixel data. Three change detection algorithms - bfastmonitor, bfast01 and bfast - are used in order to investigate temporal changes in trend and seasonal components via breakpoint detection. If you encounter any bugs, please send a message to :email:`almeida.xan@gmail.com`, or create an issue on the GitHub page. +BFAST Explorer is a Shiny app, developed using R and Python, designed for the analysis of Landsat surface reflectance (SR) time series pixel data. Three change detection algorithms - bfastmonitor, bfast01 and bfast - are used in order to investigate temporal changes in trend and seasonal components via breakpoint detection. -More information can be found online at http://bfast.r-forge.r-project.org/. +More information can be found online at http://bfast.r-forge.r-project.org. If you encounter any bugs, please send a message to :email:`almeida.xan@gmail.com` or create an issue on the GitHub page. -Go to the **Apps** menu by clicking on the wrench icon; enter “BFAST” into the search field and select BFAST Explorer. +Go to the **Apps** menu by selecting the wrench icon. Then, enter “BFAST” into the search field and select **BFAST Explorer**. -Find a location on the map that you would like to run BFAST on. Select a location to drop a marker, and then click the marker to select it. Select **Landsat 8 SR** from the select satellite products dropdown. Select :code:`Get Data` (Note: It may take a moment to download all the data for the point). +Find a location on the map that you would like to run BFAST on. Select a location to drop a marker, and then click the marker to select it. Select **Landsat 8 SR** from the **Select satellite products** dropdown menu. Select :code:`Get Data` (note: it may take a moment to download all of the data for the point). .. figure:: ../_images/workflows/area_estimation/BFAST_explorer.png - :alt: The BFAST Explorer interface. + :alt: The BFAST Explorer interface :align: center -Select the :code:`Analysis` button at the top next to the :code:`Map` button. +Select the :code:`Analysis` button (at the top next to the :code:`Map` button). -- **Satellite product**: Add your satellite data by selecting them from the Satellite products dropdown menu. -- **Data**: The data to apply the BFAST algorithm to and plot. There are options for each band available as well as indices, such as NDVI, EVI, and NDMI. Here select **ndvi.** +- **Satellite product**: Add your satellite data by selecting them from the **Satellite products** dropdown menu. +- **Data**: The data to apply the BFAST algorithm to and plot. There are options for each band available as well as indices, such as **NDVI, EVI,** and **NDMI**. Select **ndvi.** - **Change detection algorithm**: Holds three options of BFAST to calculate for the data series. - **Bfastmonitor**: Monitoring the first break at the end of the time series. - **Bfast01**: Checking for one major break in the time series. - - **Bfast**: Time series decomposition and multiple breakpoint detection in tend and seasonal components. + - **Bfast**: Time series decomposition and multiple breakpoint detection in trend and seasonal components. -Each BFSAT algorithm methodology has characteristics which affect when and why you may choose one over the other. For instance, if the goal of an analysis is to monitor when the last time change occurred in a forest, then “Bfastmonitor” would be an appropriate choice. Bfast01 may be a good selection when trying to identify if a large disturbance event has occurred, and the full Bfast algorithm may be a good choice if there are multiple times in the time series when change has occurred. +Each BFAST algorithm methodology has characteristics which affect when and why you may choose one over the other. For instance, if the goal of an analysis is to monitor when the last time change occurred in a forest, then **Bfastmonitor** would be an appropriate choice. **Bfast01** may be a good selection when trying to identify if a large disturbance event has occurred, and the full **Bfast** algorithm may be a good choice if there are multiple times in the time series when change has occurred. Select **bfastmonitor** as the algorithm. .. figure:: ../_images/workflows/area_estimation/BFAST_explorer_interface.png - :alt: The BFAST Explorer interface. + :alt: The BFAST Explorer interface :align: center -You can explore different bands (including spectral bands e.g. b1) along with the different algorithms. +You can explore different bands, such as spectral bands like b1, along with the different algorithms. .. figure:: ../_images/workflows/area_estimation/BFAST_visualization.png :align: center -You can also download all the time series data by clicking the blue :code:`Data` button. All the data will be downloaded as a CSV file, ordered by the acquisition date. -You can also download the time series plot as an image, by pressing the blue :code:`Plot` button. A window will appear offering some raster (.JPEG, .PNG) and a vectorial (.SVG) image output formats. +You can download all the time series data by selecting the blue :code:`Data` button. All the data will be downloaded as a .csv file, ordered by the acquisition date. + +You can also download the time series plot as an image by selecting the blue :code:`Plot` button. A window will appear offering some raster (.jpeg, .png) and a vectorial (.svg) image output formats. .. note:: @@ -1447,33 +1453,31 @@ You can also download the time series plot as an image, by pressing the blue :co TimeSync and LandTrendr """"""""""""""""""""""" -Here we will briefly review TimeSync and LandTrendr, two options available outside of SEPAL that may be useful to you in the future. It is outside of the scope of this manual to cover them in detail but if you're interested in learning more we've provided links to additional resources. +Here we will briefly review TimeSync and LandTrendr, two options available outside of SEPAL that may be useful to you in the future. It is outside of the scope of this manual to cover them in detail, but if you're interested in learning more we've provided links to additional resources. TimeSync ++++++++ -TimeSync was created by Oregon State University, Pacific Northwest Research Station, the Forest Service Department of Agriculture, and the USFS Remote Sensing Applications Center. - -From the TimeSync User manual for version 3: +TimeSync was created by Oregon State University, Pacific Northwest Research Station, the Forest Service Department of Agriculture, and the USFS Remote Sensing Applications Center. From the TimeSync User manual for Version 3: "TimeSync is an application that allows researchers and managers to characterize and quantify disturbance and landscape change by facilitating plot-level interpretation of Landsat time series stacks of imagery (a plot is commonly one Landsat pixel). TimeSync was created in response to research and management needs for time series visualization tools, fueled by rapid global change affecting ecosystems, major advances in remote sensing technologies and theory, and increased availability and use of remotely sensed imagery and data products..." TimeSync is a Landsat time series visualization tool (both as a web application and for desktops) that can be used to: -- Characterize the quality of land cover map products derived from Landsat time series. -- Derive independent plot-based estimates of change, including viewing change over time and estimating rates of change. -- Validate change maps. -- Explore the value of Landsat time series for understanding and visualizing change on the earth's surface. +- characterize the quality of land cover map products derived from Landsat time series; +- derive independent plot-based estimates of change, including viewing change over time and estimating rates of change; +- validate change maps; and +- explore the value of Landsat time series for understanding and visualizing change on the Earth's surface. TimeSync is a tool that researchers and managers can use to validate remotely sensed change data products and generate independent estimates of change and disturbance rates from remotely sensed imagery. TimeSync requires basic visual interpretation skills, such as aerial photo interpretation and Landsat satellite image interpretation.” -From TimeSync's Introduction materials, here is an example output: +Here is an example output from TimeSync's introduction materials: .. figure:: ../_images/workflows/area_estimation/TimeSync_example.png - :alt: An example from TimeSync. + :alt: An example from TimeSync :align: center -For more information on TimeSync, including an online tutorial (for version 2 of TimeSync), go to: https://www.timesync.forestry.oregonstate.edu/tutorial.html. You can register for an account and work through an online tutorial with examples and watch a recorded TimeSync training session. You can also find the manual for version 3 of TimeSync here: http://timesync.forestry.oregonstate.edu/training/TimeSync_V3_UserManual_doc.pdf, and an introductory presentation here: https://timesync.forestry.oregonstate.edu/training/TimeSync_V3_UserManual_presentation.pdf. +For more information on TimeSync, including an online tutorial (for Version 2), see https://www.timesync.forestry.oregonstate.edu/tutorial.html. You can register for an account and work through an online tutorial with examples and watch a recorded TimeSync training session. You can also find the manual for Version 3 at http://timesync.forestry.oregonstate.edu/training/TimeSync_V3_UserManual_doc.pdf, and an introductory presentation here: https://timesync.forestry.oregonstate.edu/training/TimeSync_V3_UserManual_presentation.pdf. LandTrendr ++++++++++ @@ -1495,7 +1499,7 @@ From LandTrendr's documentation, here's an example output in the GUI. However, L Sample-based estimation of area and accuracy -------------------------------------------- -Once you have either a land use/land cover (LULC) map (`Module 2`_) or a change detection map (`Module 3`_), the next step is to estimate the area within each LULC type or change type and the error associated with your map (the current Module). All maps have errors (e.g. model output errors from pixels mixing or input data noise). Our objective is to create unbiased estimates of the area for each mapped category. +Once you have either a land use/land cover (LULC) map (`Module 2`_) or a change detection map (`Module 3`_), the next step is to estimate the area within each LULC type or change type and the error associated with your map (the current module). All maps have errors (e.g. model output errors from pixels mixing or input data noise). Our objective is to create unbiased estimates of the area for each mapped category. To do this, we will use sample-based estimations of area and error instead of ‘pixel counting' approaches. Pixel counting approaches simply sum the area belonging to each different class. However, this doesn't account for classification errors (e.g. the probability that a pixel classified as wetland should be open water). Therefore, the pixel counting approach provides no quantification of sampling errors and no assurance that estimates are unbiased or that uncertainties are reduced (Stehman, 2005; GFOI, 2016). From ac641dd90db5405dbb592872c73abc2003f0b15a Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Tue, 12 Dec 2023 18:08:09 +0100 Subject: [PATCH 002/110] Update area_estimation.rst Proofreading complete. Ready to be published. --- docs/source/workflows/area_estimation.rst | 588 +++++++++++----------- 1 file changed, 294 insertions(+), 294 deletions(-) diff --git a/docs/source/workflows/area_estimation.rst b/docs/source/workflows/area_estimation.rst index 93eda15724..163bf6e761 100644 --- a/docs/source/workflows/area_estimation.rst +++ b/docs/source/workflows/area_estimation.rst @@ -803,7 +803,7 @@ If you collected training data using QGIS, CEO, or another pathway, you will nee Select the green :code:`Add` button. - Import your training data - - Upload a CSV file. + - Upload a .csv file. - Select **Earth Engine Table** and enter the path to your Earth Engine asset in the **EE Table ID** field. - Select :code:`Next`. @@ -1482,13 +1482,13 @@ For more information on TimeSync, including an online tutorial (for Version 2), LandTrendr ++++++++++ -LandTrendr has similar functionality to TimeSync, but runs in GEE. It was created by `Dr. Robert Kennedy `_'s lab with funding from the US Forest Service Landscape Change Monitoring System, the NASA Carbon Monitoring System, a Google Foundation Grant, and U.S. National Park Service Cooperative Agreement. Recent contributors include David Miller, Jamie Perkins, Tara Larrue, Sam Pecoraro, and Bahareh Sanaie (Department of Earth and Environment, Boston University). Foundational contributors include Zhiqiang Yang and Justin Braaten in the Laboratory for Applications of Remote Sensing in Ecology located at Oregon State University and the USDA Forest Service's Pacific Northwest Research Station. +LandTrendr (LT) has similar functionality to TimeSync, but runs in GEE. It was created by `Dr. Robert Kennedy `_'s lab with funding from the US Forest Service Landscape Change Monitoring System, the NASA Carbon Monitoring System, a Google Foundation grant, and the US National Park Service Cooperative Agreement. Recent contributors include David Miller, Jamie Perkins, Tara Larrue, Sam Pecoraro and Bahareh Sanaie (Department of Earth and Environment, Boston University). Foundational contributors include Zhiqiang Yang and Justin Braaten in the Laboratory for Applications of Remote Sensing in Ecology located at Oregon State University and the USDA Forest Service's Pacific Northwest Research Station. -From Kennedy, R.E., Yang, Z., Gorelick, N., Braaten, J., Cavalcante, L., Cohen, W.B., Healey, S. (2018). Implementation of the LandTrendr Algorithm on Google Earth Engine. Remote Sensing. 10, 691.: +From Kennedy, R.E., Yang, Z., Gorelick, N., Braaten, J., Cavalcante, L., Cohen, W.B., Healey, S. (2018). Implementation of the LandTrendr Algorithm on Google Earth Engine. Remote Sensing, 10: 691: "LandTrendr (LT) is a set of spectral-temporal segmentation algorithms that are useful for change detection in a time series of moderate resolution satellite imagery (primarily Landsat) and for generating trajectory-based spectral time series data largely absent of inter-annual signal noise. LT was originally implemented in IDL (Interactive Data Language), but with the help of engineers at Google, it has been ported to the GEE platform. The GEE framework nearly eliminates the onerous data management and image-pre-processing aspects of the IDL implementation. It is also light-years faster than the IDL implementation, where computing time is measured in minutes instead of days." -From LandTrendr's documentation, here's an example output in the GUI. However, LandTrendr has significant non-GUI data analysis capabilities. For a comprehensive guide to running LT in GEE visit: https://emapr.GitHub.io/LT-GEE/landtrendr.html. +From LandTrendr's documentation, the following figure shows an example output in the GUI. However, LandTrendr has significant non-GUI data analysis capabilities (for a comprehensive guide to running LT in GEE, see https://emapr.GitHub.io/LT-GEE/landtrendr.html). .. figure:: ../_images/workflows/area_estimation/LandTrendr.png :alt: The LandTrendr interface @@ -1501,50 +1501,46 @@ Sample-based estimation of area and accuracy Once you have either a land use/land cover (LULC) map (`Module 2`_) or a change detection map (`Module 3`_), the next step is to estimate the area within each LULC type or change type and the error associated with your map (the current module). All maps have errors (e.g. model output errors from pixels mixing or input data noise). Our objective is to create unbiased estimates of the area for each mapped category. -To do this, we will use sample-based estimations of area and error instead of ‘pixel counting' approaches. Pixel counting approaches simply sum the area belonging to each different class. However, this doesn't account for classification errors (e.g. the probability that a pixel classified as wetland should be open water). Therefore, the pixel counting approach provides no quantification of sampling errors and no assurance that estimates are unbiased or that uncertainties are reduced (Stehman, 2005; GFOI, 2016). +To do this, we will use sample-based estimations of area and error instead of *pixel-counting* approaches, which simply sum the area belonging to each different class. However, this doesn't account for classification errors (e.g. the probability that a pixel classified as wetland should be open water). Therefore, the pixel-counting approach provides no quantification of sampling errors and no assurance that estimates are unbiased or that uncertainties are reduced (Stehman, 2005; GFOI, 2016). -Sample-based estimations of area and error create estimations of errors in pixel classification and use this to inform estimations of area. Therefore, sample-based estimations abide by the IPCC General Guidelines (2006) that estimates should not be over- or under- estimates, and that uncertainty should be reduced as much as practically possible. For more information on the theory behind choosing sample-based estimations of area and error over pixel counting approaches, see: +Sample-based estimations of area and error create estimations of errors in pixel classification and use this to inform estimations of area. Therefore, sample-based estimations abide by the IPCC General Guidelines (2006) that estimates should not be over- or under- estimates, and that uncertainty should be reduced as much as practically possible. For more information on the theory behind choosing sample-based estimations of area and error over pixel-counting approaches, see the following resources: -* GFOI. 2016. Integration of remote-sensing and ground-based observations for estimation of emissions and removals of greenhouse gases in forests: Methods and Guidance from the Global Forest Observations Initiative, Edition 2.0, Food and Agriculture Organization, Rome -* GOFC-GOLD. 2016. A sourcebook of methods and procedures for monitoring and reporting anthropogenic greenhouse gas emissions and removals associated with deforestation, gains and losses of carbon stocks in forests remaining forests, and forestation. GOFC-GOLD Report version COP22-1, (GOFC-GOLD Land Cover Project Office, Wageningen University, The Netherlands) -* Gallego, FJ. 2004. Remote sensing and land cover area estimation. International Journal of Remote Sensing, 25(15): 3019-3047, DOI: 10.1080/01431160310001619607 -* IPCC. 2006. Guidelines for national Greenhouse Gas Inventories. Volume 4: Agriculture, Forestry and Other Land Use. http://www.ipcc-nggip.iges.or.jp/public/2006gl/vol4.html -* REDD Compass: https://www.reddcompass.org/ +* Gallego, FJ. 2004. Remote sensing and land cover area estimation. *International Journal of Remote Sensing*, 25(15): 3019-3047, DOI: 10.1080/01431160310001619607 +* GFOI. 2016. Integration of remote-sensing and ground-based observations for estimation of emissions and removals of greenhouse gases in forests: Methods and Guidance from the Global Forest Observations Initiative, Edition 2.0. Rome, FAO. +* GOFC-GOLD. 2016. A sourcebook of methods and procedures for monitoring and reporting anthropogenic greenhouse gas emissions and removals associated with deforestation, gains and losses of carbon stocks in forests remaining forests, and forestation. GOFC-GOLD Report version COP22-1. The Netherlands, GOFC-GOLD Land Cover Project Office, Wageningen University. +* IPCC. 2006. Guidelines for national greenhouse gas inventories. Volume 4: Agriculture, Forestry and Other Land Use. http://www.ipcc-nggip.iges.or.jp/public/2006gl/vol4.html +* REDD Compass: https://www.reddcompass.org -There are four steps to sample-based estimation of area and accuracy. First, you will use the different classes in your LULC or change detection map to create a stratified sampling design in SEPAL using the Stratified Area Estimator (SAE) - Design tool (Exercise 4.1). Then you will revisit your response design and labeling protocols to use with data collection in CEO (Exercise 4.2). Finally, you will use data generated in CEO (Exercise 4.3) to calculate the sample-based estimates in SEPAL, using the Stratified Area Estimator-Analysis tool (Exercise 4.4). This tool quantifies the agreement between the validation reference points and the map product, providing information on how well the class locations were predicted by the Random forest classifier. +There are four steps to sample-based estimation of area and accuracy. First, you will use the different classes in your LULC or change detection map to create a stratified sampling design in SEPAL using the **Stratified Area Estimator (SAE) - Design** tool (Exercise 4.1). Then you will revisit your response design and labelling protocols to use with data collection in CEO (Exercise 4.2). Finally, you will use data generated in CEO (Exercise 4.3) to calculate the sample-based estimates in SEPAL, using the **Stratified Area Estimator-Analysis** tool (Exercise 4.4). This tool quantifies the agreement between the validation reference points and the map product, providing information on how well the class locations were predicted by the **Random forest** classifier. This process will provide two important outputs. First, you will have estimates of the area for each LULC or change type. Second, you will have a table that describes the accuracy for each LUC or change type. This is often called a confusion matrix. These may be final products for your projects. However, if you decide that your map is not accurate enough, this information can be fed back into the classification or change detection algorithms to improve your model. -This Module takes approximately 3 hours to complete. +This module takes approximately three hours to complete. .. _Section 4.1: Sample design and stratification ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Stratified random sampling is an easy to use, easy to understand, and well supported sampling design (for more information, see Olofsson et al. 2014. Good practices for assessing accuracy and estimating area of land change, Remote Sensing of Environment 148, 42-57). With stratified random sampling, each class (e.g. land use, land cover, change type) is treated as a strata. Then, a sample is randomly taken from each sample, either in proportion to area, in proportion to expected variance, or in equal numbers across strata. +Stratified random sampling is an easy-to-use, easy-to-understand, and well-supported sampling design (for more information, see Olofsson *et al.* 2014. Good practices for assessing accuracy and estimating area of land change. *Remote Sensing of Environment*, 148: 42-57). With stratified random sampling, each class (e.g. land use, land cover, change type) is treated as a strata. Then, a sample is randomly taken from each sample, either in proportion to area, in proportion to expected variance, or in equal numbers across strata. -We will use the SEPAL SAE-Design tool. You will upload your classified map and set some basic parameters, then the SAE-Design tool will generate a set of stratified random points that are placed in each of the different land cover classes represented in your map. The number of points in each class will be scaled to the area each class covers in the map. The total sample size, the number of points used to validate the map, will depend on your expected overall accuracy. Be sure to log these choices as part of your documentation (`Module 5`_). - -.. note:: +We will use the SEPAL **SAE-Design** tool. You will upload your classified map and set some basic parameters, then the **SAE-Design** tool will generate a set of stratified random points that are placed in each of the different land cover classes represented in your map. The number of points in each class will be scaled to the area each class covers in the map. The total sample size – the number of points used to validate the map – will depend on your expected overall accuracy. Be sure to log these choices as part of your documentation (`Module 5`_). **Objectives**: - - Generate a stratified random sample based on your image classification. - - Upload your stratification to SEPAL. - -.. note:: + - generate a stratified random sample based on your image classification; and + - upload your stratification to SEPAL. **Prerequisites**: - - Classification from `Module 2`_. - - Advanced users can use the classification from `Module 3`_. + - classification from `Module 2`_; and + - advanced users can use the classification from `Module 3`_. .. _Section 4.1.1: Uploading files to SEPAL """""""""""""""""""""""" -If your classification is not stored in SEPAL (e.g. a classification in GEE or a classification created through CODED), you will need to upload it to SEPAL in order to use SEPAL's stratified random sample tool. Several options are described in :doc:`../setup/filezilla`. +If your classification is not stored in SEPAL (e.g. a classification in GEE or a classification created through CODED), you will need to upload it to SEPAL in order to use SEPAL's **Stratified random sample** tool. Several options are described in :doc:`../setup/filezilla`. .. _Section 4.1.2: @@ -1553,44 +1549,51 @@ Creating a stratified random sample We will use SEPAL to create a stratified random sample. To begin, you can use the test dataset available in SEPAL or you can use a raster of your classification loaded into SEPAL. -If you have a large area you are stratifying, please first increase the size of your instance (see `Introduction to SEPAL <../setup/presentation.html#terminal-tab>`_). +If you have a large area that you are stratifying, first increase the size of your instance (see `Introduction to SEPAL <../setup/presentation.html#terminal-tab>`_). -A well-prepared sample can provide a robust estimate of the parameters of interest for the population (e.g. percent forest cover). The goal of a sample is to provide an unbiased estimate of some population measure (e.g. proportion of area), with the smallest variance possible, given constraints including resource availability. Two things to think about for sample design are: do you have a probability-based sample design? That is, does every sample location have some probability of being sampled? And second, is it geographically balanced? That is, are all regions in the study area represented. These factors are required for the standard operating procedures when reporting for REDD+. +A well-prepared sample can provide a robust estimate of the parameters of interest for the population (e.g. percent forest cover). The goal of a sample is to provide an unbiased estimate of some population measure (e.g. proportion of area), with the smallest variance possible, given constraints including resource availability. Two things to think about for sample design are: do you have a probability-based sample design? That is, does every sample location have some probability of being sampled? And second, is it geographically balanced? That is, are all regions in the study area represented? These factors are required for the standard operating procedures when reporting for REDD+. These directions will provide a stratified random sample of the proper sampling size. -First, go to https://sepal.io/ and sign in. Select the :code:`Apps` button (purple wrench). Enter "stratified" into the search bar or scroll through the different process apps to find “Stratified Area Estimator - Design”. Select **Stratified Area Estimator - Design.** Note that loading the tool takes a few minutes. +First, go to https://sepal.io and sign in. + +Select the :code:`Apps` button (purple wrench). Enter **stratified** into the search bar or scroll through the different process apps to find **Stratified Area Estimator - Design**. + +Select **Stratified Area Estimator - Design.** Note that loading the tool takes a few minutes. .. figure:: ../_images/workflows/area_estimation/stratified_area_estimator_design.png - :alt: Stratified Area Estimator-Design tool. + :alt: Stratified Area Estimator-Design tool :align: center .. tip:: - Sometimes the tool fails to load properly (none of the text loads) as seen below. In this case, please close the tab and repeat the above steps. + Sometimes the tool fails to load properly (none of the text loads) as seen below. In this case, please close the tab and repeat the steps presented above. .. figure:: ../_images/workflows/area_estimation/fail_stratified_estimator_tool.png - :alt: Failure of the stratified area estimator tool. + :alt: Failure of the stratified area estimator tool :align: center When the tool loads properly, it will look like the image below. Read some of the information on the **Introduction** page to acquaint yourself with the tool. On the **Introduction** page, you can change the language from English to French or Spanish. -The Description, Background, and "How to use the tool" panels provide more information about the tool. -The Reference and Documents pane provides links to other information about stratified sampling, such as REDD Compass. + +The **Description**, **Background**, and **How to use the tool** panes provide more information about the tool. + +The **Reference and Documents** pane provides links to other information about stratified sampling, such as REDD Compass. .. figure:: ../_images/workflows/area_estimation/stratified_estimator_interface.png - :alt: The stratified estimator interface. + :alt: The stratified estimator interface :align: center The steps necessary to design the stratified area estimator are located on the left side of the screen and they need to be completed sequentially from top to bottom. + Select :code:`Map input` on the left side of the screen. For this exercise, we'll use the classification from `Module 2`_. .. note:: - You can substitute another classification, such as the change detection classification created in `Module 3`_, if you would like. + You can substitute another classification, such as the change detection classification created in `Module 3`_, if desired. In the **Data type** section, select :code:`Input`. @@ -1598,66 +1601,71 @@ In the **Browse** window that opens, go to the `Module 2`_ dataset and select it .. tip:: - Note that the **Output folder** section shows you where in your SEPAL workspace all the files generated from this exercise will be saved. + Note that the **Output folder** section shows you where in your SEPAL workspace all files generated from this exercise will be saved. .. see also:: - Optionally, you can use a csv with your raster areas instead; however, we won't discuss that here. + You can also use a .csv with your raster areas instead, if desired; however, we won't discuss that option here. -Next, select :code:`Strata areas` on the left side of the screen. In the **Area calculation** section, select :code:`OFT`. **OFT** stands for the Open Foris Geospatial Toolkit. R is slower but avoids some errors that arise with OFT. +Next, select :code:`Strata areas` on the left side of the screen. In the **Area calculation** section, select :code:`OFT` (**OFT** refers to the Open Foris Geospatial Toolkit). R is slower but avoids some errors that arise with OFT. .. attention:: - If you choose to use OFT, it will return values for the map that are incorrect, if your map was stored in certain formats (e.g. signed 8 bit). If this is the case, then please use the R option and it will work correctly. If using OFT, always compare the **Display map** with the **Legend labeling** values returned to make sure they match. + If you choose to use OFT, it will return values for the map that are incorrect in the event that your map was stored in certain formats (e.g. signed 8 bit). If this is the case, use the R option and it will work correctly. If using OFT, always compare the **Display map** with the **Legend labeling** values returned to make sure they match. .. figure:: ../_images/workflows/area_estimation/stratified_estimator_map_legend.png - :alt: Stratified estimator tool showing the display map and legend and areas filled out. + :alt: Stratified estimator tool showing the display map and legend and areas filled out :align: center -The **“Do you want to display the map”** checkbox allows you to display your geotiff under “Display map”. +The **Do you want to display the map** checkbox allows you to display your geotiff under “Display map”. .. note:: - The colors displayed in the SAE-Design tool in this section may be different than what you see elsewhere. Additionally, if your ‘no data' class is 0, the tool will color this as well. + The colors displayed in the **SAE-Design** tool in this section may be different than what you see elsewhere. Additionally, if your ‘no data' class is 0, the tool will color this as well. -Click the **Area calculation and legend generation** button. This will take a few minutes to run. After it finishes, notice that it has updated the **Legend labeling** section of the page. +Select the **Area calculation and legend generation** button. This will take a few minutes to run. After it finishes, notice that it has updated the **Legend labeling** section of the page. Next, you will need to adjust the class names in the **Legend labeling** section. Type in the following class names in place of the numeric codes for your Amazon: + - 0 = No Data - 1 = Forest -- 2 = Non-Forest +- 2 = Non-forest -Now select :code:`Submit Legend`. The **Legend and Areas** section will now be populated with the map code, map area, and edited class name. +Now select :code:`Submit Legend`. The **Legend and Areas** section will now be populated with the map code, map area and edited class name. -You can now **Rename** and **Download** the area file if you would like. However, it will save automatically to your SEPAL workspace. -When you're done, click on **Strata selection** in the left panel. +You can now **Rename** and **Download** the area file if you would like; it will save automatically to your SEPAL workspace. -Now you need to specify the expected accuracies. You will do this for each class. Get more information by clicking the **plus** button to the right of the box that says **What are the expected accuracies?**. +When you're done, click on **Strata selection** in the left pane. -- Specify the expected user accuracy helps the program determine which classes might need more points relative to their area. -- Some classes are easier to identify--including common classes and classes with clear identifiers like buildings. +Now you need to specify the expected accuracies. You will do this for each class. Get more information by selecting the plus button to the right of the box that says **What are the expected accuracies?**. + +- Specifying the expected user accuracy helps the program determine which classes might need more points relative to their area. +- Some classes are easier to identify, including common classes and classes with clear identifiers like buildings. - Classes that are hard to identify include rare classes and classes that look very similar to one another. Having more classes with low confidence will increase the sample size. - - Select the value for classes with high expected user accuracy with **the first slider**. This is set to 0.9 by default, and we'll leave it there. - - Then, select the value for classes with low expected user accuracy with **the second slider**. This is set to 0.7 by default, and we'll leave it there as well. + - Select the value for classes with high expected user accuracy with the first slider. This is set to 0.9 by default, and we'll leave it there. + - Then, select the value for classes with low expected user accuracy with the second slider. This is set to 0.7 by default, and we'll leave it there as well. + +Now we need to assign each class to the high or low expected user accuracy group. Think about your forest and non-forest classes. Which do you think should be high confidence? Which should be low confidence? Why? -Now we need to assign each class to the high or the low expected user accuracy group. Think about your forest and non-forest classes. Which do you think should be high confidence? Which should be low confidence? Why? -Select the box under **“high confidence”** and assign your high confidence class(es). Then, select the box under **“low confidence”** that appears and assign the corresponding class(es). If you make a mistake, there's no way to remove the classes. However, just change one of the sliders slightly, move it back, and the class assignments will have been reset. +Select the box under **high confidence** and assign your high confidence class(es). + +Then, select the box under **low confidence** that appears and assign the corresponding class(es). If you make a mistake, there's no way to remove the classes. However, just change one of the sliders slightly, move it back, and the class assignments will have been reset. .. attention:: - For this exercise, please assign both Forest & Non-forest to the high confidence class. If you assign either to the low confidence class, you will not be able to use the CEO-SEPAL bridge in `Section 4.2`_. + For this exercise, please assign both **Forest** & **Non-forest** to the high confidence class. If you assign either to the low confidence class, you will not be able to use the CEO-SEPAL bridge in `Section 4.2`_. - DO NOT assign your No Data class to either high or low confidence. + DO NOT assign your No data class to either high or low confidence. .. figure:: ../_images/workflows/area_estimation/high_low_expected_user_accuracy.png - :alt: High and low expected user accuracy. + :alt: High and low expected user accuracy :align: center -When you're satisfied, select **Sampling Size** on the left panel. +When you're satisfied, select **Sampling size** in the left pane. Now we will calculate the required sample size for each strata. You can select the “+” button to get more information. -- First we need to set the **standard error of the expected overall accuracy.** It is 0.01 by default, however for this exercise we will set it to 0.05. +- First we need to set the **standard error of the expected overall accuracy**. It is 0.01 by default, however for this exercise we will set it to 0.05. .. see also:: @@ -1667,21 +1675,21 @@ Now we will calculate the required sample size for each strata. You can select t Note that you can adjust this incrementally with the up/down arrows on the right side of the parameter. -- Then determine the **minimum sample size per strata**. By default, it is 100. For the purposes of this test we will set it to 20, **but in practice this should be higher.** +- Then determine the **Minimum sample size per strata**. By default, it is 100. For the purposes of this test we will set it to 20, but in practice this should be higher. .. note:: - You can also check the “Do you want to modify the sampling size” box. + You can also check the **Do you want to modify the sampling size** box. -- While SEPAL automatically saves this file, you can edit the name of the file and download a CSV file with the sample design. The file will contain the table shown above with some additional calculations. +- While SEPAL automatically saves this file, you can edit the name of the file and download a .csv file with the sample design. The file will contain the table shown above with some additional calculations. .. figure:: ../_images/workflows/area_estimation/stratified_estimator_sampling.png - :alt: The stratified estimator sampling size and distribution of samples screen. + :alt: The stratified estimator sampling size and distribution of samples screen :align: center -When you're ready, click on **Sample allocation** to the left. The final step will select the random points to sample. +When you're ready, select **Sample allocation** on the left. The final step will select the random points to sample. -Select **Generate sampling points** and wait until the progress bar in the lower-right finishes. Depending on your map, this may take some time. A map will pop up showing the sample points. You can pan around or zoom in/out within the sample points map. The resulting **distribution of samples** should look similar to the below image. +Select **Generate sampling points** and wait until the **Progress** bar in the lower-right finishes. Depending on your map, this may take some time. A map will pop up showing the sample points. You can pan around or zoom in/out within the sample points map. The resulting **distribution of samples** should look similar to the below image. .. note:: @@ -1695,200 +1703,194 @@ Select **Generate sampling points** and wait until the progress bar in the lower :alt: The stratified estimator tool's sample allocation screen. :align: center -Now fill out the four fields to the right. You can add additional data by specifying which country the map is in. Here, Leave the **Choose your country name…** section blank. Specify the **number of operators,** or people who will be doing the classification. Here, leave it set to 1. For CEO, this might be the number of users you think your project will have. The **size of the interpretation box** depends on your data and corresponds to CEO's sample plot. This value should be set to the spatial resolution of the imagery you classified (Landsat= 30 m). Here, leave it at 30 m. +Now fill out the four fields to the right. You can add additional data by specifying which country the map is in. Here, leave the **Choose your country name…** section blank. Specify the **number of operators**, or people who will be doing the classification. Here, leave it set to 1. For CEO, this might be the number of users you think your project will have. The **size of the interpretation box** depends on your data and corresponds to CEO's sample plot. This value should be set to the spatial resolution of the imagery you classified (Landsat = 30 m). Here, leave it at 30 m. .. note:: When should you use CEO, and when should you use the CEO-SEPAL bridge? In general, **the CEO-SEPAL bridge should only be used for fairly simple use cases**. More specifically, CEO-SEPAL is a great option when you have only high-confidence categories, have a relatively small number of points, when you will collect the data yourself, and when the built-in questions about your data points suffice. For other situations, you will want to create a CEO project. Creating a CEO project through the collect.earth website is a better option when you have low-confidence categories, a larger number of points in your sample, when you want to use specific validation imagery, when multiple people will collect data and you need to track who is collecting data, and when you need more complex or custom questions about your data points. -If you would like to create a project via CEO, click on **Download .csv** and follow the steps in `Section 4.1.3`_ below. After following the directions in this, you will proceed to `Section 4.2`_. +If you would like to create a project via CEO, select **Download .csv** and follow the steps in `Section 4.1.3`_ below. After following these directions, proceed to `Section 4.2`_. .. attention:: We highly recommend using this approach, and we will demonstrate it in this manual. -To create a project via the CEO-SEPAL bridge, click on **Create CEO project**. This will create a CEO project via the CEO-SEPAL bridge. This process will take a few minutes and you should see text and completion bars in the lower right as calculations happen. Copy and paste the link into your browser window when it appears. +To create a project via the CEO-SEPAL bridge, select **Create CEO project**. This will create a CEO project via the CEO-SEPAL bridge. This process will take a few minutes and you should see text and completion bars in the lower right as calculations happen. Copy and paste the link into your browser window when it appears. .. tip:: Be sure to save this link somewhere so you can reference it later. .. attention:: - You MUST be logged out of CEO for this pathway to work. + You must be logged out of CEO for this pathway to work. .. figure:: ../_images/workflows/area_estimation/ceo_project_sepal.png - :alt: Creating a CEO project through SEPAL. + :alt: Creating a CEO project through SEPAL :align: center -When the project has been created, you can skip to `Section 4.2`_. +When the project has been created, skip to `Section 4.2`_. -You can download a .shp file to examine your points in QGIS, ArcGIS, or another GIS program. You can also create a CEO project using a .shp file, however that is outside of the scope of this manual. Directions can be found in the Institutional manual here: https://collect.earth/support. +You can download a .shp file to examine your points in QGIS, ArcGIS or another GIS program. You can also create a CEO project using a .shp file, however that is outside of the scope of this article. Directions can be found in the institutional manual at https://collect.earth/support. .. _Section 4.1.3: -Creating a CEO project via CSV -"""""""""""""""""""""""""""""" +Creating a CEO project via .csv +""""""""""""""""""""""""""""""" -For projects with large sample sizes, where you want to have multiple people collecting validation data, or where you want to use specific validation imagery, you will want to create a project through CEO rather than through the CEO-SEPAL bridge. Note that the total number of plots you want to sample using a CSV file must be 50000 or less. If you have more plots, break it into multiple projects. +For projects with large sample sizes, where you want to have multiple people collecting validation data or where you want to use specific validation imagery, you will want to create a project through CEO rather than through the CEO-SEPAL bridge. (Note that the total number of plots you want to sample using a .csv file must be 50000 or less. If you have more plots, break it into multiple projects.) -Make sure you have downloaded the .CSV file of your stratified random sample plots (`Section 4.1.2`_). Open your downloaded CSV file in Excel or the spreadsheet program of your choice. First, make sure that your data doesn't contain a strata of ‘no data'. This can occur if your classification isn't a perfect rectangle, as seen in this example of Nepal (the red circles are samples that the tool created in the ‘no data' area). +Make sure you have downloaded the .csv file of your stratified random sample plots (`Section 4.1.2`_). Open your downloaded .csv file in Excel or the spreadsheet programme of your choice. First, make sure that your data doesn't contain a strata of "no data". This can occur if your classification isn't a perfect rectangle, as seen in this example of Nepal (the red circles are samples that the tool created in the "no data" area). .. tip:: - If you have ‘no data' rows, return to the SEPAL stratified estimator, and be sure to not include your no data class in the strata selection step. + If you have "no data" rows, return to the SEPAL stratified estimator, and be sure to not include your no data class in the strata selection step. .. figure:: ../_images/workflows/area_estimation/example_data_sepal_classification.png - :alt: Example data from the SEPAL classification. + :alt: Example data from the SEPAL classification :align: center -Right now, your stratification is grouped by land cover type (**map_class** column). To reduce the human tendency to use the order of the plots to help identify them (i.e. knowing the first 100 plots were classified forest, so being more likely to verify them as forest instead of determining if that is correct), we suggest first randomizing the order of the rows. To do this, click the :code:`Sort & Filter` button in Excel. +Right now, your stratification is grouped by land cover type (**map_class** column). To reduce the human tendency to use the order of the plots to help identify them (e.g. knowing the first 100 plots were classified forest, so being more likely to verify them as forest instead of determining if that is correct), we suggest first randomizing the order of the rows. To do this, select the :code:`Sort & Filter` button in Excel. .. figure:: ../_images/workflows/area_estimation/sort_filter_excel.png - :alt: Using the Sort and Filter features in Excel. + :alt: Using the Sort and Filter features in Excel :align: center -Next, Sort on the ‘id' field by value, either smallest to largest or largest to smallest. +Next, Sort on the **id** field by value, either smallest to largest or largest to smallest. .. figure:: ../_images/workflows/area_estimation/custom_filter_excel.png - :alt: A custom sort in Excel. + :alt: A custom sort in Excel :width: 450 :align: center -Now we need to add the correct columns for CEO. Remember that Latitude is the Y axis and longitude is the X axis. For CEO, the first three columns must be in the following order: longitude, latitude, plotid. The spelling and order matter. If they are wrong CEO will not work correctly. +Now we need to add the correct columns for CEO. Remember that latitude is the Y axis and longitude is the X axis. For CEO, the first three columns must be in the following order: longitude, latitude, plotid. The spelling and order matter. If they are wrong CEO will not work correctly. - Rename "id" to PLOTID. You can also add a new PLOTID field by creating a new column labeled PLOTID, and fill it with values 1-(number of rows). - Rename the ‘XCoordinate' column to ‘LONG' or ‘LONGITUDE'. - Rename the ‘YCoordinate' column to ‘LAT' or ‘LATITUDE'. -- Reorder the columns in Excel so that LAT, LONG, PLOTID are the first three columns, in that order. +- Reorder the columns in Excel so that LAT, LONG, PLOTID are the first three columns (in that order). -Save your updated CSV file, making sure you save it as a CSV and not as an XLSX file. +Save your updated .csv file, making sure you save it as a .csv and not as an .xlsk file. -Go to collect.earth. Sign in to your CEO account. If you're already the administrator of an institution, go to your institution's landing page by typing in the institution's name and then selecting the Visit button. +Go to collect.earth. Sign in to your CEO account. If you're already the administrator of an institution, go to your institution's landing page by typing in the institution's name and then selecting the **Visit** button. .. tip:: - Creating a project in CEO requires you to be the administrator of an institution. If you're not an admin, you can create a new institution. Select Create new institution from the homepage, then fill out the form & select Create institution. + Creating a project in CEO requires you to be the administrator of an institution. If you're not an admin, you can create a new institution. Select **Create new institution** from the homepage, then fill out the form & select **Create institution**. -When you're on the institution's page, select the “Create New Project” button. This will go to the Create Project interface. We'll now talk about what each of the sections on this page does. For more information, please see the Institutional Manual available on the collect.earth Support page https://collect.earth/support. +When you're on the institution's page, select the **Create new project** button. This will go to the **Create project** interface. We'll now talk about what each of the sections on this page does. For more information, please see the institutional manual available on the collect.earth support page at https://collect.earth/support. -- **TEMPLATE**: This section is used to copy all of the information — including project info, area, and sampling design — from an existing published project to a new project. +- **TEMPLATE**: This section is used to copy all of the information — including project info, area and sampling design — from an existing published project to a new project. - This is useful if you have an existing project you want to duplicate for another year or location, or if you're iterating through project design. You can use a published or closed project from your institution or another institutions' public project. - The project id is found in the URL when you're on the data collection page for the project. -- **PROJECT INFO**: Under Project Info, enter the project's **Name** and **Description.** +- **PROJECT INFO**: Under **Project info**, enter the project's **Name** and **Description**. - The **Name** should be short and will be displayed on the Home page as well as the project's Data Collection page. - You should keep the **Description** short but informative. - The **Privacy Level** radio button changes who can view your project, contribute to data collection, and whether admins from your institution or others creating new projects can use your project as a template. -- **AOI**: Determines where sample plots will be drawn from for your project. This is the first step in specifying a sampling design for your project. There are two main approaches for specifying an AOI and sampling design. +- **AOI**: Determines where sample plots will be drawn from for your project. This is the first step in specifying a sampling design for your project. There are two main approaches for specifying an AOI and sampling design: - First, using CEO's built in system. - - Second, creating a sample in another program and importing it into CEO. **This is what we have done.** You will specify the AOI in the Sample Design step instead. + - Second, creating a sample in another program and importing it into CEO, which what we have done. You will specify the AOI in the sample design step instead. - You should choose your Basemap source, which will be the default imagery that the user sees. - If needed, check the box for any additional imagery you would like to add (optional). - **Sample Plot Design**: Here, select the radio button next to .csv. - - Select **Upload** and upload the CSV file of your stratified random sample. Note that the number of plots you want to sample must be 5000 or less. + - Select **Upload** and upload the .csv file of your stratified random sample. Note that the number of plots you want to sample must be 5000 or less. - Select if you would like round or square plots, and specify the size. For example, you might specify square plots of 30 m width in order to match Landsat grid size. -- **Sample Point Design**: Under the Sample Design header is really determining the sample point design within each sample plot. +- **Sample Point Design**: Under the **Sample Design** header, it is really determining the sample point design within each sample plot. - - You can choose Random or Gridded, as well as how many samples per plot or the sample resolution respectively. You can also choose to have one central point. + - You can choose **Random** or **Gridded**, as well as how many samples per plot or the sample resolution respectively. You can also choose to have one central point. - Using CEO's built-in system, the maximum number of sample points per plot is 200. The maximum total number of sample points for the project across all plots is 50000. - **Survey Design:** This is where you design the questions that your data collectors/photo interpreters will answer for each of your survey plots. Each question creates a column of data. This raw data facilitates calculating key metrics and indicators and contributes to fulfilling your project goals. - - **Survey Cards** are the basic unit of organization. Each survey card creates a page of questions on the Data Collection interface. + - **Survey Cards** are the basic unit of organization. Each survey card creates a page of questions on the **Data Collection** interface. - The basic workflow is: Create a new top-level question (new survey card), then populate answers. Create any child questions and answers, then move to the next top-level question (new survey card). Repeat until all questions have been asked. - - You can ask multiple types of questions (including the button—text questions from the Simple interface). You can also add survey rules in the Survey Rules Design panel. - - Broadly, there are four question types and three data types. They are combined into 10 different component types. + - You can ask multiple types of questions (including the button—text questions from the simple interface). You can also add survey rules in the **Survey Rules Design** pane. + - Broadly, there are four question types and three data types. They are combined into ten different component types. - The four question types are: - - Button: This creates clickable buttons, allowing users to select one out of many answers for each sample point. - - Input: Allows users to enter answers in the box provided. The answer text provided by the project creator becomes the default answer. - - Radio button: This creates radio buttons, allowing users to select one out of many answers for each sample point. - - Dropdown: Allows users to select from a list of answers. + - **Button**: This creates clickable buttons, allowing users to select one out of many answers for each sample point. + - **Input**: Allows users to enter answers in the box provided. The answer text provided by the project creator becomes the default answer. + - **Radio button**: This creates radio buttons, allowing users to select one out of many answers for each sample point. + - **Dropdown**: Allows users to select from a list of answers. - The three data types allowed are: - - Boolean: Use this when you have two options for a question (yes/no). - - Text: Use this when you have multiple options which are text strings. They may include letters, numbers or symbols. - - Number: Use this when you have multiple options that are numbers, which do not contain letters or symbols. + - **Boolean**: Use this when you have two options for a question (yes/no). + - **Text**: Use this when you have multiple options that are text strings. They may include letters, numbers or symbols. + - **Number**: Use this when you have multiple options that are numbers, which do not contain letters or symbols. - - First, type in your question in the New question box, such as “Is this forest or non-forest?" - - Then select Add survey question. + - First, type in your question in the **New question** box, such as **Is this forest or non-forest?** + - Then select **Add survey question**. - A new survey card (Survey Card Number 1) will pop up with your question in it. - You can now add answers. - - Create one answer for each of your land use types. Here we will use 1 and 2 to match “Forest” and “Non-forest” in our classification. Be sure to include all of your land use types. - - Note that the Stratified Area Estimator--Analysis only accepts numeric values for the land use types. If you would like to use human-readable text values (e.g. Forest instead of 1) - - .. attention:: - - You MUST follow the directions in `Section 4.3.2`_. + - Create one answer for each of your land use types. Here we will use **1 and **2** to match **Forest** and **Non-forest** in our classification. Be sure to include all of your land use types. + - Note that the **Stratified Area Estimator--Analysis** only accepts numeric values for the land use types. If you would like to use human-readable text values (e.g. Forest instead of 1), you must follow the directions in `Section 4.3.2`_. - You can add additional survey questions, if you'd like to experiment. An example of two survey cards is shown below. .. figure:: ../_images/workflows/area_estimation/example_survey_card.png - :alt: An example survey card setup. + :alt: An example survey card setup :width: 450 :align: center -When you're done, click Create Project. If you're successful, you'll see the review project pane. The Project AOI will now show the location of a subset of your plots (a maximum number can be displayed). +When you're done, select **Create Project**. If you're successful, you'll see the **Review project** pane. The Project AOI will now show the location of a subset of your plots (a maximum number can be displayed). -Not shown are the Plot Review and Sample Design, which show a summary of the choices you made, or the CSV and SHP files you uploaded. Survey Review shows all the Survey Cards you created, along with the corresponding Component Type, Rules, and Answers. At this point, your project has been created, but it has not been published so that other users can see it. +Not shown are the **Plot Review** and **Sample Design**, which show a summary of the choices you made, or the .csv and .shp files you uploaded. **Survey Review** shows all the **Survey Cards** you created, along with the corresponding **Component Type, Rules,** and **Answers**. At this point, your project has been created, but it has not been published so that other users can see it. .. see also:: - There is also a review project functionality. As an administrator, you review your unpublished project and make suggestions to the questions, etc., before it is published for data collection. + There is also **Review project functionality**. As an administrator, you review your unpublished project and make suggestions to the questions, for instance, before it is published for data collection. -You can either select [Publish Project] or [Configure Geo-Dash]. The option to Configure Geo-Dash will be available after you publish your project, as well. For now, let's click on Configure Geo-Dash. A new window or tab will open and you'll now see the blank Geo-Dash configuration page. +You can either select **Publish Project** or **Configure Geo-Dash**. The option to **Configure Geo-Dash** will be available after you publish your project as well. For now, let's select **Configure Geo-Dash**. A new window or tab will open and you'll now see the blank **Geo-Dash configuration page**. -Geo-Dash is a dashboard that opens in a second window when users begin to analyze sample plots. Geo-Dash provides users with additional information to help them interpret the imagery and better classify sample points and plots. The Geo-Dash tab can be customized to show information such as NDVI time series, forest degradation tools, additional imagery, and digital elevation data. If you click on Geo-Dash Help, You'll access information about all of the Geo-Dash widgets. This information is also in the CEO user manual. Add any widgets that you would like for your project. For example, add a NDVI widget following these steps: +**Geo-Dash** is a dashboard that opens in a second window when users begin to analyse sample plots. Geo-Dash provides users with additional information to help them interpret the imagery and better classify sample points and plots. The Geo-Dash tab can be customized to show information such as NDVI time series, forest degradation tools, additional imagery and digital elevation data. If you select **Geo-Dash Help**, you'll access information about all of the **Geo-Dash widgets**. This information is also in the **CEO user manual**. Add any widgets that you would like for your project. -- Click on Add Widget, then select the Image Collection type. -- Select your basemap imagery. -- Now you'll see the data dropdown menu. Select NDVI in this menu. -- Now you'll see the Title +For example, you can add a **NDVI widget** by following these steps: + +- Click on **Add Widget**, then select the **Image Collection** type. +- Select your **Basemap imagery**. +- Now you'll see the **Data** dropdown menu. Select **NDVI** in this menu. +- Now you'll see the **Title**. - Give your widget a title that describes the data. -- Select the date range using the calendar widgets or by typing it in. -- Select Create. +- Select the date range using the calendar widgets or by entering it. +- Select **Create**. -You can now move the widget by clicking and dragging from the center and resize it by clicking and dragging the lower-right corner. When you're done adding widgets, close the Geo-Dash window. +You can now move the widget by clicking and dragging from the centre and resizing it by clicking and dragging the lower-right corner. When you're done adding widgets, close the **Geo-Dash** window. -On the project review page, click publish project. Collect Earth will ask you to confirm; select OK. You can now visit your project from your institution's page and start collecting data! +On the **Project review** page, select **Publish project**. Collect Earth will ask you to confirm; select **OK**. You can now visit your project from your institution's page and start collecting data! -More detailed instructions, including descriptions of many useful options, can be found in the manuals for CEO: https://collect.earth/support. +More detailed instructions, including descriptions of useful options, can be found in the manuals for CEO: https://collect.earth/support. .. _Section 4.2: Data collection with data quality management approaches ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Once you have created a stratified random sample, you will use CEO (or optionally the CEO-SEPAL tool) to visually interpret the land cover at the sample locations using a suitable source of reference data, often remote sensing data. These visual interpretations will then inform the area and error estimation (`Section 4.3`_). However, to ensure accurate human interpretation of land cover, you will need to adopt data quality management approaches. In this exercise, you will check your classification design (`Section 4.2.1`_), plan your data collection (`Section 4.2.2`_), collect your data (`Section 4.2.3`_) and set up quality management (`Section 4.2.4`_ & `Section 4.2.5`_). +Once you have created a stratified random sample, you will use CEO (or the CEO-SEPAL tool) to visually interpret the land cover at the sample locations using a suitable source of reference data (often remote sensing data). These visual interpretations will then inform the area and error estimation (`Section 4.3`_). However, to ensure accurate human interpretation of land cover, you will need to adopt data quality management approaches. In this exercise, you will check your classification design (`Section 4.2.1`_), plan your data collection (`Section 4.2.2`_), collect your data (`Section 4.2.3`_) and set up quality management (`Section 4.2.4`_ and `Section 4.2.5`_). The reason for this focus on data quality is simple: area and error estimates are based on the human interpreter's labeling of the sample; therefore, it is important that the labels are correct. Some recommend that three interpreters examine each unit independently, while other projects just have a sub-sample of the data points cross-checked by another interpreter. In `Section 4.2.4`_ and `Section 4.2.5`_, you will consider this and design a quality assurance plan that meets the needs and budgets of your specific mapping projects and management needs. -Much of this information is based on Standard Operating Procedures (SOPs) developed by Till Neeff at FAO for global application. Following these exercises will help you abide by these guidelines and meet these standards of quality for the data collected. - -.. note:: +Much of this information is based on SOPs developed by Till Neeff at FAO for global application. Following these exercises will help you abide by these guidelines and meet these standards of quality for the data collected. **Objectives**: - - Understand how to set up a successful verification project. - - Collect land cover verification data about each of your sample points. - - Create quality management protocols for your verification project. - -.. note:: + - understand how to set up a successful verification project; + - collect land cover verification data about each of your sample points; and + - create quality management protocols for your verification project. **Prerequisites**: - - Stratified random sample based on your image classification from `Section 4.1`_. + - stratified random sample based on your image classification from `Section 4.1`_; and - CEO-SEPAL project initiated in `Section 4.1`_. @@ -1897,7 +1899,7 @@ Much of this information is based on Standard Operating Procedures (SOPs) develo Specify a classification scheme """"""""""""""""""""""""""""""" -“Classification scheme” is the name used to describe the land cover / land use classes adopted. It should cover all the possible classes that occur in interest. Just as when you are creating training data for your classification, you will need to have a response design with consistent labeling protocols when collecting data for your area and error estimates. +*Classification scheme* is the name used to describe the land cover/land use classes adopted. It should cover all the possible classes that occur in interest. Just as when you are creating training data for your classification, you will need to have a response design with consistent labeling protocols when collecting data for your area and error estimates. If you have already created a response design in `Module 2`_, you should use that. @@ -1915,7 +1917,7 @@ As a reminder, our classification used to classify our Forest/Non-forest land co lc -> nf; } -We defined Forest as an area with over 70% tree cover. We defined Non-forest as areas with less than 70% tree cover. This captured land covers including urban areas, water, and agricultural fields. +We defined Forest as an area with over 70 percent tree cover. We defined Non-forest as areas with less than 70 percent tree cover. This captured land covers including urban areas, water and agricultural fields. .. _Section 4.2.2: @@ -1924,22 +1926,23 @@ Planning data collection Now that we have the framework for the procedure for data collection with quality in mind, we can work through what it would be like setting up the process for a team. Data collection efforts require planning, particularly for large efforts with many interpreters involved. We will discuss these planning aspects here. -In this part, you will assume the role of a **coordinator** and an **interpreter** for a small team working to validate the land cover classification from `Module 2`_. A **coordinator** is responsible for organizing the team and tracking compliance information; An **interpreter** is responsible for collecting data. +In this part, you will assume the role of a *coordinator* and an *interpreter* for a small team working to validate the land cover classification from `Module 2`_. A *coordinator* is responsible for organizing the team and tracking compliance information; an *interpreter* is responsible for collecting data. -Identify the reference data sources. +Identify the reference data sources ++++++++++++++++++++++++++++++++++++ -Ideally, you would have plots revisited in the field. However, this is rarely attainable given limited resources. An alternative is to collect reference observations through careful examination of the sample units using high resolution satellite data, or moderate resolution if high resolution is not available. The more data you have at your disposal the better. +Ideally, you would have plots revisited in the field. However, this is rarely attainable given limited resources. An alternative is to collect reference observations through careful examination of the sample units using high-resolution satellite data (or moderate-resolution if high-resolution is not available). The more data you have at your disposal, the better. If you have no additional data, you can use remote sensing data, such as Landsat data, for collecting reference observations, as long as the process to collect the reference data is more accurate than the process used to create the map being evaluated. Careful manual examination can be regarded as being a more accurate process than automated classification. -Consider what additional data you might be able to include in your verification. Do you have access to satellite data at a finer resolution than Landsat? Could you incorporate additional data sets such as stump data or on-the-ground verifications? You might try searching databases, such as https://developers.google.com/earth-engine/dataset/. +Consider what additional data you might be able to include in your verification. Do you have access to satellite data at a finer resolution than Landsat? Could you incorporate additional data sets such as stump data or on-the-ground verifications? You might try searching databases, such as https://developers.google.com/earth-engine/dataset. In CEO, these are the additional data sources that you have added to your CEO project. The CEO-SEPAL bridge uses only the default imagery, which is currently Mapbox Satellite. Compile a list of your data sources and review it with your interpreters. Recording this information is important for documentation (see `Module 5`_). .. figure:: ../_images/workflows/area_estimation/data_source_recording.png - :alt: A data source recording document. + :alt: A data source recording document :align: center Determine level of effort @@ -1956,13 +1959,13 @@ For this exercise, consider how long it took you to create your training data in Identify data collection participants +++++++++++++++++++++++++++++++++++++ -As coordinator, you will identify the persons who may be involved in the data collection. You should set up minimum qualifications for participating in the data collection, such as familiarity with the landscape, previous experience, etc. +As coordinator, you will identify the persons who may be involved in the data collection. You should set up minimum qualifications for participating in the data collection, such as familiarity with the landscape and previous experience. - What qualifications do you think are important? - What qualifications are essential, and which would be nice to have? - How can you build capacity within your organization for data collection? -As coordinator, you will record names and contact information of all the participants in the data collection and training. +As coordinator, you will record names and contact information of all participants in data collection and training. Here's a template: @@ -1985,9 +1988,9 @@ And a worked example: Rodolfo Vela, example@example.org, Institute for Collecting Data, Sample interpretation Yuri Gagarin, example@example.org, Institute for Collecting Data, Sample interpretation -Based on this information, you will decide on the format and modality for the data collection and on a timeline. For example, the format of the data collection can be a mapathon set-up where a large group collects the data over a short amount of time or a smaller team that collects the data over long periods. The modality for the data collection concerns where the team collects the data, either in the same location or disparate locations (e.g. in a mapathon, the interpreters could be in the same room interpreting the data). If the data collection is set up in disparate locations, modes of communication should be specified to help improve the consistency in the data interpretation. Multiple re-measurements for all samples is another option. +Based on this information, you will decide on the format and modality for the data collection and on a timeline. For example, the format of the data collection can be a mapathon setup where a large group collects the data over a short amount of time or a smaller team that collects the data over long periods. The modality for the data collection concerns where the team collects the data, either in the same location or disparate locations (e.g. in a mapathon, the interpreters could be in the same room interpreting the data). If the data collection is set up in disparate locations, modes of communication should be specified to help improve the consistency in the data interpretation. Multiple remeasurements for all samples is another option. -The logistics manager (if different from the coordinator) will arrange logistics, including space for data collection, sufficient time for data collection, and salary arrangements. +The logistics manager (if different from the coordinator) will arrange logistics, including space for data collection, sufficient time for data collection and salary arrangements. With your fictional team (above) and your timeline laid out in the scenario, decide on the format and modality for the data collection and create a timeline. @@ -1999,20 +2002,21 @@ Organize training and calibration sessions As a first step in the data collection, the coordinator and the trainer organize and prepare a training event for the interpreters who have confirmed their participation. The training should cover the following topics as a minimum: -- the response design and the interpretation key (detailing location-specific examples from all the classes in the classification system with visualization from multiple data sources available), -- The software used for the data collection and how to ensure the data management and storage, -- The data sources available, and -- Quality management practices. +- the response design and the interpretation key (detailing location-specific examples from all classes in the classification system with visualization from multiple data sources available); +- the software used for the data collection and how to ensure the data management and storage; +- the data sources available; and +- quality management practices. -Knowing what you do now, consider list items above and briefly fill in details for each topic in another document. Write this as if you were planning a training event before collecting verification data for your forest/non-forest classification. What other topics do you think should be in the training? +Now knowing what to do, consider list items above and briefly fill in details for each topic in another document. Write this as if you were planning a training event before collecting verification data for your forest/non-forest classification. What other topics do you think should be in the training? The trainer should then implement the training event following these basic principles: -- Create an environment for active participation, where participants can share questions and opinions; +- create an environment for active participation, where participants can share questions and opinions; - encourage communication between the interpreters; - record attendance of the interpreters; and - assess the capacity of the interpreters at the end of the training and record the results. -- Thinking about the basic principles for a training (a-d above) briefly write out how you might achieve these goals. + +Thinking about these basic principles for a training, briefly write out how you might achieve these goals. Following the training, the coordinator and the trainer should prepare a report summarizing: @@ -2020,7 +2024,7 @@ Following the training, the coordinator and the trainer should prepare a report - the attendance (example below); and - the results of the assessment of capacity. -This information should be documented as part of the decision making process for the verification (see `Module 5`_). +This information should be documented as part of the decision-making process for the verification (see `Module 5`_). .. csv-table:: :header: Name, Day 1, Day N @@ -2031,13 +2035,13 @@ This information should be documented as part of the decision making process for Distribute and assign sample units to interpreters ++++++++++++++++++++++++++++++++++++++++++++++++++ -As coordinator, you will decide on a fraction of sample units to be assessed multiple times by all interpreters for cross-checking. Using approximately 2.5% of plots for cross-checks is a good starting point. The samples that are duplicated should have a unique identification, and/or be recorded in some way. +As coordinator, you will decide on a fraction of sample units to be assessed multiple times by all interpreters for cross-checking. Using approximately 2.5 percent of plots for cross-checks is a good starting point. The samples that are duplicated should have a unique identification and/or be recorded in some way. .. note:: - Note that we'll discuss this aspect of quality management in Part 4, so don't worry about that at this time. + We will discuss this aspect of quality management in Part 4. -The coordinator should then allocate sample units to interpreters based on some system. Allocation modalities are the modalities by which sample units are allocated to each interpreter e.g. randomly, following experience in a specific area. +The coordinator should then allocate sample units to interpreters based on some system. Allocation modalities are the modalities by which sample units are allocated to each interpreter (e.g. randomly), following experience in a specific area. .. tip:: @@ -2050,14 +2054,14 @@ The coordinator should use a standardized naming structure to distribute the sam X sample units, Interpreter 1, e.g. collection_data_date \n[year/month/day] \n_version_number.csv, Link to cloud storage or folder path to repository -In CEO, multiple interpreters can work on the same project at the same time. This makes it very easy to collect data collaboratively. When you later download the data, each interpreter's email address will be attached to the point they collected. If you use CEO-SEPAL, you cannot collect this information at the time of writing. +In CEO, multiple interpreters can work on the same project at the same time. This makes it very easy to collect data collaboratively. When you later download the data, each interpreter's email address will be attached to the point they collected. If you use CEO-SEPAL, you cannot collect this information (as of the date of writing this article). .. _Section 4.2.3: Collecting data """"""""""""""" -After training and sample allocation, it is time to collect data. This can occur in the CEO-SEPAL interface (for smaller projects) or via CEO for larger or multi-user projects. Here, we will demonstrate collecting data in CEO to ensure compliance with SOP and oversight requiring interpreter names be collected for the points they collect, however the directions are largely the same for the CEO-SEPAL bridge. How to set up a CEO project is discussed in Exercise 4.1 Part 2. How to set up a CEO-SEPAL project is discussed at the end of `Section 4.1.1`_. +After training and sample allocation, it is time to collect data. This can occur in the **CEO-SEPAL** interface (for smaller projects) or via CEO for larger or multiuser projects. Here, we will demonstrate collecting data in CEO to ensure compliance with SOPs and oversight requiring interpreter names be collected for the points they collect; however, the directions are largely the same for the CEO-SEPAL bridge. How to set up a CEO project is discussed in Part 2 of Exercise 4.1. How to set up a CEO-SEPAL project is discussed at the end of `Section 4.1.1`_. Data collection by interpreters +++++++++++++++++++++++++++++++ @@ -2075,23 +2079,23 @@ Data collection in CEO To collect data in CEO, navigate to the project you created in `Section 4.1.2`_. Your screen should look like this: .. figure:: ../_images/workflows/area_estimation/data_collection_CEO.png - :alt: The data collection interface in CEO. + :alt: The data collection interface in CEO :align: center -Select **Go to first plot.** This will take you to your first plot. Answer all of the questions for your first plot by selecting the appropriate answers. If you created multiple questions, you can navigate between questions using the numbers above your question text. Select :code:`Save` to save your answers and move on to the next plot. +Select **Go to first plot**. This will take you to your first plot. Answer all questions for your first plot by selecting the appropriate answers. If you created multiple questions, you can navigate between questions using the numbers above your question text. Select :code:`Save` to save your answers and move on to the next plot. .. figure:: ../_images/workflows/area_estimation/data_collection_process.png - :alt: The data collection process in CEO. + :alt: The data collection process in CEO :align: center -Continue answering questions until you reach the last plot. When you have finished answering all of the questions, go to your Institution's page. +Continue answering questions until you reach the last plot. When you have finished answering all questions, go to your institution's page. .. note:: Your project name should now be green, indicating that all plots have been completed. If it is yellow, select the project name and answer the remaining questions. .. figure:: ../_images/workflows/area_estimation/ceo_sepal_manual.png - :alt: A partly completed project. + :alt: A partially completed project :align: center Select the :code:`S` next to the project. This will download your project's sample data. Save it to your hard drive. @@ -2099,9 +2103,9 @@ Select the :code:`S` next to the project. This will download your project's samp Data collection in CEO-SEPAL bridge +++++++++++++++++++++++++++++++++++ -For this example, go to the web address associated with your CEO-SEPAL bridge project. It should look something like this: https://collect.earth/collection?projectId=18301&tokenKey=b1216bbb-9395-41f8-bc02-f898c98465bf. You must be signed out of CEO for this link to work. +For this example, go to the web address associated with your CEO-SEPAL bridge project (e.g. https://collect.earth/collection?projectId=18301&tokenKey=b1216bbb-9395-41f8-bc02-f898c98465bf). You must be signed out of CEO for this link to work. -Select :code:`Go to first plot`. This will take you to your first plot. With the CEO-SEPAL bridge, there is only one question. It is “CLASS”, where you must assign the appropriate value to your point. The CEO-SEPAL bridge uses the names you entered during the legend labeling stage of the Sample Design. +Select :code:`Go to first plot`. This will take you to your first plot. With the CEO-SEPAL bridge, there is only one question, **CLASS**, where you must assign the appropriate value to your point. The CEO-SEPAL bridge uses the names you entered during the legend labeling stage of the sample design. Select :code:`Save` to save your answers and move on to the next plot. @@ -2110,9 +2114,9 @@ Continue answering questions until you reach the last plot. Data assembly +++++++++++++ -Data assembly is required ONLY when you have multiple data interpreters, each working on their own project. If you have used the CEO pathway above with multiple interpreters contributing to the same project, this step is not needed. +Data assembly is required only when you have multiple data interpreters – each working on their own project. If you have used the CEO pathway above with multiple interpreters contributing to the same project, this step is not needed. -If you have multiple interpreters, after the data collection is completed, the coordinator should create a consolidated database with all the collected sample data. +If you have multiple interpreters, after the data collection is completed, the coordinator should create a consolidated database with all collected sample data. - The coordinator should check that all necessary metadata and sample information is archived and included in the final database. - A description of the column names from the database should be archived with the database. @@ -2122,7 +2126,7 @@ Each sample in the consolidated database notes the round of data collection. The .. tip:: - In CEO, this is handled through the Institution's Project interface. + In CEO, this is handled through the institution's **Project** interface. .. _Section 4.2.4: @@ -2137,13 +2141,13 @@ Also be sure to document all impossible transitions. These should be included in Conduct ongoing hot, cold and auxiliary data checks during data collection and conduct regular review meetings among all interpreters. We'll go through each of these now. -- **Auxiliary data checks**: use an external data source, such as externally created maps, to compare to the sample unit classification. Discrepancies between the two data sets can be flagged for rechecking. Confirmed differences between the two data sets can be documented to showcase why sample-based area estimation may give different results than other data sources. +- **Auxiliary data checks**: use an external data source, such as externally created maps, to compare to the sample unit classification. Discrepancies between the two datasets can be flagged for rechecking. Confirmed differences between the two data sets can be documented to showcase why sample-based area estimation may give different results than other data sources. - The Copernicus Global Land Cover Layers: CGLS-LC100 collection 2, available via GEE, can be used as a comparison layer https://developers.google.com/earth-engine/dataset/catalog/COPERNICUS_Landcover_100m_Proba-V_Global. + The Copernicus Global Land Cover Layers: CGLS-LC100 collection 2, available via GEE, can be used as a comparison layer (see https://developers.google.com/earth-engine/dataset/catalog/COPERNICUS_Landcover_100m_Proba-V_Global). .. tip:: - Ask questions when comparing your map and auxiliary maps: + Ask the following questions when comparing your map and auxiliary maps: - Where do you notice agreement between the two maps? - Where do you notice disagreement between the two maps? @@ -2151,7 +2155,7 @@ Conduct ongoing hot, cold and auxiliary data checks during data collection and c - **Cold checks**: sample units that are randomly selected from the data produced by interpreters. The decisions made by the interpreters are reviewed by the coordinator or group of interpreters meeting together. If the error by the interpreter reflects a systematic error in their interpretation, it is discussed directly with the interpreter and the affected sample units are corrected. - Review the table below that was a result of a cold check you conducted on the plots analyzed by the interpreters. + Review the table below that was a result of a cold check you conducted on the plots analysed by the interpreters. .. note:: @@ -2189,7 +2193,7 @@ Quality control refers to the quality of interpretation through cross-validation Establish a reference interpretation for each of the cross-validation sample units. -Choose a reference interpretation (this should be one of the interpreter's class assignments. This reference interpretation will be the basis for establishing the performance of individual interpreters. +Choose a reference interpretation (this should be one of the interpreter's class assignments; it will be the basis for establishing the performance of individual interpreters). Calculate agreement for each interpreter based on the reference interpretation. For each pair of interpreters, create a confusion matrix and include it in your project documentation. @@ -2256,11 +2260,11 @@ Using the table below, calculate the agreement between interpreters: .. csv-table:: :header: Interpreter, Overall agreement - Sally Ride, Sum of counts in all of the diagonal cells/ Sum of all counts - Rodolfo Vela, Sum of counts in all of the diagonal cells/ Sum of all counts - Yuri Gagarin, Sum of counts in all of the diagonal cells/ Sum of all counts + Sally Ride, Sum of counts in all of the diagonal cells/Sum of all counts + Rodolfo Vela, Sum of counts in all of the diagonal cells/Sum of all counts + Yuri Gagarin, Sum of counts in all of the diagonal cells/Sum of all counts -Per-class agreement among interpreters should be analyzed and reported as follows: +Per-class agreement among interpreters should be analysed and reported as follows: ..csv-table :header: , All interpreters agreeing, One interpreter disagreeing, Two interpreters disagreeing, etc. @@ -2303,22 +2307,19 @@ Area and uncertainty estimation The final step of calculating the sample-based estimates of error and area involves taking the map areas (generated in `Section 4.1`_) and your verification data points from our data collection (`Section 4.2`_), conducted according to the response design rules (`Section 4.1`_), and using statistics to output the final estimates of area and uncertainty. -In `Section 4.3.1`_, we provide an optional description of error matrices, also called confusion matrices. This provides the underlying theory for using the SEPAL “Stratified estimator--Analysis” tool to conduct the area and uncertainty estimation. This tool quantifies the agreement between the validation reference points and the map product, providing information on how well the class locations were predicted. -Please note that you will need to upload your collected data from CEO to Sepal using the directions found in `section 4.1.1`_. If you used the CEO-SEPAL bridge, you must log out of CEO for the “Import CEO Project” link to work. - -.. note:: +In `Section 4.3.1`_, we provide an optional description of error matrices, also called confusion matrices. This provides the underlying theory for using the SEPAL **Stratified estimator--Analysis** tool to conduct the area and uncertainty estimation. This tool quantifies the agreement between the validation reference points and the map product, providing information on how well the class locations were predicted. - **objectives**: +Please note that you will need to upload your collected data from CEO to SEPAL using the directions found in `Section 4.1.1`_. If you used the CEO-SEPAL bridge, you must log out of CEO for the **Import CEO Project** link to work. - - Create area estimate for your classification. - - Create uncertainty/error estimate for your classification. + **Objectives**: -.. note:: + - create area estimate for your classification; and + - create uncertainty/error estimate for your classification. **Prerequisites**: - - Completed verification data, or reference data (`Section 4.2`_). - - Map areas generated by your sampling design (`Section 4.1`_). + - completed verification data, or reference data (`Section 4.2`_); and + - map areas generated by your sampling design (`Section 4.1`_). .. _Section 4.3.1: @@ -2329,125 +2330,124 @@ Understanding the error matrix This step is optional. -A common tool to quantify agreement is the error matrix (sometimes called a confusion matrix). The error matrix organizes the acquired sample data in a way that summarizes key results and aids the quantification of accuracy and area. This is a simple cross-tabulation that compares the (algorithm assigned) map category labels to the (human assigned) reference category labels (your validation classification). The count for each pairwise combination are included in the blue and yellow cells in the following example. +A common tool to quantify agreement is the error matrix (sometimes called a confusion matrix). The error matrix organizes the acquired sample data in a way that summarizes key results and aids the quantification of accuracy and area. This is a simple cross-tabulation that compares the (algorithm-assigned) map category labels to the (human-assigned) reference category labels (your validation classification). The count for each pair-wise combination are included in the blue and yellow cells in the following example. .. figure:: ../_images/workflows/area_estimation/confusion_matrix_example.png - :alt: A confusion matrix example. + :alt: A confusion matrix example :align: center - The main diagonal of the error matrix (blue cells) includes the count of the number of correct classifications. - The off-diagonal elements (yellow cells) show map classification errors. -- The user's accuracy can be quantified by dividing the number of correctly classified plots by the sum of the plots classified as the mapped class. For the forest class in the example above, this is 17 correctly identified points divided by 19 total forest plots. User's accuracies for each class are shown in the orange cells. User's accuracy is the complement of errors of commission (sites that are classified as forest in the map, but are not actually forest). +- The user's accuracy can be quantified by dividing the number of correctly classified plots by the sum of the plots classified as the mapped class. For the forest class in the example above, this is 17 correctly identified points divided by 19 total forest plots. User's accuracies for each class are shown in the orange cells (user's accuracy is the complement of errors of commission – sites that are classified as forest in the map but are not actually forest). - The producer's accuracy can be quantified by dividing the number of correctly classified plots by the sum of the plots classified as the mapped class in the validation reference sample. For the forest class in the example above, this is 17 correctly identified points divided by 20 samples that were classified as forest from the reference data. Producer's accuracies for each class are shown in the pink cells. Producer's accuracy is the complement of errors of omission (sites that are not classified as forest in the map that are actually forest). - For your own data, calculate an error matrix following the above guidelines. .. figure:: ../_images/workflows/area_estimation/example_error_matrix.png - :alt: An example error matrix. + :alt: An example error matrix :align: center Here's a completed example for a project using 4 classes: .. figure:: ../_images/workflows/area_estimation/example_error_matrix_4class.png - :alt: Example error matrix for a 4 class project. + :alt: Example error matrix for a four-class project :align: center -In this example, the user's accuracy for Forest is 94.7%; so the error of commission is 5.3%. The user's accuracy for water is 90%, which means the error of commission is 10%. What this means is that according to the reference data, the map creator mapped 5.3% of Forest land cover in the wrong class and 10% of water in the wrong class. The producer's accuracy for Forest is 75%, meaning the error of omission is 25%. The producer's accuracy for water is 90%, so the error of omission is 10%. This means that 25% of the forest reference samples were mapped in the wrong land cover class, while only 10% of water was mapped in the wrong class. Calculate the errors of omission and commission for Other and Cloud land cover classes. +In this example, the user's accuracy for Forest is 94.7 percent; the error of commission is 5.3 percent. The user's accuracy for water is 90 percent, which means the error of commission is 10 percent. What this means is that according to the reference data, the map creator mapped 5.3 percent of Forest land cover in the wrong class and 10 percent of water in the wrong class. The producer's accuracy for Forest is 75 percent, meaning the error of omission is 25 percent. The producer's accuracy for water is 90 percent, so the error of omission is 10 percent. This means that 25 percent of the forest reference samples were mapped in the wrong land cover class, while only 10 percent of water was mapped in the wrong class. Calculate the errors of omission and commission for Other and Cloud land cover classes. Once the error matrix is created, the area estimation becomes straightforward. Essentially, we use the frequency of these errors of omission and commission for each map class to calculate updated map areas based on our knowledge of how likely each class is to be classified as something else. We can also calculate the uncertainties for the total area of each class. -At the heart of the analysis is the implementation of an unbiased area estimator. Different estimators can be implemented to assess accuracy. In the next part, you will use a stratified estimation since you have a sample stratified by the discrete map classes. +At the heart of the analysis is the implementation of an unbiased area estimator. Different estimators can be implemented to assess accuracy. In the next part, you will use stratified estimation since you have a sample stratified by the discrete map classes. .. _Section 4.3.2: -Preparing your CEO collected data for analysis in SEPAL +Preparing your CEO-collected data for analysis in SEPAL """"""""""""""""""""""""""""""""""""""""""""""""""""""" .. note:: This step is optional. -Open the CSV file you downloaded from CEO in `Section 4.2.3`_. It will probably have a name like “ceo-project-name-sample-data-yyyy-mm-dd.csv”. Inspect the column data. +Open the .csv file you downloaded from CEO in `Section 4.2.3`_. It will probably have a name like “ceo-project-name-sample-data-yyyy-mm-dd.csv”. Inspect the column data. You should have: - A column named “PL_MAP_CLASS” that consists of numeric values. These are the classes assigned by the classification. -- A column with your question about the correct map class as the column header. In this example, it is: “IS THIS FOREST OR NON-FOREST”. +- A column with your question about the correct map class as the column header. In this example, it is: **IS THIS FOREST OR NON-FOREST**. These are the classes you assigned manually in CEO based on map imagery. This will either be numeric (1 or 2) or text (Forest and Non-forest) depending on how you set up your CEO project. .. note:: - If your column for the correct map class is numeric, you can directly save your CSV file and upload it to SEPAL. + If your column for the correct map class is numeric, you can directly save your .csv file and upload it to SEPAL. If your column for the correct map class is text, you will need to either: -- Check that your text column matches exactly the Legend Labels you added during sample design (Exercise 4.1). -- Check that capitalization is the same, e.g. Non-forest and Non-forest not Non-forest and non-forest. -- OR Create another column with the associated numeric value. In this very case: +- check that your text column matches exactly the legend labels you added during sample design (Exercise 4.1); +- check that capitalization is the same (e.g. Non-forest and Non-forest not Non-forest and non-forest); or +- create another column with the associated numeric value. In this case: - - First, create a new column and name it COLLECTED_CLASS. + - First, create a new column and name it **COLLECTED_CLASS**. - In the formula cell, type: =IF([text column letter]2="Forest",1,2). For this example, the text column letter is U. .. note:: - This will use an "if statement" to assign the number 1 to sample plots you assigned the value “Forest” to, and the number 2 to other plots (here, plots labeled Non-forest). If you have more than two classes, you will need to use nested if statements. + This will use an *if statement* to assign the number 1 to sample plots you assigned the value “Forest” to, and the number 2 to other plots (here, plots labeled Non-forest). If you have more than two classes, you will need to use nested if statements. - - Press enter. You should now see either a 1 or a 2 populate the column. Double check that it is the correct value. + - Press enter. You should now see either a 1 or a 2 populate the column. Double-check that it is the correct value. - Fill the entire column. .. figure:: ../_images/workflows/area_estimation/example_dataset.png - :alt: An example dataset. + :alt: An example dataset :width: 400 :align: center -Save your CSV file and upload it to SEPAL. +Save your .csv file and upload it to SEPAL. .. _Section 4.3.3: Using the stratified estimator in SEPAL """"""""""""""""""""""""""""""""""""""" -The aim of this stratified sampling design tool is to analyze results from a stratified sampling design that can be used for area estimates. The idea is to combine a map (used as a stratification of the landscape of interest) with a visual map interpretation of samples to produce an area estimation. +The aim of this stratified sampling design tool is to analyse results from a stratified sampling design that can be used for area estimates. The idea is to combine a map (used as a stratification of the landscape of interest) with a visual map interpretation of samples to produce an area estimation. The concept is derived from map accuracy assessment principles: characterized frequency of errors (omission and commission) for each map class may be used to compute area estimates and also to estimate the uncertainties (confidence intervals) for the areas for each class. -First, open the Stratified Area Estimator-Analysis Tool. In the Apps SEPAL window, select Stratified Area Estimator - Analysis. This tool is very similar to the Design tool that you used to create your stratified sample. +First, open the **Stratified Area Estimator-Analysis** tool. In the SEPAL **Apps** window, select **Stratified Area Estimator - Analysis**. This tool is very similar to the **Design** tool that you used to create your stratified sample. -You will land on the **Introduction** page which allows you to choose your language and provides background information on the tool. Note that Reference and Documents are in the same place as the Design tool. The pages that contain the necessary steps for the workflow are on the left side of the screen and need to be completed sequentially. +You will land on the **Introduction** page which allows you to choose your language and provides background information on the tool. Note that **Reference** and **Documents** are in the same place as the **Design** tool. The pages that contain the necessary steps for the workflow are on the left side of the screen and need to be completed sequentially. .. figure:: ../_images/workflows/area_estimation/stratified_estimator_analysis_tool.png - :alt: The stratified estimator analysis tool. + :alt: The stratified estimator analysis tool :align: center Select the **Inputs** page on the left side of the screen. You will see two data requirements under the **Select input files** section. -- **Reference Data**: this refers to the table that you classified and exported in the previous section. It will contain a column that identifies the map output class for each point as well as a column for the value from the image interpreter (validation classification). +- **Reference Data**: This refers to the table that you classified and exported in the previous section. It will contain a column that identifies the map output class for each point as well as a column for the value from the image interpreter (validation classification). - - For projects completed in CEO: Select the **Reference data** button and navigate to the CSV file you downloaded from CEO and then uploaded to SEPAL in `Section 4.3.2`_. + - For projects completed in CEO: Select the **Reference data** button and navigate to the .csv file you downloaded from CEO and then uploaded to SEPAL in `Section 4.3.2`_. - For projects completed in the CEO-SEPAL bridge: - Check that you are signed out of the CEO website. - - Paste the URL from your CEO-SEPAL bridge project into the field marked **CEO url**. You can also click the **Paste CEO url from clipboard** button. - - Click :code:`Import CEO project`. This will populate the input file for the Reference data as well as the column names. + - Paste the URL from your CEO-SEPAL bridge project into the field marked **CEO URL**. You can also click the **Paste CEO URL from clipboard** button. + - Select :code:`Import CEO project`. This will populate the input file for the reference data as well as the column names. -- **Area data**: This is a CSV file that was automatically created during the Stratified Area Estimator--Design workflow. It contains area values for each mapped land cover class. +- **Area data**: This is a .csv file that was automatically created during the **Stratified Area Estimator – Design** workflow. It contains area values for each mapped land cover class. - Select the **Area data** button. - - Open the **sae_design_AmazonClassification** folder, or the folder labeled :code:`sae_design_your-name-here`, if you did not call your classification **AmazonClassification**. As a reminder, if you exported your classification to the SEPAL workspace, the file will be in your SEPAL downloads folder. (downloads > classification folder > sae_design_AmazonClassification). Within this folder, select **area_rast.csv** (see image below). + - Open the **sae_design_AmazonClassification** folder, or the folder labeled :code:`sae_design_your-name-here` (if you did not call your classification **AmazonClassification**). As a reminder, if you exported your classification to the SEPAL workspace, the file will be in your SEPAL **Downloads** folder. (downloads > classification folder > sae_design_AmazonClassification). Within this folder, select **area_rast.csv** (see image below). .. figure:: ../_images/workflows/area_estimation/add_classification.png - :alt: Adding the classification. + :alt: Adding the classification :width: 450 :align: center -Next, you will need to adjust some parameters so that the tool recognizes the column names for your reference data and area data that contain the necessary information for your accuracy assessment. You should now see a populated **Required input** panel on the right side of the screen. +Next, you will need to adjust some parameters so that the tool recognizes the column names for your reference data and area data that contain the necessary information for your accuracy assessment. You should now see a populated **Required input** pane on the right side of the screen. Choose the column with the reference data information. .. note:: - - For projects completed in CEO: This will either be your question name or the new column name you created in Part 2 above. Here it is COLLECTED_CLASS following the directions in `Section 4.3.2`_. + - For projects completed in CEO: This will either be your question name or the new column name you created in Part 2 above. Here, it is COLLECTED_CLASS (following the directions in `Section 4.3.2`_). - For projects completed in CEO-SEPAL: ref_code Choose the column with the map data information. @@ -2463,42 +2463,42 @@ Choose the class column from the area file—map_code or map_edited_class. The m .. note:: - - For projects completed in CEO: Use map_code if you have a column in your reference data. If you use map_edited_class you must make sure that capitalization. + - For projects completed in CEO: Use map_code if you have a column in your reference data. If you use map_edited_class, you must make sure that capitalization is consistent. - For projects completed in CEO-SEPAL, use map_code. You can add a **Display data** column to enable validation on the fly. You can choose any column from your CEO or CEO-SEPAL project. We recommend either your map class (e.g. PL_MAP_CLASS) or your reference data class (e.g. question name column). This example uses a CEO project. .. figure:: ../_images/workflows/area_estimation/required_input_fields.png - :alt: The required input fields. + :alt: The required input fields :width: 450 :align: center -Once you have set these input parameters, select :code:`Check` on the left side of the window. This page will simply plot your samples on a world map. Fix the locations of your plots by specifying the correct columns to use as the X and Y coordinates in the map. Select the drop down menus and choose the appropriate coordinate columns for X and Y coordinates. X coordinate should be LON; Y coordinate should be LAT. +Once you have set these input parameters, select :code:`Check` on the left side of the window. This page will simply plot your samples on a world map. Fix the locations of your plots by specifying the correct columns to use as the X and Y coordinates in the map. Select the dropdown menus and choose the appropriate coordinate columns for the X and Y coordinates. The X coordinate should be LON; the Y coordinate should be LAT. Next, select the :code:`Results` page on the left side of the screen. -The **Results** page will display a few different accuracy statistics, including a **Confusion Matrix, Area Estimates,** and a **Graph** of area estimates with confidence intervals. The Confusion Matrix enables you to assess the agreement of the map and validation data sets. +The **Results** page will display a few different accuracy statistics, including a **Confusion Matrix, Area Estimates,** and a **Graph** of area estimates with confidence intervals. The Confusion Matrix enables you to assess the agreement of the map and validation datasets. -The rows represent your assignments, while the columns represent the map classifier's. The diagonal represents the number of samples that are in agreement, while the off diagonal cells represent points that were not mapped correctly (or potentially not interpreted correctly). +The rows represent your assignments, while the columns represent the map classifiers. The diagonal represents the number of samples that are in agreement, while the off-diagonal cells represent points that were not mapped correctly (or potentially not interpreted correctly). .. figure:: ../_images/workflows/area_estimation/confusion_matrix_output_sepal.png - :alt: The confusion matrix output by SEPAL. + :alt: The confusion matrix output by SEPAL :width: 450 :align: center -Typically, you would have to create the confusion table yourself and calculate the accuracies; however, the SAE-Analysis tool does this for you. +Typically, you would have to create the confusion table yourself and calculate the accuracies; however, the **SAE-Analysis** tool does this for you. .. seealso:: - - If you completed `Section 4.3.1`_, how does the SAE-Analysis tool's calculations compare with your own? - - You can download the confusion matrix as tabular data (a CSV file) using the button. + - If you completed `Section 4.3.1`_, how does the **SAE-Analysis** tool's calculations compare with your own? + - You can download the confusion matrix as tabular data (a .csv file) using the button. -Under **Area estimates**, the table shows you the area estimates, and producer's and user's accuracies, all of which were calculated from the error matrix and the class areas (sample weights) from the map product you are assessing. +Under **Area estimates**, the table shows you the area estimates, as well as producer's and user's accuracies – all of which were calculated from the error matrix and the class areas (sample weights) from the map product you are assessing. -Estimations are broken up into simple and stratified estimates, each of which has its own confidence interval. In this exercise we collected validation data using a stratified sample, so the values we need to use are the stratified random values. Note that all area estimates are in map units. You can change your desired **confidence interval** by using the slider at the top of the panel. You can Download area estimates as tabular data (a CSV file) using the button. +Estimations are broken up into simple and stratified estimates, each of which has its own confidence interval. In this exercise we collected validation data using a stratified sample, so the values we need to use are the stratified random values. Note that all area estimates are in map units. You can change your desired **confidence interval** by using the slider at the top of the pane. You can **Download area estimates** as tabular data (a .csv file) using the button. .. figure:: ../_images/workflows/area_estimation/area_estimate.png - :alt: The Area estimates screen in SEPAL. + :alt: The Area estimates screen in SEPAL :align: center The **Graph** plots area estimates based on: map pixel count, stratified random sample, simple random sample, unbiased stratified random and direct estimate stratified random. @@ -2507,10 +2507,10 @@ In this exercise, we collected validation data using a stratified sample, so the .. note:: - The Map pixel count value differs from these stratified random sample estimates. This shows how using a Map pixel count is a poor estimation of actual area. + The map pixel count value differs from these stratified random sample estimates. This shows how using a map pixel count is a poor estimation of actual area. .. figure:: ../_images/workflows/area_estimation/area_estimate_graph.png - :alt: A graph of the area estimates based on different sample design. + :alt: A graph of the area estimates based on different sample design :width: 450 :align: center @@ -2521,7 +2521,7 @@ Documentation and archiving Documentation of your area estimate and archiving this information for future reference are critical in order to replicate your estimation process. Examples where you would want to repeat your analysis include different areas (states, provinces, ecological regions) or time periods (months, years). -We have built in documentation steps into other modules of this guide; however here we bring this information together. We discuss key documentation steps, including logging decision points (`Section 5.1`_), Reporting (`Section 5.2`_), Commenting in code (`Section 5.3`_), and Version control (`Section 5.4`_), as well as archiving steps (`Section 5.5`_). +We have built in documentation steps into other modules of this guide; however here we bring this information together. We discuss key documentation steps, including logging decision points (`Section 5.1`_), Reporting (`Section 5.2`_), Commenting in code (`Section 5.3`_), and Version control (`Section 5.4`_), as well as Archiving steps (`Section 5.5`_). This module should take approximately 1 hour to read. The time taken to complete this module for your specific situation will vary depending on the size and scope of your project. @@ -2532,26 +2532,26 @@ Logging decision points Logging decision points is a critical part of documenting your area estimation process and being able to recreate your estimation process. -A decision point is anywhere where you make a decision about your project that can change the outcome (e.g. “We decided that pixels with over 75% tree cover should be classified as Forest cover” is a decision point). +A decision point is anywhere where you make a decision about your project that can change the outcome (e.g. “We decided that pixels with over 75 percent tree cover should be classified as Forest cover” is a decision point). In the previous modules, we have suggested that you document these types of decision points as you go along. This includes: * `Module 2`_: - * Logging your land use decision tree (`Section 2.1`_). - * Logging your land use classification definitions (`Section 2.1`_). - * Settings used for classification, along with any refinements (`Section 2.4`_). + * logging your land use decision tree (`Section 2.1`_); + * logging your land use classification definitions (`Section 2.1`_); and + * settings used for classification, along with any refinements (`Section 2.4`_). * `Module 3`_: - * Logging two date change detection decisions, including what classes can change and imagery and processes used in the classification (`Section 3.1`_) + * logging two-date change detection decisions, including what classes can change and imagery and processes used in the classification (`Section 3.1`_). * `Module 4`_: - * Stratification choices (`Section 4.1`_). - * Data collection procedures (`Section 4.2`_). + * stratification choices (`Section 4.1`_); and + * data collection procedures (`Section 4.2`_). -You may also choose to follow your organization's Standard Operating Procedures (e.g. https://drive.google.com/file/d/1u4sXx6Y8qPKvbIYJFide5EI6L_ygpS5p/view?usp=sharing). +You may also choose to follow your organization's SOPs (e.g. https://drive.google.com/file/d/1u4sXx6Y8qPKvbIYJFide5EI6L_ygpS5p/view?usp=sharing). .. _Section 5.2: @@ -2564,56 +2564,56 @@ Here we provide a rough outline of what you should include in your reporting. In your report, you should include: -- An introduction, describing why the project was completed and any goals of the project. -- Your project's methods (how your project was completed), including: +- an introduction, describing why the project was completed and any goals of the project +- your project's methods (how your project was completed), including: - - All tools used in your analysis. - - All decision points (`Section 5.1`_). - - Any other information needed to recreate your project. + - all tools used in your analysis + - all decision points (`Section 5.1`_) + - any other information needed to recreate your project -- Your project results: +- your project results: - - Your area estimation (`Section 4.3`_). - - The error associated with your classification (`Section 4.3`_). - - A comparison of any self checks (one interpreter) and cross checks (between interpreters) with the main sets of plots. + - your area estimation (`Section 4.3`_). + - the error associated with your classification (`Section 4.3`_) + - a comparison of any self-checks (one interpreter) and cross-checks (between interpreters) with the main sets of plots. -- Any actions or next steps arising from your analysis. +- any actions or next steps arising from your analysis. Writing your report will take time and attention. Documenting your steps along the way, as discussed in Modules 1-4 and Exercise 5.1 will help you write your report more efficiently. .. attention:: - **Always follow your organization's reporting guidelines** (e.g. if your estimation is developed to support a National Forest Monitoring System, you will need to comply with UN reporting standards). + **Always follow your organization's reporting guidelines** (e.g. if your estimation is developed to support a NFMS, you will need to comply with UN reporting standards). -FAO's Standard Operating Procedure requires reports include at least the following information about the data collection process: +FAO's SOP requires reports to include at least the following information about the data collection process: -- A brief narrative on the modalities for data collection. -- The interpreters, their contact information, institutions and roles. -- Overview of sample unit allocation to interpreters and any subsequent revisions made to the allocation. -- A summary of the training conducted that details the topics covered. -- A list of attendees for the training and their attendance record. -- Challenges and limitations during the data collection. -- Potential sources of bias during the data collection. -- Impossible transitions excluded from data collection. -- The results of the assessment of interpretation quality. -- External appraisal of interpretation quality contact information and narrative report from the appraiser +- a brief narrative on the modalities for data collection; +- the interpreters, their contact information, institutions and roles; +- overview of sample unit allocation to interpreters and any subsequent revisions made to the allocation; +- a summary of the training conducted that details the topics covered; +- a list of attendees for the training and their attendance record; +- challenges and limitations during the data collection; +- potential sources of bias during the data collection; +- impossible transitions excluded from data collection; +- the results of the assessment of interpretation quality; and +- external appraisal of interpretation quality contact information and narrative report from the appraiser. .. _Section 5.3: -Commenting in Scripts +Commenting in scripts ^^^^^^^^^^^^^^^^^^^^^ While none of the steps involved in this manual require writing code, more complex classification projects may use programming environments such as GEE. This exercise discusses best practices for commenting your code if you use tools such as GEE. Leaving comments in your code can be a helpful way to describe information of what a particular function does, leave warnings or considerations to other programmers (including your future self!), provide key information on licensing, or save information on what you still want to complete while coding. In this section, we will briefly demonstrate both good and bad commenting techniques. -When commenting your code you should take into account your target audience. Is your code going to be used for a workshop? Will it be read by other scientists or programmers? Will you lose access to it after submitting it to a publication or project partner? Answering these questions will help you determine what approach to take when commenting your code. +When commenting your code, you should take into account your target audience. Is your code going to be used for a workshop? Will it be read by other scientists or programmers? Will you lose access to it after submitting it to a publication or project partner? Answering these questions will help you determine what approach to take when commenting. Many of these tips are derived from the suggestions laid out in Robert C. Martins' book *Clean Code*, which would be a good reference if you would like to learn more about coding cleanly and commenting: - **Keep comments short**. Keeping your comments short is helpful to both the writer of the comment and the reader. Having multiple long comments in your code can lead to readers skipping over them and thus making them inefficient. Long comments can start to clutter your code. -- It is best to use comments **sparingly**; when possible, **rename variables** or use functions to reflect what you would like to have commented. Comments can quickly become outdated and are less of a priority to update. Comments are a representation of what your code does, but can sometimes be misleading. +- It is best to use comments **sparingly**; when possible, **rename variables** or use functions to reflect what you would like to have commented. Comments can quickly become outdated and are less of a priority to update. Comments are a representation of what your code does, but can sometimes be misleading. - Using comments to add some informative content or explain the intent behind your code, but **don't be redundant**. Informative comments are little snippets of information that aid in reading through your code. A comment explaining your intent can be useful where the processing you have done is slightly complicated to read through. @@ -2703,7 +2703,7 @@ In this exercise we will touch upon how to be transparent with your code and sav Version Control and Git """"""""""""""""""""""" -Version control is “a system that records changes to a file or set of files over time so that you can recall specific versions later” (Git 2020; Online at: https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control). Version control can be applied to many different file types, but is most commonly used with text based code, such as Python and R scripts. +Version control is “a system that records changes to a file or set of files over time so that you can recall specific versions later” (Git, 2020; see https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control). Version control can be applied to many different file types, but is most commonly used with text-based code, such as Python and R scripts. .. note:: @@ -2711,19 +2711,19 @@ Version control is “a system that records changes to a file or set of files ov We'll start by exploring how version control can be used to keep track of what one person did and when. -We've all been in this situation before: it seems ridiculous to have multiple nearly-identical versions of the same document. Some word processors let us deal with this a little better, such as Microsoft Word's Track Changes, Google Docs' version history, or LibreOffice's Recording and Displaying Changes. +We've all been in this situation before: it seems ridiculous to have multiple, nearly identical versions of the same document. Some word processors let us deal with this a little better, such as Microsoft Word's Track Changes, Google Docs' Version History, or LibreOffice's Recording and Displaying Changes. Version control systems start with a base version of the document and then record changes you make each step of the way. You can think of it as a recording of your progress: you can rewind to start at the base document and play back each change you made, eventually arriving at your most recent version. .. figure:: ../_images/workflows/area_estimation/version_control_system.png - :alt: Figure showing how version control systems work. + :alt: Figure showing how version control systems work Once you think of changes as separate from the document itself, you can then think about “playing back” different sets of changes on the base document, ultimately resulting in different versions of that document (e.g. two users can make independent sets of changes on the same document). .. figure:: ../_images/workflows/area_estimation/version_control_multiple_contributors.png :alt: Version control with multiple contributors. -A version control system is a tool that keeps track of these changes for us, effectively creating different versions of our files. It allows us to decide which changes will be made to the next version (each record of these changes is called a `commit `_, and keeps useful metadata about them. The complete history of commits for a particular project and their metadata make up a `repository `_. Repositories can be kept in sync across different computers, facilitating collaboration among different people.” +A version control system is a tool that keeps track of these changes for us, effectively creating different versions of our files. It allows us to decide which changes will be made to the next version (each record of these changes is called a `commit `_, and keeps useful metadata about them. The complete history of commits for a particular project and their metadata make up a `repository `_. Repositories can be kept in sync across different computers, facilitating collaboration among different people. Of version control systems, Git (and implementation GitHub that includes a GUI Desktop version) is perhaps the most widely used. Here we provide a very basic overview of Git and links to additional resources. @@ -2733,18 +2733,18 @@ This is also a great way to share or collaborate on code. You can easily send a .. seealso:: - If you would like to learn more about Git or version control, you can work through the Software Carpentry workshop at your own pace here: http://swcarpentry.GitHub.io/git-novice/. + If you would like to learn more about Git or version control, you can work through the Software Carpentry workshop at your own pace here: http://swcarpentry.GitHub.io/git-novice. You can work through how to set up a Git repository system for yourself or your organization (unpaid but must run locally or on your own servers). .. note:: - - Information on Git can be found here: https://git-scm.com/. - - Information on GitHub, including how to sign up, can be found here: https://github.com/ (GitHub has free and paid service tiers). + - Information on Git can be found here: https://git-scm.com. + - Information on GitHub, including how to sign up, can be found here: https://github.com (GitHub has free and paid service tiers). .. tip:: - With https://zenodo.org/ and GitHub together, you can create DOI numbers for versions of your code for publication. + With https://zenodo.org and GitHub together, you can create DOI numbers for versions of your code for publication. GEE version control """"""""""""""""""" @@ -2752,14 +2752,14 @@ GEE version control GEE has implemented version control and version history for all scripts and repositories written on the platform. To access the version control, Select the history icon next to a script in order to compare or revert it to an older version. .. figure:: ../_images/workflows/area_estimation/gee_scripts.png - :alt: The GEE scripts tab. + :alt: The GEE scripts tab :width: 450 :align: center Detailed information can be found under “Development Environments: Earth Engine Code Editor” here: https://developers.google.com/earth-engine/guides/playground .. figure:: ../_images/workflows/area_estimation/earth_engine_code_editor.png - :alt: GEE code editor. + :alt: GEE code editor :align: center .. _Section 5.5: @@ -2774,25 +2774,25 @@ Data archiving For data archiving, the following information needs to be compiled: -- A database of the sample data collected by the interpreters, including: +- a database of the sample data collected by the interpreters, including: - - The geographical coordinates in define coordinate or projection system. - - The unique identification code for each sample unit. - - The interpretation of all sample units including the previous interpretation(s) of the sample unit in the case this was revised or corrected. + - the geographical coordinates in defined coordinates or projection system; + - the unique identification code for each sample unit; and + - the interpretation of all sample units including the previous interpretation(s) of the sample unit in the case this was revised or corrected. -- The interpretation of sample units conducted by the coordinator. -- Metadata regarding the interpreter that collected the sample data, when the data was collected, which data sources were used. +- the interpretation of sample units conducted by the coordinator +- metadata regarding the interpreter that collected the sample data, when the data was collected, and which data sources were used. -Think about the work you did in completing Modules 1-4. What other data do you think should be archived? What would be helpful to your colleagues or yourself in the future looking to replicate your work? +Think about the work you did in completing Module 1, Module 2, Module 3 and Module 4. What other data do you think should be archived? What would be helpful to your colleagues or yourself in the future looking to replicate your work? You should store the data collection report, your data tables, any metadata, etc. in a standard format. When naming files, you should follow a naming convention, such as Data collection_data_date[year/month/day]_version number (FAO SOP). When writing your documentation report, you should include links to your data storage locations. Creating metadata """"""""""""""""" -This worksheet is designed to assist you in becoming more efficient and informed about documenting and archiving information related to the planning, preparation, and management of remote sensing dataset and analysis, such as analyses conducted for forest inventory monitoring (e.g. REDD+ activities). +This worksheet is designed to assist you in becoming more efficient and informed about documenting and archiving information related to the planning, preparation and management of remote sensing datasets and analysis, such as analyses conducted for forest inventory monitoring (e.g. REDD+ activities). -Documentation and archiving remote sensing analysis methods ensures that there is transparency and makes it easier to replicate or improve methods as programs increase in complexity and robustness. For more information on the good practice recommendations for documentation, archiving and reporting, please refer to the 2006 IPCC Guidelines (Vol. 1, Chp. 6, Section 11). +Documentation and archiving remote sensing analysis methods ensures that there is transparency and makes it easier to replicate or improve methods as programs increase in complexity and robustness. For more information on the good practice recommendations for documentation, archiving and reporting, please refer to the 2006 IPCC Guidelines (Volume 1, Chapter 6, Section 11). Below, we have provided you with headings and some questions for each step in the metadata creation process, including where you should provide information about your workflow in order to ensure transparency about your data and processing steps, and to comply with best practices. The information you provide below should be sufficient and clear enough so that someone else can understand how the analysis was conducted and would be able to replicate it. @@ -2813,7 +2813,7 @@ When completing this exercise, think about the work you have completed in the fi .. line-break:: .. csv-table:: - :header: "Creating Band Ratios, Indices and Image \Transformation for use in Classification and Change Detection Analysis", + :header: "Creating Band Ratios, Indices and Image Transformation for use in Classification and Change Detection Analysis", :widths: 50, 50 Software used, @@ -2827,8 +2827,8 @@ When completing this exercise, think about the work you have completed in the fi :header: Image Classification Scheme, :widths: 50, 50 - "Document Clear definitions for classes or categories (i.e., land-use categories defined by the IPCC as: Forest Land, Cropland, Grassland, Wetlands, Settlements, and Other Land)", - "Have you identified any categories as \“Key Categories\”? How is the analysis different? Please refer to Volume 1, Chapter 4 of the 2006 IPCC Guidelines on what defines a \“Key Category\”.", + "Document Clear definitions for classes or categories (i.e. land-use categories defined by the IPCC as: Forest Land, Cropland, Grassland, Wetlands, Settlements and Other Land)", + "Have you identified any categories as “Key Categories”? How is the analysis different? Please refer to Volume 1, Chapter 4 of the 2006 IPCC Guidelines on what defines a “Key Category”.", Assess RS results, Assumptions (Note: Need to archive outputs before proceeding with analysis), @@ -2872,7 +2872,7 @@ Conclusion .. note:: - **Congratulations! You have completed the SEPAL-CEO Area Estimation cookbook!** + **Congratulations! You have completed the SEPAL-CEO Area Estimation recipe!** Now you know: From 8ae28d0f099ce038f71d3203c6d614df56d62360 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Wed, 13 Dec 2023 14:42:36 +0100 Subject: [PATCH 003/110] Update presentation.rst Finalized. Ready to be published. --- docs/source/setup/presentation.rst | 35 ++++++++++++++++-------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/docs/source/setup/presentation.rst b/docs/source/setup/presentation.rst index 7b8e24e206..7f8af97814 100644 --- a/docs/source/setup/presentation.rst +++ b/docs/source/setup/presentation.rst @@ -1,6 +1,6 @@ Introduction to SEPAL ===================== -*Become familiar with the platform and learn how to access features to facilitate remote sensing exercises* +*Learn the basics of the platform and how to access features* In this article, learn to: @@ -10,7 +10,7 @@ In this article, learn to: Prequisities include: - internet access -- SEPAL account (see **Register to SEPAL and other key platforms** section) +- SEPAL account (see `Register `_) Access SEPAL ------------ @@ -21,7 +21,7 @@ Access SEPAL 4. Select :btn:`Login`. .. thumbnail:: ../_images/setup/presentation/sepal_login.png - :title: SEPAL log-in page + :title: SEPAL login page :width: 70% :align: center @@ -37,7 +37,7 @@ Choose a language for your SEPAL environment by following the instructions in th .. note:: - Language preferences can always be changed from the platform's launch page (http://sepal.io). + Language preferences can always be changed from the platform's `launch page `_ The default language in SEPAL is English; however, other languages are available (currently French and Spanish). @@ -45,7 +45,7 @@ To change the language to either French or Spanish: 1. Go to http://sepal.io. 2. Select :code:`Launch`. -3. In the upper-right corner, select **en**, **es** or **fr** (English, Spanish and French, respectively). +3. In the upper-right corner, select **EN**, **ES** or **FR** (English, Spanish and French, respectively). SEPAL interface --------------- @@ -60,6 +60,7 @@ After logging in, you will see the following screen. :align: center :width: 70% + On the left, there are four main navigation buttons in the vertical **Tabs** bar (from top to bottom): - **Process**: Select imagery and create mosaics. @@ -73,9 +74,9 @@ Below the vertical **Tabs** bar – on the left – is another button: In the lower-right corner there are four buttons (from right to left): -- **Log-out from SEPAL** (displayed as a door with an arrow) +- **Log out from SEPAL** (displayed as a door with an arrow) - **User details** (displayed as your username) -- **User report** (displayed as "$ 0/h") +- **User report** (displayed as **$ 0/h**) - **User messages** (displayed as a bell) In the **User details** pop-up window, you can: @@ -103,7 +104,7 @@ In the **User report** pop-up window, you can view the status (used/available) o - **Sessions** refers to any processes in your current session, if you are running any. .. thumbnail:: ../_images/setup/presentation/user_report_panel.png - :title: **User report** panel + :title: User report panel :width: 350px :align: center @@ -122,7 +123,7 @@ In the vertical **Tabs** bar on the left, select the :code:`Process` button. :align: center :width: 70% -You should now see many options in the center of the screen: +You should now see many options in the centre of the screen: - **Optical mosaic**: Create a mosaic using Landsat and/or Sentinel-2 data (for guidance, see **Exercise 1.2**). - **Radar mosaic**: Create a mosaic using Sentinel-1 data. @@ -145,13 +146,13 @@ In the vertical **Tabs** bar on the left, select the :code:`Files` button to dis For example, select the :code:`Downloads` folder to display the folders containing any of the data you have downloaded in SEPAL. If you have not downloaded mosaics in SEPAL yet, this folder will be empty. .. thumbnail:: ../_images/setup/presentation/files_menu.png - :title: The **Files** menu + :title: The Files menu :align: center :width: 50% In the upper right, there are four buttons (the three right-most buttons will be inactive until you select a file). From left to right: -- The first button will show hidden files (files and folder names starting with "."). +- The first button will show hidden files (files and folder names starting with **.**). - The second button will download selected data to your local computer. - The third button will delete the selected folder or file. - The last button will clear your selection. @@ -177,15 +178,16 @@ To start an instance: To stop an instance: - enter **exit** into the command line (you can then refresh the terminal page to start a new instance; or -- open your **User report** by selecting the "$ 0/h" icon in the lower-right corner, then selecting the trashcan icon under **Sessions**. +- open your **User report** by selecting the **$ 0/h** icon in the lower-right corner, then selecting the trashcan icon under **Sessions**. Once an instance has stopped, you can follow the instance start-up steps again to select a larger instance, if necessary. .. thumbnail:: ../_images/setup/presentation/terminal.png - :title: The **Terminal** page, including an example of changing the instance + :title: The Terminal page, including an example of changing the instance :align: center :width: 450 + Apps ^^^^ @@ -196,17 +198,18 @@ Applications are preprogrammed (typically using R or Python) to perform specific Applications make use of instances; running them will use your SEPAL computing resources. .. thumbnail:: ../_images/setup/presentation/apps_interface.png - :title: The **Apps** interface + :title: The Apps interface :align: center :width: 70% + Some of the apps include: - **R Studio**: Provides access to the R environment, where you can run processing scripts and upload data to your SEPAL folder. - **JupyterLab**: Provides access to the Python environment where you can run complex data workflows. - **BFAST GPU**: Graphics processing unit (GPU) implementation of the Breaks for Additive Season and Trend (BFAST) algorithm to analyse time series. - **Deforestation alert analysis**: Retrieve any type of alert on a selected area of interest (AOI). -- **Mountain Green Cover Index**: Calculates Sustainable Development Goal (SDG) 15.4.2: Mountain Green Cover Index at national/subregional scale. +- **MGCI**: Calculates Sustainable Development Goal (SDG) 15.4.2: Mountain Green Cover Index (MGCI) at national/subregional scale. - **SMFM Biota**: Calculate biomass change over time using ALOS PALSAR data (SMFM refers to Satellite Monitoring for Forest Management). -For more information on available apps, see the :doc:`../modules/index` section of the documentation. +For more information on available apps, see :doc:`../modules/index`. From 939238af0f91cddb99241b9b86dea544b8bde720 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Wed, 13 Dec 2023 14:54:58 +0100 Subject: [PATCH 004/110] Update gee.rst Finalized. Ready to be published. --- docs/source/setup/gee.rst | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/docs/source/setup/gee.rst b/docs/source/setup/gee.rst index c2f24768d0..d4f727bfb2 100644 --- a/docs/source/setup/gee.rst +++ b/docs/source/setup/gee.rst @@ -9,8 +9,8 @@ In this article, learn how to: - upload files to GEE - use GEE assets in SEPAL -GEE and SEPAL -------------- +Introduction +------------ SEPAL is closely linked to Google Earth Engine (GEE), a Google-powered Earth-observation cloud-computing platform. @@ -67,7 +67,7 @@ Once you have a GEE account, access the **Earth Engine Code Editor** by going to .. tip:: - If you experience trouble while linking your Google account to GEE, `ask the community `__. + If you experience trouble while linking your Google account to GEE, `ask the Google Group community `__. Initialize the **Home** folder ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -86,17 +86,17 @@ The page is subdivided into three zones and a map: - **Assets**: Displays all of assets in your account. - **Scripts**: Displays all scripts available with your account (shared and written). - - **Doc**: Displays documentation of the GEE JavaScript API (GEE JS API), if you need to code in this editor. + - **Doc**: Displays documentation of the **GEE JavaScript API (GEE JS API)**, if you need to code in this editor. -**Zone 2**: Allows advanced users to code their own scripts using the GEE JS API. +**Zone 2**: Allows advanced users to code their own scripts using the **GEE JS API**. **Zone 3**: Displays information about current processes, divided into three panes: - **Inspector**: Transforms the arrow of the mouse into a pointer, allowing you to click anywhere on the map to view information about what you are displaying. - **Tasks**: Displays all of the tasks of your account, as well as their statuses (i.e. **Running**, **Finished** or **Failed**). - - **Console**: Displays the console panel of running scripts. + - **Console**: Displays the console pane of running scripts. -2. Go to **Zone 1** > Select **Assets** > Select **Create** Home **folder**. +2. Go to **Zone 1** > Select **Assets** > Select **Create home folder**. .. thumbnail:: ../_images/setup/gee/create_home.png :title: GEE asset creation @@ -106,11 +106,11 @@ The page is subdivided into three zones and a map: 3. Select the name of the folder (this can only be set once and never changed; if you're not satisfied with the suggested name, you can create your own as long as there are no spaces or special characters). .. thumbnail:: ../_images/setup/gee/home_pop_up.png - :title: GEE pop-up window for **Home** folder creation + :title: GEE pop-up window for Home folder creation :align: center :width: 50% -4. When you return to your list of **Assets** (located in the **Zone 1** panel), you should see the name you provided as the first folder at the root of the **Asset** tree. +4. When you return to your list of **Assets** (located in the **Zone 1** pane), you should see the name you provided as the first folder at the root of the **Asset** tree. In our example, we used **galatheetest**: @@ -123,8 +123,8 @@ In our example, we used **galatheetest**: After initializing your GEE account, start the connection process between GEE and SEPAL. -Connection between GEE and SEPAL --------------------------------- +Connect GEE and SEPAL +--------------------- SEPAL can work without being connected to your GEE account, but you will miss numerous opportunities to leverage the platform's potential. @@ -135,7 +135,7 @@ Connection 1. Go to `sepal.io `__ and sign in. -2. Select your **Username** in the lower-right side of the window (e.g. (:code:`prambaud`) in red in the image below). +2. Select your **Username** in the lower-right side of the window (e.g. prambaud in red in the image below). .. thumbnail:: ../_images/setup/gee/sepal_landing.png :title: SEPAL landing @@ -198,7 +198,7 @@ These assets can be either: For vector files, SEPAL provides an interface to upload them from your computer to the platform and eventually to GEE. This process allows you to deal with the full process directly from SEPAL without going to the **Earth Engine Code Editor** (for more information, see :doc:`../modules/dwn/vector_manager`). -1. Go to **Assets** in the **Zone 1** panel in the **Earth Engine Code Editor**. +1. Go to **Assets** in the **Zone 1** pane in the **Earth Engine Code Editor**. .. thumbnail:: ../_images/setup/gee/gee_asset_list.png :title: GEE asset list @@ -242,7 +242,7 @@ Table If you need to upload a table as a :code:`ee.FeatureCollection`: -1. Select **csv file upload**. +1. Select **.csv file upload**. 2. In the pop-up window that appears, select the file you want to upload from your computer (note: compatible formats include :code:`.csv`, :code:`.json`). .. thumbnail:: ../_images/setup/gee/upload_csv.png @@ -250,8 +250,8 @@ If you need to upload a table as a :code:`ee.FeatureCollection`: :align: center :width: 50% -Use your GEE assets in SEPAL ----------------------------- +Use GEE assets in SEPAL +----------------------- Once you've uploaded your assets, you can use them in SEPAL by copying and pasting the name of each whenever an asset name is requested from the interface. From 81ee27d88f3fbf89d3cf803f5e5d4fdb1e11fa3d Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Wed, 13 Dec 2023 15:22:01 +0100 Subject: [PATCH 005/110] Update nicfi.rst Finalized. Ready to be published. --- docs/source/setup/nicfi.rst | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/source/setup/nicfi.rst b/docs/source/setup/nicfi.rst index 3eb6417022..2674a6eed0 100644 --- a/docs/source/setup/nicfi.rst +++ b/docs/source/setup/nicfi.rst @@ -1,5 +1,5 @@ -Use NICFI - Planet Lab data -=================================================================================== +Use NICFI-PlanetLab data +======================== *Sign up for NICFI and connect with GEE* In this article, learn how to: @@ -9,7 +9,7 @@ In this article, learn how to: .. note:: - Adapted from ``_. + Adapted from ``_. Overview -------- @@ -33,12 +33,12 @@ If you don’t have a GEE account, register by following `this tutorial `_. +To get access to the NICFI data programme, go to ``_. .. thumbnail:: ../_images/setup/nicfi/nicfi_page.png - :title: Planet NICFI landing page + :title: Planet–NICFI landing page :group: setup_nicfi @@ -63,19 +63,19 @@ Select the link and a new form will appear. Complete the form and you will recei .. note:: - Approval for accessing NICFI - Planet Basemaps in GEE can take up to one week. + Approval for accessing NICFI-Planet Basemaps in GEE can take up to one week. Access NICFI through GEE ------------------------ -NICFI – Planet Lab data can also be accessed from GEE, allowing you to use Planet Lab imagery in SEPAL recipes, such as **Classification** or **Time series**. +NICFI–PlanetLab data can also be accessed from GEE, allowing you to use PlanetLab imagery in SEPAL recipes, such as **Classification** or **Time series**. -To authorize your GEE account to access Planet Lab data: +To authorize your GEE account to access PlanetLab data: 1. Go to the `Planet Platform Explorer `__. In the upper-right corner, select **My Account**. .. thumbnail:: ../_images/setup/nicfi/explorer.png - :title: The platform explorer of the Planet Lab website; the **My account** dropdown menu appears when hovering + :title: The platform explorer of the PlanetLab website; the **My account** dropdown menu appears when hovering :group: setup_nicfi 2. Select **All plans** (see **2** in figure below), which should activate NICFI level 1 data access (see **1** in figure below). If it does, select **My settings** (see **3** in figure below) and scroll down to the bottom of the page. @@ -98,16 +98,16 @@ To authorize your GEE account to access Planet Lab data: :title: The registration form to authorize a GEE account to access your Planet product :group: setup_nicfi -The next step is to make sure SEPAL is connected to the same email address that has access to NICFI - Planet Basemaps in GEE using the same process as in GEE. +The next step is to make sure SEPAL is connected to the same email address that has access to NICFI-Planet Basemaps in GEE using the same process as in GEE. -Note: If you are already connected to a Google account with access to NICFI - Planet Basemaps in GEE, you can skip this step. +Note: If you are already connected to a Google account with access to NICFI-Planet Basemaps in GEE, you can skip this step. .. figure:: ../_images/setup/gee/user_interface_connected.png :alt: SEPAL and GEE connected :align: center :width: 50% -If you are either not connected to your Google account or connected via a different email address that does not have access to NICFI - Planet Basemaps, select **Google account** and choose the email address that has access to NICFI - Planet Basemaps in GEE. +If you are either not connected to your Google account or connected via a different email address that does not have access to NICFI-Planet Basemaps, select **Google account** and choose the email address that has access to NICFI-Planet Basemaps in GEE. .. note:: @@ -115,4 +115,4 @@ If you are either not connected to your Google account or connected via a differ .. important:: - For additional information that may help when processing high-resolution NICFI – Planet imagery in SEPAL, refer to `Planet Academy's section dedicated to NICFI imagery `__. + For additional information that may help when processing high-resolution NICFI–Planet imagery in SEPAL, refer to `Planet Academy's section dedicated to NICFI imagery `__. From 34d5794d4eeaba8dd1563bea8f59a0bfb52e23f2 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Wed, 13 Dec 2023 15:51:49 +0100 Subject: [PATCH 006/110] Update resource.rst Finalized. Ready to be published. --- docs/source/setup/resource.rst | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/source/setup/resource.rst b/docs/source/setup/resource.rst index dea3e3b060..2df6e81236 100644 --- a/docs/source/setup/resource.rst +++ b/docs/source/setup/resource.rst @@ -14,15 +14,15 @@ SEPAL provides free access to computation resources that are shared among regist The **SEPAL user starter pack** includes: - - 0 USD/month of instance spending - - 0 USD/month of storage spending + - USD 0/month of instance spending + - USD 0/month of storage spending - 0 GB of storage Some actions or projects may require more storage to perform analysis at the province or country level; other actions or projects may require more instances to perform heavier computation processes. If you need more storage or instances, you can submit a quota request to the SEPAL team by following the instructions below. .. important:: - Since quota requests are reviewed on a case-by-case basis, response time may vary. + Since quota requests are reviewed on a case-by-case basis, response times may vary. User report ----------- @@ -30,17 +30,17 @@ User report In **Terminal**, **Apps** or **Process**, select **User report** in the lower-right corner to see your current instance consumption: :btn:` x.xx/h`. .. thumbnail:: ../_images/setup/resource/button_from_recipe.png - :title: The **User report** button from a **Recipe** + :title: The User report button from a Recipe :width: 30% :group: setup_resource .. thumbnail:: ../_images/setup/resource/button_from_app.png - :title: The **User report** button from an **App** + :title: The User report button from an App :width: 30% :group: setup_resource .. thumbnail:: ../_images/setup/resource/button_from_terminal.png - :title: The **User report** button from a **Terminal** + :title: The User report button from a Terminal :width: 30% :group: setup_resource @@ -49,7 +49,7 @@ After selecting this button, the **Resource management** pop-up window will appe You can request additional resources by selecting the green button. .. thumbnail:: ../_images/setup/resource/resource_management.png - :title: The **User report** pop-up window + :title: The User report pop-up window :group: setup_resource Manage instances @@ -88,11 +88,11 @@ In order for your request to be considered, you must: - provide an extensive explanation for why you need these resources, as well as the project name, the type of analysis and the area of interest (AOI) (**2**). .. thumbnail:: ../_images/setup/resource/request.png - :title: The **Resource management** request form + :title: The Resource management request form :group: setup_resource Once validated, the request is sent to the SEPAL team, who will take measures in the coming days to update your profile, which may include contacting you directly if they need any extra details. .. thumbnail:: ../_images/setup/resource/notification.png - :title: The **Resource management** notification communicating that your resource request is being processed + :title: The Resource management notification communicating that your resource request is being processed :group: setup_resource From a52a3c0fd9a94b5a1b95c80bbd5bf5473ffc992e Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Wed, 13 Dec 2023 16:04:30 +0100 Subject: [PATCH 007/110] Update filezilla.rst Finalized. Ready to be published. --- docs/source/setup/filezilla.rst | 60 +++++++++++++++++---------------- 1 file changed, 31 insertions(+), 29 deletions(-) diff --git a/docs/source/setup/filezilla.rst b/docs/source/setup/filezilla.rst index 484873549b..5183ea3459 100644 --- a/docs/source/setup/filezilla.rst +++ b/docs/source/setup/filezilla.rst @@ -1,17 +1,11 @@ Exchange files with SEPAL ========================= - -Use SEPAL's built-in tools and FTP solutions to exchange files --------------------------------------------------------------- +*Use SEPAL's built-in tools and FTP solutions to exchange files* In this article, you can learn how to exchange files with SEPAL using: -- Built-in tools, including: - - Jupytyr Notebook - - Jupityrlab - - RStudio - - SEPAL file explorer -- an FTP solution, specifically FileZilla® +- built-in tools including Jupytyr Notebook, JupityrLab, RStudio and SEPAL file explorer +- an FTP solution (specifically FileZilla®) Built-in tools -------------- @@ -20,12 +14,12 @@ To exchange files with SEPAL, there are several built-in tools you can use. .. note:: - Since SEPAL's built-in tools for uploading and downloading are limited, large amounts of data should be uploaded or downloaded using an FTP solution, such as FileZilla® (for more information, see the section "FTP solution" below). + Since SEPAL's built-in tools for uploading and downloading are limited, large amounts of data should be uploaded or downloaded using an FTP solution, such as FileZilla® (for more information, see **FTP solution** below). Jupyter Notebook ^^^^^^^^^^^^^^^^ -In the SEPAL **Application** dashboard, open a new **Jupyter Notebook app**. The **Notebook** dashboard enables you to access files and directories on your system, which can be opened, created, deleted, renamed, downloaded, copied and shared. +In the SEPAL **Apps** dashboard, open a new **Jupyter Notebook app**. The **Notebook** dashboard enables you to access files and directories on your system, which can be opened, created, deleted, renamed, downloaded, copied and shared. Select **Upload** to upload a file from your computer to the platform. @@ -33,14 +27,14 @@ Select **Download** to download a selected file to your computer. .. note:: - **Download** is only available when you click on a single file (Note: folders can not be downloaded). + **Download** is only available when you select a single file (note: folders cannot be downloaded). .. image:: ../_images/setup/filezilla/jupyter-notebook-dashboard.png Jupyterlab ^^^^^^^^^^ -In the SEPAL interface **Dashboard**, open a new **Jupyterlab app**. +In the SEPAL interface **Dashboard**, open a new **JupyterLab app**. Use the **File browser** and **File menu** to access files and directories on your system, which can be opened, created, deleted, renamed, downloaded, copied and shared. @@ -48,15 +42,15 @@ Upload files to the **File browser** directory by dragging and dropping, or by s .. youtube:: 1bd2QHqQSH4 -Any file in Jupyterlab can be downloaded by right-clicking its name in the **File browser** and selecting **Download** from the context menu: +Any file in JupyterLab can be downloaded by right-clicking its name in the **File browser** and selecting **Download** from the context menu: .. youtube:: Wl7Ozl6rMcc .. seealso:: - More information about the Jupyterlab interface can be found in `Jupyterlab documentation `__. + For more information about the JupyterLab interface, see `Jupyterlab documentation `__. -Rstudio +RStudio ^^^^^^^ In the SEPAL interface **Dashboard**, open a new **RStudio app**. @@ -65,12 +59,12 @@ Use the **File menu** (in red in the yellow image below) to access files and dir .. image:: ../_images/setup/filezilla/rstudio_dashboard.png -Upload files from your computer by selecting **Upload** in the upper-left of the red rectangle. +Upload files from your computer by selecting **Upload** in the upper left of the red rectangle. SEPAL file explorer ^^^^^^^^^^^^^^^^^^^ -In the SEPAL **File explorer**, you will be able to access files and directories on your system, which can be deleted and downloaded. +In the SEPAL **File explorer**, youcan access files and directories on your system, which can be deleted and downloaded. After selecting a single file, select **Download** to download the file to your local folder. @@ -85,11 +79,11 @@ FTP solution SEPAL content can also be accessed via a Secure Shell (SSH) File Transfer Protocol (FTP). -.. warning:: +.. attention:: - You must request user resources in order for any FTP solution to connect to SEPAL. Follow the steps described in :doc:`./resource` for more information. + You must request user resources in order for any FTP solution to connect to SEPAL (see :doc:`./resource`). -If you don't know what an FTP solution is and/or don't have an FTP solution installed on your computer, you can learn more by reading this section, where FileZilla is used as an example. +If you don't know what an FTP solution is and/or don't have an FTP solution installed on your computer, you can learn more by reading this section, where FileZilla® is used as an example. .. seealso:: @@ -100,7 +94,7 @@ FileZilla® FileZilla® is a free, open-source FTP solution distributed free of charge under the terms of the `GNU General Public License `_. -The FileZilla Client not only supports FTP, but also FTP over Transport Layer Security (TLS) – FTPS – and Secure File Transfer Protocol (SFTP), both used in SEPAL. +The FileZilla® Client not only supports FTP, but also FTP over Transport Layer Security (TLS) – FTPS – and Secure File Transfer Protocol (SFTP), both used in SEPAL. .. tip:: @@ -109,11 +103,9 @@ The FileZilla Client not only supports FTP, but also FTP over Transport Layer Se Connect your FTP client to SEPAL ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Accessing files in SEPAL is easy using FileZilla. - -To use FileZilla, open the application and connect to the SEPAL server by selecting **Menu** > **File** > **Site Manager** >> **New Site**. +Accessing files in SEPAL is easy using FileZilla®. -Use the screenshot below as a guide for filling out the form: +To use FileZilla®, open the application and connect to the SEPAL server by selecting **Menu** > **File** > **Site Manager** > **New Site**. Use the screenshot below as a guide for filling out the form. - **Host:** ssh.sepal.io - **Port:** 443 @@ -135,12 +127,22 @@ In the left pane, you can find files and folders on your computer. Use the FTP client to interact with SEPAL ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Familiarize yourself with FileZilla's window layout by following this overview: +Familiarize yourself with FileZilla®'s window layout by following this overview. + +Below the **Toolbar** (**1**) and **Quick connect bar** (**2**), the **Message log** (**3**) displays messages related to transfers and connection. Below, you can find the file listings. + +The left column (**Local pane**, **4**) displays the local files and directories (e.g. content on the PC you're using FileZilla® on). + +The right column (**Remote pane**, **5**) displays the files and directories on the server you are connected to. + +Both columns have a directory tree at the top and a detailed listing of the currently selected directory's contents at the bottom. + +You can easily navigate either of the trees and lists by clicking around, like you would in any other file manager. -Below the **Toolbar** (1) and **Quick connect bar** (2), the **Message log** (3) displays messages related to transfers and connection. Below, you can find the file listings. The left column (**Local pane**, 4) displays the local files and directories (e.g. content on the PC you're using FileZilla on). The right column (**Remote pane**, 5) displays the files and directories on the server you are connected to. Both columns have a directory tree at the top and a detailed listing of the currently selected directory's contents at the bottom. You can easily navigate either of the trees and lists by clicking around, like you would in any other file manager. In the lower section of the window, the **Transfer queue** (6) lists the status of to-be-tranferred or already transferred files. +In the lower section of the window, the **Transfer queue** (**6**) lists the status of to-be-tranferred or already transferred files. .. image:: ../_images/setup/filezilla/filezilla_panel.png .. seealso:: - For more information on using FileZilla, go to their `wiki page `__. + For more information on using FileZilla®, see their `wiki page `__. From ed488221e628e1e461daeb03d890c8b4f48d6156 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Wed, 13 Dec 2023 16:10:02 +0100 Subject: [PATCH 008/110] Update password.rst Finalized and ready to be published. --- docs/source/setup/password.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/source/setup/password.rst b/docs/source/setup/password.rst index 9a514caeae..08e4594b76 100644 --- a/docs/source/setup/password.rst +++ b/docs/source/setup/password.rst @@ -20,8 +20,8 @@ The password reset process can be performed in three steps: 2. Complete email verification. 3. Create a new password. -Tell us who you are -------------------- +Provide email address +--------------------- Select **Forgot password** on the SEPAL landing page. @@ -45,8 +45,8 @@ Once your email address is validated, a confirmation email will be sent from SEP :title: Notification confirming that an email to reset your password was sent to your associated email address. :group: setup_password -Email confirmation ------------------- +Complete email verification +--------------------------- To reset your password, SEPAL uses an email confirmation system because: @@ -63,8 +63,8 @@ For all of these reasons, SEPAL will send you the following email. Follow the instructions to reset your password on a new browser page. -Change password ---------------- +Create new password +------------------- In the **Reset password** form, three fields are available: From bbdf4aab6465b2b61abad4704f8d0adc62ad4148 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Wed, 13 Dec 2023 16:27:23 +0100 Subject: [PATCH 009/110] Update index.rst Finalized and ready to be published. --- docs/source/cookbook/index.rst | 41 +++++++++++++++++----------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/docs/source/cookbook/index.rst b/docs/source/cookbook/index.rst index 603cc97ca6..2158a14ced 100644 --- a/docs/source/cookbook/index.rst +++ b/docs/source/cookbook/index.rst @@ -1,13 +1,13 @@ -SEPAL recipes -============= -*Harness high-performance cloud-based computing and modern geospatial data infrastructures with SEPAL recipes* +Cookbook +======== +*Harness high-performance cloud-based computing and modern geospatial data infrastructures with recipes from the SEPAL cookbook* Overview -------- SEPAL recipes are the main feature of the platform, offering users the ability to quickly and efficiently query and process satellite data, tailor their products for local needs, and produce sophisticated and relevant geospatial analyses. -A SEPAL recipe is a record of the steps and parameters used to make a dataset (e.g. optical mosaic, radar mosaic, classification). The recipe can be saved, with the same data recreated on-the-fly whenever needed or used in further analyses. A recipe is not, in itself, data. Using SEPAL recipes enables documentation of the parameters and steps used to create mosaics, composites, classifications, time series and other datasets or information products. SEPAL recipes, once saved, are available in the SEPAL interface after you sign in to the platform. Recipes can be run, deleted or copied (e.g. to change the sensor used, while leaving all other parameters the same). +A SEPAL recipe is a record of the steps and parameters used to make a dataset (e.g. optical mosaic, radar mosaic, classification). The recipe can be saved, with the same data recreated on the fly whenever needed or used in further analyses. A recipe is not, in itself, data. Using SEPAL recipes enables documentation of the parameters and steps used to create mosaics, composites, classifications, time series and other datasets or information products. SEPAL recipes, once saved, are available in the SEPAL interface after you sign in to the platform. Recipes can be run, deleted or copied (e.g. to change the sensor used, while leaving all other parameters the same). With recipes, you can access the Google Earth Engine (GEE) multi-petabyte catalog of satellite imagery and utilize their planetary-scale analysis capabilities without writing a single line of code, simply by linking your Google and SEPAL accounts. @@ -15,6 +15,22 @@ With recipes, you can access the Google Earth Engine (GEE) multi-petabyte catalo You cannot export a recipe as an asset or a :code:`.tiff` file without a small computation quota. If you are a new user, see :doc:`../setup/resource`. +Recipes +------- +Recipes in the SEPAL cookbook include: + +.. toctree:: + :maxdepth: 1 + + optical_mosaic + radar_mosaic + planet_mosaic + classification + time_series + ccdc + ccdc_slice + class_change + Gallery ------- @@ -75,7 +91,7 @@ Start a recipe Connect your SEPAL account to your GEE account to read and write GEE assets. If your accounts are not linked, you will only be able to download data to your SEPAL workspace. -To start a recipe, go to the **Process** tab :icon:`fa-solid fa-globe`, where you'll see the list of all saved recipes in your SEPAL account. +To start a recipe, go to the **Process** tab (:icon:`fa-solid fa-globe`), where you'll see the list of all saved recipes in your SEPAL account. .. thumbnail:: https://user-images.githubusercontent.com/149204/132474880-12333a36-dee0-4bdc-a0b4-0e9aab24b601.png :title: Recipe list displayed in the interface @@ -100,18 +116,3 @@ The file will be downloaded to your computer using the following name: :code:` Date: Wed, 13 Dec 2023 16:36:10 +0100 Subject: [PATCH 010/110] Update index.rst Finalized and ready to be published. --- docs/source/_templates/index.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/source/_templates/index.rst b/docs/source/_templates/index.rst index 1a44a55bfc..a6eac47f9a 100644 --- a/docs/source/_templates/index.rst +++ b/docs/source/_templates/index.rst @@ -1,9 +1,7 @@ -SEPAL applications -================== +Modules +======= *Access complex workflows without the need of digital programming skills with SEPAL applications* -.. custom-edit:: https://raw.githubusercontent.com/openforis/sepal-doc/main/docs/source/_templates/index.rst - Overview -------- @@ -25,7 +23,7 @@ Note that the following apps are code editors, not apps (**2**): - **JupyterLab**: A web-based interactive development environment for Jupyter notebooks, code and data. .. thumbnail:: ../_images/module/index/dashboard.png - :title: The landing page of the **Apps** dashboard + :title: The landing page of the Apps dashboard To find the application you're looking for, navigate through the different app pages (**3**), use tags (**4**), or utilize the search bar (**5**). @@ -62,10 +60,12 @@ If a particular app's documentation requires the user to start a specific instan 3. Wait for the instance to finish loading. .. thumbnail:: ../_images/module/index/m4_started.png - :title: Start an **m4** instance + :title: Start an m4 instance 4. Go back to the dashboard of the application to launch your app. It will automatically use the instance you opened and won't restart a :code:`t1`. .. toctree:: :hidden: :maxdepth: 1 + +.. custom-edit:: https://raw.githubusercontent.com/openforis/sepal-doc/main/docs/source/_templates/index.rst From de90680f618128d2a5ab4eec301e0ccf68dd07d1 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Wed, 13 Dec 2023 16:42:38 +0100 Subject: [PATCH 011/110] Update index.rst Finalized and ready to be published. --- docs/source/cli/index.rst | 42 ++++++++++++++++----------------------- 1 file changed, 17 insertions(+), 25 deletions(-) diff --git a/docs/source/cli/index.rst b/docs/source/cli/index.rst index 5a0ef5b17b..658f11b8ea 100644 --- a/docs/source/cli/index.rst +++ b/docs/source/cli/index.rst @@ -1,18 +1,23 @@ -CLI utilities and coding tools -============================== -*Use command-line interface (CLI) utilities and coding tools in SEPAL* +CLI +=== +*Use CLI utilities and coding tools in SEPAL* CLI tools --------- -The SEPAL platform includes a variety of useful command-line interface (CLI) utilities to help resolve specific problems, such as: +To help resolve specific problems, the SEPAL platform includes a variety of useful command-line interface (CLI) utilities, including: -- **Geospatial Data Abstraction Library (GDAL)** -- **Google Drive (Drive)** -- **Google Earth Engine (GEE)** -- **GuidosToolbox Workbench (GWB)** -- **Open Foris Geospatial Toolkit (OFGT)** -- **Orfeo Toolbox (OTB)** +.. toctree:: + :maxdepth: 1 + + gdal + gdrive + gee + gwb + ofgt + otb + python + r These tools can be called directly from the terminal or via any programming language sending commands to the kernel, including R and Python (installed by default on any SEPAL account). @@ -21,7 +26,7 @@ These tools can be called directly from the terminal or via any programming lang .. note:: - The code executed previously on an existing :code:`example.tif` file. + The code executed previously on an existing :code:`example.tif` file: .. code-block:: console @@ -33,7 +38,7 @@ These tools can be called directly from the terminal or via any programming lang .. tip:: - If the code you want to execute is taking time, consider running it in the background using :code:`nohup`. + If the code you want to execute is taking time, consider running it in the background using :code:`nohup`: .. code-block:: console @@ -57,16 +62,3 @@ They will allow the user to code wokflows in any of the available languages usin .. thumbnail:: ../_images/cli/index/jupyter_example.png :title: Example of **rasterio** code running in SEPAL JupyterLab (code extracted from **rasterio** documentation: https://rasterio.readthedocs.io/en/latest/topics/plotting.html) - -.. toctree:: - :hidden: - :maxdepth: 1 - - gdal - gdrive - gee - gwb - ofgt - otb - python - r From 2865d4fdebfef9ccb6c41c38c4a83c2d76cb3240 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Wed, 13 Dec 2023 16:45:45 +0100 Subject: [PATCH 012/110] Update index.rst Finalized and ready to be published. --- docs/source/workflows/index.rst | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/source/workflows/index.rst b/docs/source/workflows/index.rst index 3571b511f1..67868797eb 100644 --- a/docs/source/workflows/index.rst +++ b/docs/source/workflows/index.rst @@ -13,10 +13,12 @@ The **Workflows** section of SEPAL documentation presents some workflows that in .. note:: - If your workflow is not described here and you would like for it to be included in SEPAL documentation, let the SEPAL team know via the `GitHub issue tracker `__. + If your workflow is not described here and you would like for it to be included in SEPAL documentation, let the SEPAL team know via the `GitHub Issue Tracker `__. -Table of contents ------------------ +Workflows +--------- + +SEPAL workflows include: .. toctree:: :maxdepth: 1 From b91a05ad1974b8f5aa3e7c7a5abb0366123b79ac Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Wed, 13 Dec 2023 16:46:55 +0100 Subject: [PATCH 013/110] Update index.rst Finalized and ready to be published. --- docs/source/feature/index.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/source/feature/index.rst b/docs/source/feature/index.rst index bd9184b476..15ca31d9b1 100644 --- a/docs/source/feature/index.rst +++ b/docs/source/feature/index.rst @@ -1,9 +1,11 @@ Features ======== -*Analyse, combine and visualize different types of data with SEPAL Features* +*Analyse, combine and visualize different types of data with SEPAL features* Since these features can be accessed across various recipes and modules, they are described extensively in this section of the documentation. +SEPAL features include: + .. toctree:: :maxdepth: 1 :glob: From 785387de9c01a75f88dd7b5eb0ff77b74ddb2662 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 11:03:29 +0100 Subject: [PATCH 014/110] Update SMFM.rst Finalized and ready to be published. --- docs/source/modules/SMFM.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/source/modules/SMFM.rst b/docs/source/modules/SMFM.rst index fd2bdcbeee..63e8c56b07 100644 --- a/docs/source/modules/SMFM.rst +++ b/docs/source/modules/SMFM.rst @@ -1,7 +1,7 @@ -Satellite monitoring for forest management -========================================== +SMFM +==== -Modules gathered under the Satellite monitoring for forest management (SMFM) tag include: +Modules with the Satellite monitoring for forest management (SMFM) tag include: .. toctree:: :maxdepth: 1 @@ -13,4 +13,4 @@ Modules gathered under the Satellite monitoring for forest management (SMFM) tag .. csv-table:: :doc:`dwn/smfm_biota`,"Calculate biomass change over time using ALOS PALSAR data" - :doc:`dwn/smfm_deforest`,"Detect deforestation using a time-series of forest probabilities" + :doc:`dwn/smfm_deforest`,"Detect deforestation using a time series of forest probabilities" From 6211d69dad116010c91ea39603b5e7fb00de5eb9 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 11:05:52 +0100 Subject: [PATCH 015/110] Update SMFM.rst Finalized and ready to be published. --- docs/source/modules/SMFM.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/source/modules/SMFM.rst b/docs/source/modules/SMFM.rst index fd2bdcbeee..7c923d8f48 100644 --- a/docs/source/modules/SMFM.rst +++ b/docs/source/modules/SMFM.rst @@ -1,7 +1,7 @@ -Satellite monitoring for forest management -========================================== +SMFM +==== -Modules gathered under the Satellite monitoring for forest management (SMFM) tag include: +Modules with the **Satellite monitoring for forest management (SMFM)** tag include: .. toctree:: :maxdepth: 1 @@ -13,4 +13,4 @@ Modules gathered under the Satellite monitoring for forest management (SMFM) tag .. csv-table:: :doc:`dwn/smfm_biota`,"Calculate biomass change over time using ALOS PALSAR data" - :doc:`dwn/smfm_deforest`,"Detect deforestation using a time-series of forest probabilities" + :doc:`dwn/smfm_deforest`,"Detect deforestation using a time series of forest probabilities" From bcc5d8bdda28d3ee100cc5125958e8fbe319b044 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 11:07:54 +0100 Subject: [PATCH 016/110] Update time-series.rst Finalized and ready to be published. --- docs/source/modules/time-series.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/source/modules/time-series.rst b/docs/source/modules/time-series.rst index 47b4e4b0a2..94a49242b2 100644 --- a/docs/source/modules/time-series.rst +++ b/docs/source/modules/time-series.rst @@ -1,7 +1,7 @@ Time series =========== -Modules with the **Time-series** tag include: +Modules with the **Time series** tag include: .. toctree:: :maxdepth: 1 @@ -15,8 +15,8 @@ Modules with the **Time-series** tag include: .. csv-table:: - :doc:`dwn/bfast_explorer`,"Performs analysis of Landsat Surface Reflectance time series pixel data using the BFAST algorithm" + :doc:`dwn/bfast_explorer`,"Performs analysis of Landsat SR time-series pixel data using the BFAST algorithm" :doc:`dwn/bfast_gpu`,"GPU implementation of the BFAST algorithm to analyse time series" :doc:`dwn/bfast_r`,"..." - :doc:`dwn/cusum`,"Spatially cumulative sum algorithm for change detection within univariate time-series (GPU-powered)" + :doc:`dwn/cusum`,"Spatially cumulative sum algorithm for change detection within univariate time series (GPU-powered)" :doc:`dwn/sar_time_series`,"..." From f5b842eab72293322eb8b8cddb05befc0bfaa08d Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 11:11:48 +0100 Subject: [PATCH 017/110] Update other.rst Finalized and ready to be published. --- docs/source/modules/other.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/source/modules/other.rst b/docs/source/modules/other.rst index 3af72eef2f..970a8d4fe9 100644 --- a/docs/source/modules/other.rst +++ b/docs/source/modules/other.rst @@ -27,18 +27,18 @@ Modules with the **Other** tag include: .. csv-table:: :doc:`dwn/alert_module`,"Retrieve any type of alert on a selected AOI" - :doc:`dwn/alos_mosaics`,"Create and manipulate ALOS K&C Mosaics" + :doc:`dwn/alos_mosaics`,"Create and manipulate ALOS K&C mosaics" :doc:`dwn/coverage_analysis`,"Check per-pixel data availability" :doc:`dwn/fcdm`,"Mapping all kind of canopy disturbances (natural or human induced) within (semi-)evergreen forests" :doc:`dwn/geo_processing`,"..." - :doc:`dwn/gfc_wrapper_python`,"Combine the GFC layers to produce a forest change map" - :doc:`dwn/gfc_wrapper_R`,"Combine the GFC layers to produce a forest change map" + :doc:`dwn/gfc_wrapper_python`,"Combine GFC layers to produce a forest change map" + :doc:`dwn/gfc_wrapper_R`,"Combine GFC layers to produce a forest change map" :doc:`dwn/gwl_analysis`,"..." - :doc:`dwn/vector_manager`,"Tool to manage vector files in SEPAL (upload, download, export to GEE and grid generation)" + :doc:`dwn/vector_manager`,"Tool to manage vector files in SEPAL (upload, download, export to GEE, grid generation)" :doc:`dwn/sae_analysis`,"..." :doc:`dwn/sae_design`,"..." :doc:`dwn/tmf`,"Wrapper for TMF" :doc:`dwn/zonal-analysis`,"..." :doc:`dwn/gee-source`,"Extract source code from any GEE app URL" - :doc:`dwn/weplan`,"Explore restoration planning solution provided by WePlan - Forests" - :doc:`dwn/basin-river`,"Get Forest Cover Change by upstream sub-catchment" \ No newline at end of file + :doc:`dwn/weplan`,"Explore restoration planning solutions provided by WePlan - Forests" + :doc:`dwn/basin-river`,"Get forest cover change by upstream sub-catchment" From 0cd6d22af2a44445adda3ff30fe56addb5a2326e Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 11:14:46 +0100 Subject: [PATCH 018/110] Update restoration.rst Finalized and ready to be published. --- docs/source/modules/restoration.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/source/modules/restoration.rst b/docs/source/modules/restoration.rst index aa9960c590..9e35d887c2 100644 --- a/docs/source/modules/restoration.rst +++ b/docs/source/modules/restoration.rst @@ -17,10 +17,10 @@ Modules with the **Restoration** tag include: .. csv-table:: :doc:`dwn/bfast_gpu`,"GPU implementation of the BFAST algorithm to analyse time series" - :doc:`dwn/clip-time-series`,"Generate a .pdf file containing time series clip on a given set of points" - :doc:`dwn/cusum`,"Spatially cumulative sum algorithm for change detection within univariate time-series (GPU powered)" + :doc:`dwn/clip-time-series`,"Generate .pdf file containing time series clip on a given set of points" + :doc:`dwn/cusum`,"Spatially cumulative sum algorithm for change detection within univariate time series (GPU-powered)" :doc:`dwn/gwb`,"A suite of various geospatial image analysis tools" :doc:`dwn/sdg_indicator`,"Monitor SDG indicators at plot level" - :doc:`dwn/sepal_mgci`,"Calculates the SDG 15.4.2: Mountain Green Cover Index at national/sub-regional scale" + :doc:`dwn/sepal_mgci`,"Calculates SDG 15.4.2: Mountain Green Cover Index at national/sub-regional scale" :doc:`dwn/sepal_pysmm`,"Tool for mapping surface soil moisture based on Copernicus Sentinel-1 intensity data." :doc:`dwn/seplan`,"Restoration planning tool using a weighted-sum approach" From efeeba0b7b36fbece4803ee9837cc2b311827907 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 11:15:52 +0100 Subject: [PATCH 019/110] Update inventories.rst Finalized and ready to be published. --- docs/source/modules/inventories.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/modules/inventories.rst b/docs/source/modules/inventories.rst index c62ec79150..774c0bf10c 100644 --- a/docs/source/modules/inventories.rst +++ b/docs/source/modules/inventories.rst @@ -1,7 +1,7 @@ Inventories =========== -Modules with the Inventories tag include: +Modules with the **Inventories** tag include: .. toctree:: :maxdepth: 1 From 6b3ebfd6c83f2fbc84b293e4f632b734e9cbf692 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 11:16:44 +0100 Subject: [PATCH 020/110] Update disaster.rst Finalized and ready to be published. --- docs/source/modules/disaster.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/modules/disaster.rst b/docs/source/modules/disaster.rst index 77225f5c21..fe7522cae5 100644 --- a/docs/source/modules/disaster.rst +++ b/docs/source/modules/disaster.rst @@ -1,7 +1,7 @@ Disaster ======== -Modules with the Disaster tag include: +Modules with the **Disaster** tag include: .. toctree:: :maxdepth: 1 From 2b9d975cc02f4ecad6bc6a4bfe6d2754625852d6 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 11:19:23 +0100 Subject: [PATCH 021/110] Update PlanetLab.rst Finalized and ready to be published. --- docs/source/modules/PlanetLab.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/source/modules/PlanetLab.rst b/docs/source/modules/PlanetLab.rst index 16b0200b95..06e3fea6fa 100644 --- a/docs/source/modules/PlanetLab.rst +++ b/docs/source/modules/PlanetLab.rst @@ -1,7 +1,7 @@ Planet Lab ========== -Modules gathered under the Planet Lab tag include: +Modules gathered under the **Planet Lab**** tag include: .. toctree:: :maxdepth: 1 @@ -12,5 +12,5 @@ Modules gathered under the Planet Lab tag include: .. csv-table:: - :doc:`dwn/planet_order`,"Order imagery from PlanetLab mosaics" - :doc:`dwn/sepafe`,"..." + :doc:`dwn/planet_order`,"Order imagery from Planet Lab mosaics" + :doc:`dwn/sepafe`,"Receive and validate fire alerts from the FIRMS programme by using daily Planet imagery" From bba1fe3408b2263323cdb2aa49f580c882ef8479 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 11:23:07 +0100 Subject: [PATCH 022/110] Update time-series.rst Finalized and ready to be published. --- docs/source/modules/time-series.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/source/modules/time-series.rst b/docs/source/modules/time-series.rst index 47b4e4b0a2..559e73deb1 100644 --- a/docs/source/modules/time-series.rst +++ b/docs/source/modules/time-series.rst @@ -1,7 +1,7 @@ Time series =========== -Modules with the **Time-series** tag include: +Modules with the **Time series** tag include: .. toctree:: :maxdepth: 1 @@ -15,8 +15,8 @@ Modules with the **Time-series** tag include: .. csv-table:: - :doc:`dwn/bfast_explorer`,"Performs analysis of Landsat Surface Reflectance time series pixel data using the BFAST algorithm" + :doc:`dwn/bfast_explorer`,"Performs analysis of Landsat SR time-series pixel data using the BFAST algorithm" :doc:`dwn/bfast_gpu`,"GPU implementation of the BFAST algorithm to analyse time series" - :doc:`dwn/bfast_r`,"..." - :doc:`dwn/cusum`,"Spatially cumulative sum algorithm for change detection within univariate time-series (GPU-powered)" - :doc:`dwn/sar_time_series`,"..." + :doc:`dwn/bfast_r`,"Analyse the dynamics of satellite dense time series" + :doc:`dwn/cusum`,"Spatially cumulative sum algorithm for change detection within univariate time series (GPU-powered)" + :doc:`dwn/sar_time_series` From b427904acc0c2993103b127c220355b6f57b12df Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 11:26:02 +0100 Subject: [PATCH 023/110] Update other.rst Finalized and ready to be published. --- docs/source/modules/other.rst | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/source/modules/other.rst b/docs/source/modules/other.rst index 3af72eef2f..6b0647f1df 100644 --- a/docs/source/modules/other.rst +++ b/docs/source/modules/other.rst @@ -27,18 +27,18 @@ Modules with the **Other** tag include: .. csv-table:: :doc:`dwn/alert_module`,"Retrieve any type of alert on a selected AOI" - :doc:`dwn/alos_mosaics`,"Create and manipulate ALOS K&C Mosaics" + :doc:`dwn/alos_mosaics`,"Create and manipulate ALOS K&C mosaics" :doc:`dwn/coverage_analysis`,"Check per-pixel data availability" - :doc:`dwn/fcdm`,"Mapping all kind of canopy disturbances (natural or human induced) within (semi-)evergreen forests" - :doc:`dwn/geo_processing`,"..." - :doc:`dwn/gfc_wrapper_python`,"Combine the GFC layers to produce a forest change map" - :doc:`dwn/gfc_wrapper_R`,"Combine the GFC layers to produce a forest change map" - :doc:`dwn/gwl_analysis`,"..." - :doc:`dwn/vector_manager`,"Tool to manage vector files in SEPAL (upload, download, export to GEE and grid generation)" - :doc:`dwn/sae_analysis`,"..." - :doc:`dwn/sae_design`,"..." + :doc:`dwn/fcdm`,"Mapping all kinds of canopy disturbances (natural- or human-induced) within (semi-)evergreen forests" + :doc:`dwn/geo_processing`, + :doc:`dwn/gfc_wrapper_python`,"Combine GFC layers to produce a forest change map" + :doc:`dwn/gfc_wrapper_R`,"Combine GFC layers to produce a forest change map" + :doc:`dwn/gwl_analysis`, + :doc:`dwn/vector_manager`,"Tool to manage vector files in SEPAL (upload, download, export to GEE, grid generation)" + :doc:`dwn/sae_analysis`,"Analyse results from a stratified sampling design for area estimates" + :doc:`dwn/sae_design`, :doc:`dwn/tmf`,"Wrapper for TMF" - :doc:`dwn/zonal-analysis`,"..." + :doc:`dwn/zonal-analysis`, :doc:`dwn/gee-source`,"Extract source code from any GEE app URL" :doc:`dwn/weplan`,"Explore restoration planning solution provided by WePlan - Forests" - :doc:`dwn/basin-river`,"Get Forest Cover Change by upstream sub-catchment" \ No newline at end of file + :doc:`dwn/basin-river`,"Get forest cover change by upstream sub-catchment" From 3410b57e3b02aa1ff85bc0f6050eecfb6f39c2df Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 11:43:28 +0100 Subject: [PATCH 024/110] Update no_feature.rst Finalized and ready to be published. --- docs/source/_templates/no_feature.rst | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/docs/source/_templates/no_feature.rst b/docs/source/_templates/no_feature.rst index 45a2cf86c0..e859e4173f 100644 --- a/docs/source/_templates/no_feature.rst +++ b/docs/source/_templates/no_feature.rst @@ -1,7 +1,3 @@ -.. warning:: +.. note:: - The documentation of this feature is under construction. - -.. tip:: - - For specific help, please open an issue on our repository by clicking on this `link `__. + This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker `__. From 43b461332e514ebf93e1fab5432efa310d32e8f1 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 11:52:08 +0100 Subject: [PATCH 025/110] Update drivers.rst Finalized and ready to be published. --- docs/source/workflows/drivers.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/workflows/drivers.rst b/docs/source/workflows/drivers.rst index 1edc779dd4..22f4d266b7 100644 --- a/docs/source/workflows/drivers.rst +++ b/docs/source/workflows/drivers.rst @@ -332,7 +332,7 @@ The project's technical committee agreed upon nine unique direct drivers and the In order to identify direct drivers, a survey form is used in the CEO web platform to enable visual interpretation and identification of the presence or absence of forest, the land cover type in 2015, the type of change (deforestation or degradation) and the year of change (2015–2022), along with one or more observed direct drivers within a 2 km wide square plot around the sample point. References -========== +---------- Curtis, P.G., Slay, C.M., Harris, N.L., Tyukavina, A. & Hansen, M.C. 2018. Classifying drivers of global forest loss. *Science*, 361(6407): 1108–1111. https://doi.org/10.1126/science.aau3445 From dac5b2aae3e25514296f381fa2ba7a833005dfa8 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 11:56:16 +0100 Subject: [PATCH 026/110] Update nrt.rst Finalized and ready to be published. --- docs/source/workflows/nrt.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/source/workflows/nrt.rst b/docs/source/workflows/nrt.rst index ce41c8f6ba..f7380bbd55 100644 --- a/docs/source/workflows/nrt.rst +++ b/docs/source/workflows/nrt.rst @@ -1,5 +1,6 @@ CCDC NRT-FDM ============ +*Customize implementation of the CCDC algorithm to generate NRT alerts* Background ---------- @@ -65,4 +66,4 @@ Requirements 2. Forest mask (optional, but recommended) 3. Planet application programming interface (API) key (optional, only for Planet daily imagery) -For a step-by-step guide of the use of a combination of Landsat and Sentinel-2 imagery over an area in Bolivia, download this presentation `_. To understand the underlying logic of the workflow, read further. +For a step-by-step guide of the use of a combination of Landsat and Sentinel-2 imagery over an area in Bolivia, download `this presentation `_. To understand the underlying logic of the workflow, read further. From 01da098856fadec6c32a27d17dbc19d062d1e9ce Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 11:57:26 +0100 Subject: [PATCH 027/110] Update bayts.rst Finalized and ready to be published. --- docs/source/workflows/bayts.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/workflows/bayts.rst b/docs/source/workflows/bayts.rst index bfd61897c5..2f7a40f7d3 100644 --- a/docs/source/workflows/bayts.rst +++ b/docs/source/workflows/bayts.rst @@ -1,5 +1,6 @@ BayTS NRT-FDM ============= +*Implement the BayTS algorithm to generate NRT alerts using Sentinel-1 radar data* Background ---------- From b4f282a8e37b2e3e27052560fda1a455156831db Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 12:02:22 +0100 Subject: [PATCH 028/110] Update drivers.rst Finalized and ready to be published. --- docs/source/workflows/drivers.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/workflows/drivers.rst b/docs/source/workflows/drivers.rst index 1edc779dd4..cb5deb9cce 100644 --- a/docs/source/workflows/drivers.rst +++ b/docs/source/workflows/drivers.rst @@ -1,5 +1,6 @@ Direct drivers assessment ========================= +*Map disturbances and quantify the contribution of associated direct drivers to assess deforestation and forest degradation trends, and their associated current and historical direct drivers* .. note:: From d165b1f83d0c88c1d5f555a973654f66f37063cc Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 12:17:06 +0100 Subject: [PATCH 029/110] Update ofgt.rst Minor edit. --- docs/source/cli/ofgt.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/cli/ofgt.rst b/docs/source/cli/ofgt.rst index eb32ff5980..2894af45be 100644 --- a/docs/source/cli/ofgt.rst +++ b/docs/source/cli/ofgt.rst @@ -3,7 +3,7 @@ OFGT The **Open Foris Geospatial Toolkit (OFGT)** is a collection of prototype command-line utilities for processing geographical data. The tools can be divided into stand-alone programmes and scripts. They have been tested mainly in the Ubuntu Linux environment, although they can be used with other Linux distros, macOS, and Microsoft Windows (Cywgin) as well. Most of the stand-alone programmes use **GDAL libraries** and many of the scripts rely heavily on **GDAL command-line utilities**. -The **OFGT** project started under the Open Foris initiative in an effort to develop, share and support software tools and methods for multipurpose forest assessment, monitoring and reporting (see `Open Foris `__. +The **OFGT** project started under the Open Foris initiative in an effort to develop, share and support software tools and methods for multipurpose forest assessment, monitoring and reporting (see `Open Foris `__). The Open Foris initiative develops and supports innovative, easy-to-use tools needed to produce reliable, up-to-date information on the state of forest resources and their uses. From c3996f578dff7c4172fe26a9348eac8e8a4c8722 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 12:21:39 +0100 Subject: [PATCH 030/110] Update ccdc.rst Minor edit. --- docs/source/cookbook/ccdc.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/cookbook/ccdc.rst b/docs/source/cookbook/ccdc.rst index f46170e72a..c17ff33775 100644 --- a/docs/source/cookbook/ccdc.rst +++ b/docs/source/cookbook/ccdc.rst @@ -1,6 +1,6 @@ CCDC asset creation =================== -*Facilitate the workflow for applying the Continuous Change Detection and Classification approach with SEPAL* +*Facilitate the workflow for applying the CCDC approach with SEPAL* Background From a9b89897c9c539ab5679e06af2d731b5c77c2ea1 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 12:22:51 +0100 Subject: [PATCH 031/110] Update time_series.rst Minor edit. --- docs/source/cookbook/time_series.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/cookbook/time_series.rst b/docs/source/cookbook/time_series.rst index c0baa78e0e..54e69e3082 100644 --- a/docs/source/cookbook/time_series.rst +++ b/docs/source/cookbook/time_series.rst @@ -1,7 +1,7 @@ Time series =========== -*Create and retrieve Satellite Image Time Series to study patterns and key changes in landscape evolution over time* +*Create and retrieve SITS to study patterns and key changes in landscape evolution over time* Overview -------- From 2462e31fbc7cb1fe1fd31ce3309250bd57adead4 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 12:26:15 +0100 Subject: [PATCH 032/110] Update classification.rst Minor edits. --- docs/source/cookbook/classification.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/cookbook/classification.rst b/docs/source/cookbook/classification.rst index 1007595c73..089bf93675 100644 --- a/docs/source/cookbook/classification.rst +++ b/docs/source/cookbook/classification.rst @@ -346,7 +346,7 @@ The following table is compatible with SEPAL: 32.77189961605467,-11.616264558754402,80,Shrublands,Pierrick rambaud ... -The columns used to define the X (longitude) and Y (latitude) coordinates are manually set up in the pop-up window. Select :btn:` Next` once every column is filled. +The columns used to define the X (longitude) and Y (latitude) coordinates are manually set up in the pop-up window. Select :btn:` Next` once every column is filled. .. thumbnail:: ../_images/cookbook/classification/import-training-csv-coords.png :group: classification-recipe @@ -366,7 +366,7 @@ Now that you have set up the coordinates of your points, SEPAL will request the :group: classification-recipe :title: Import a .csv file in SEPAL as training data. -Select :btn:` next` to add the data to the model. SEPAL will provide a summary of the classes in the legend of the classification and the number of training points added by your file. +Select :btn:` next` to add the data to the model. SEPAL will provide a summary of the classes in the legend of the classification and the number of training points added by your file. Selecting the :btn:` Done` button will complete the uploading procedure. From 4d21e053eae8c8a35cfb1da29eaed0f9e4919676 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 12:30:15 +0100 Subject: [PATCH 033/110] Update optical_mosaic.rst Minor edits. --- docs/source/cookbook/optical_mosaic.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/source/cookbook/optical_mosaic.rst b/docs/source/cookbook/optical_mosaic.rst index e5b22a45ee..e2c2718e3b 100644 --- a/docs/source/cookbook/optical_mosaic.rst +++ b/docs/source/cookbook/optical_mosaic.rst @@ -103,11 +103,11 @@ Seasonal mosaic Select :guilabel:`More` in the :guilabel:`DAT` panel to expand the date selection tool. Rather than selecting a year, you can select a season of interest. -Select the :icon:`fa-solid fa-calendar` (1) to open the **Date selection** pop-up window. The selected date will be the target of the mosaic (i.e. the date from which pixels in the mosaic should ideally come from). +Select the :icon:`fa-solid fa-calendar` (**1**) to open the **Date selection** pop-up window. The selected date will be the target of the mosaic (i.e. the date from which pixels in the mosaic should ideally come from). -Using the main slider (2), define a season around the target date by identifying a start date and end date. SEPAL will then retrieve the mosaic images between those dates. +Using the main slider (**2**), define a season around the target date by identifying a start date and end date. SEPAL will then retrieve the mosaic images between those dates. -The number of images in a single season of one year may not be enough to produce a correct mosaic. SEPAL provides two secondary sliders to increase the pool of images to create the mosaic. Both count the number of seasons SEPAL can retrieve in the past (:code:`Past season` - [3]) and in the future (:code:`Future season` - [4]). +The number of images in a single season of one year may not be enough to produce a correct mosaic. SEPAL provides two secondary sliders to increase the pool of images to create the mosaic. Both count the number of seasons SEPAL can retrieve in the past (:code:`Past season` - [**3**]) and in the future (:code:`Future season` - [**4**]). When the selection is done, select the :icon:`fa-solid fa-check` :guilabel:`Apply` button. @@ -338,10 +338,10 @@ Select :guilabel:`Clear scenes` to remove all manually and automatically selecte Manual selection """""""""""""""" -To open the **Scene selection** menu, hover over a tile circled-number and select it (1). The window will be divided into two sections: +To open the **Scene selection** menu, hover over a tile circled-number and select it (**1**). The window will be divided into two sections: -- Available scene (2): All the available scenes according to the parameters you selected. These scenes are ordered using the :code:`priority` parameter you set in the :guilabel:`SCN` tab. -- Selected scenes (3): The scenes that are currently selected. +- **Available scene** (**2**): All the available scenes according to the parameters you selected. These scenes are ordered using the :code:`priority` parameter you set in the :guilabel:`SCN` tab. +- **Selected scenes** (**3**): The scenes that are currently selected. .. thumbnail:: ../_images/cookbook/optical_mosaic/select_scenes.png :title: The pop-up window used to select individual scenes for one single tile From 9e9164962b560af58576d5d717d2975a90fb3a36 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 12:50:09 +0100 Subject: [PATCH 034/110] Update disclaimer.rst Finalized and ready to be published. --- docs/source/_templates/disclaimer.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/_templates/disclaimer.rst b/docs/source/_templates/disclaimer.rst index e826c272e2..80a900a37c 100644 --- a/docs/source/_templates/disclaimer.rst +++ b/docs/source/_templates/disclaimer.rst @@ -1,3 +1,3 @@ -.. danger:: +.. attention:: - This section is intended for the Sepal team members only. If you ended up here there is no need to read this documentation, You'll not have access to the referred tools + The **SEPAL team documentation** section was developed for SEPAL team members only. While contributors and collaborators are encouraged to review these articles, they are not mandatory for general SEPAL users. From b9df459a30331f26c9d9e5ab7e8c31089e2b6f4b Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 13:21:28 +0100 Subject: [PATCH 035/110] Update index.rst Finalized and ready to be published. --- docs/source/team/index.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/team/index.rst b/docs/source/team/index.rst index 8cde15502a..8c95b07d51 100644 --- a/docs/source/team/index.rst +++ b/docs/source/team/index.rst @@ -1,5 +1,6 @@ SEPAL team documentation ======================== +*Learn how to contribute to SEPAL documentation and Google Classroom, as well as follow the SEPAL documentation style guide* .. include:: ../_templates/disclaimer.rst From 9aa66971e4f8adc5cbcf39353a6003c0dae08d88 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 13:21:53 +0100 Subject: [PATCH 036/110] Update contribute.rst Finalized and ready to be published. --- docs/source/team/contribute.rst | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/docs/source/team/contribute.rst b/docs/source/team/contribute.rst index 3203167a6e..49ab2c5477 100644 --- a/docs/source/team/contribute.rst +++ b/docs/source/team/contribute.rst @@ -2,6 +2,7 @@ Contribute ========== +** The SEPAL team values user feedback and contributions to SEPAL documentation. @@ -33,7 +34,7 @@ The :code:`sepal-doc` repository creates and organizes .rst files by leveraging: - the Python `Sphinx `_ library to create the build; and - the `ReadTheDoc `_ website to distribute the build. -.. attention:: +.. important:: To contribute to SEPAL documentation, you will need: @@ -48,7 +49,7 @@ Guidelines There are only two guidelines to follow that are not directly specified in the .rst documentation or template: - **Indentation**: Insert :code:`4 spaces` for directives (options and content) and bullet points; and -- **Headings**: Use the appropriate symbols for section heading formatting (:code:`=`, :code:`-`, :code:`^`, :code:`"`, :code:`#`, and :code:`+`). +- **Headings**: Use the appropriate symbols for section heading formatting (:code:`=`, :code:`-`, :code:`^`, :code:`"`, :code:`#`, and :code:`+`, as seen below). .. code-block:: rst @@ -160,13 +161,13 @@ You can find the icon you're looking for in the Font Awesome `library Apply` + **Apply** button: :btn:` Apply` - App button: :btn:`` + **App** button: :btn:`` -Apply button: :btn:` Apply` +**Apply** button: :btn:` Apply` -App button: :btn:`` +**App** button: :btn:`` Minor change ------------ @@ -174,7 +175,7 @@ Minor change Page edit ^^^^^^^^^ -If you would like to make modifications to an existing article in the documentation because you've seen a typo or would like to improve an explanation, select the :code:`Edit on GitHub` button in the pane on the right side of your browser window (if the button isn't available, use your browser's **Zoom out** function or open the pane using the hamburger button [the button in the upper-right corner with three lines]). +If you would like to make modifications to an existing article in the documentation because you've seen a typo or would like to improve an explanation, select the :code:`Edit on GitHub` button in the pane on the right side of your browser window (if the button isn't available, use your browser's **Zoom out** function or open the pane using the triple bar button [☰] in the upper-right corner). .. figure:: ../_images/team/contribute/edit_page.png :alt: Edit page button From 13dbdf574ead09e699ddb90366a91cd797d17de0 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 13:23:24 +0100 Subject: [PATCH 037/110] Update contribute.rst Minor edit. --- docs/source/team/contribute.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/team/contribute.rst b/docs/source/team/contribute.rst index 49ab2c5477..5b390d652f 100644 --- a/docs/source/team/contribute.rst +++ b/docs/source/team/contribute.rst @@ -2,7 +2,7 @@ Contribute ========== -** +*Learn how to make contributions to SEPAL documentation* The SEPAL team values user feedback and contributions to SEPAL documentation. From 41ab9d89e2e912e910f1a2a444fec29110c761f8 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 13:25:59 +0100 Subject: [PATCH 038/110] Update classroom.rst Finalized and ready to be published. --- docs/source/team/classroom.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/team/classroom.rst b/docs/source/team/classroom.rst index 8efd8d7c71..a97ef89f7d 100644 --- a/docs/source/team/classroom.rst +++ b/docs/source/team/classroom.rst @@ -2,6 +2,7 @@ Google Classroom ================ +*Learn how to use SEPAL's Google Classroom* Usage ----- From cd8bd498ca1bc155deef1f9c11cf9696832af675 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Thu, 14 Dec 2023 13:27:31 +0100 Subject: [PATCH 039/110] Update contribute.rst Minor edit. --- docs/source/team/contribute.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/source/team/contribute.rst b/docs/source/team/contribute.rst index 3203167a6e..52f5201cc5 100644 --- a/docs/source/team/contribute.rst +++ b/docs/source/team/contribute.rst @@ -541,8 +541,8 @@ You now have one single file to modify :code:`sepal-doc/docs/data//** by the title of the classroom; and - add the latest **** in **YYYY-MM-DD** format. -Create a pull request (PR) --------------------------- +Create a pull request +--------------------- .. note:: @@ -555,7 +555,7 @@ First, select the :code:`Pull requests` button: .. figure:: ../_images/team/contribute/start_pr.png :alt: Pull requests button - Open the **Pull request** interface. + Open the **Pull request (PR)** interface. In the **Pull request** interface, select the :code:`New pull request` button: From cde27501879bbc51a0243a8b57aa2807748e7f12 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 09:59:17 +0100 Subject: [PATCH 040/110] Update no_module.rst Finalized and ready to be published. --- docs/source/_templates/no_module.rst | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/docs/source/_templates/no_module.rst b/docs/source/_templates/no_module.rst index dcb09f47f4..e859e4173f 100644 --- a/docs/source/_templates/no_module.rst +++ b/docs/source/_templates/no_module.rst @@ -1,10 +1,3 @@ -Module_name -= +.. note:: -.. warning:: - - The english documentation of the module have is under construction. - -.. tip:: - - For specific help, please open an issue on our repository by clicking on this `link `__. + This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker `__. From e901e5c3d175b04f7c68a37258bcf591581ffc2e Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:02:40 +0100 Subject: [PATCH 041/110] Update smfm_deforest.rst Finalized and ready to be published. --- docs/source/modules/dwn/smfm_deforest.rst | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/docs/source/modules/dwn/smfm_deforest.rst b/docs/source/modules/dwn/smfm_deforest.rst index 4ad6a5cfc4..1bbbdc5410 100644 --- a/docs/source/modules/dwn/smfm_deforest.rst +++ b/docs/source/modules/dwn/smfm_deforest.rst @@ -1,12 +1,6 @@ -smfm_deforest +SMFM deforest ============= -.. warning:: - - The english documentation of the module have is under construction. - -.. tip:: - - For specific help, please open an issue on our repository by clicking on this `link `__. +.. include:: ../_templates/no_module.rst .. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst From da1f9486af865b176f7305e7632743ba0e0ea1cc Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:05:35 +0100 Subject: [PATCH 042/110] Update smfm_biota.rst Finalized and ready to be published. --- docs/source/modules/dwn/smfm_biota.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/source/modules/dwn/smfm_biota.rst b/docs/source/modules/dwn/smfm_biota.rst index 673921cbd8..403ca09006 100644 --- a/docs/source/modules/dwn/smfm_biota.rst +++ b/docs/source/modules/dwn/smfm_biota.rst @@ -1,5 +1,6 @@ -Satellite Monitoring for Forest Management – Biomass Tool for ALOS tool (SMFM BIOTA) -==================================================================================== +SMFM BIOTA +========== +*Generate maps of AGB, Gamma0 backscatter, forest cover, AGB change, deforestation risk and change type with the SMFM BIOTA tool* The Biomass Tool for ALOS (BIOTA tool) is part of the World Bank's project, `Satellite Monitoring for Forest Management (SMFM) project `_. It was developed by `LTS International `_ and the `University of Edinburgh `_ with an integration in the SEPAL platform developed by the SEPAL developer team. From 7e82816b1338ed44b8587d58e6b66722fda229be Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:07:02 +0100 Subject: [PATCH 043/110] Update smfm_biota.rst Edit. --- docs/source/modules/dwn/smfm_biota.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/modules/dwn/smfm_biota.rst b/docs/source/modules/dwn/smfm_biota.rst index 403ca09006..428648dd09 100644 --- a/docs/source/modules/dwn/smfm_biota.rst +++ b/docs/source/modules/dwn/smfm_biota.rst @@ -1,6 +1,6 @@ SMFM BIOTA ========== -*Generate maps of AGB, Gamma0 backscatter, forest cover, AGB change, deforestation risk and change type with the SMFM BIOTA tool* +*Calculate biomass change over time using ALOS PALSAR data* The Biomass Tool for ALOS (BIOTA tool) is part of the World Bank's project, `Satellite Monitoring for Forest Management (SMFM) project `_. It was developed by `LTS International `_ and the `University of Edinburgh `_ with an integration in the SEPAL platform developed by the SEPAL developer team. From ffed14f887373b4af537987e69f3683a9eac362f Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:08:07 +0100 Subject: [PATCH 044/110] Update smfm_deforest.rst Edit. --- docs/source/modules/dwn/smfm_deforest.rst | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/docs/source/modules/dwn/smfm_deforest.rst b/docs/source/modules/dwn/smfm_deforest.rst index 4ad6a5cfc4..2ee17e1866 100644 --- a/docs/source/modules/dwn/smfm_deforest.rst +++ b/docs/source/modules/dwn/smfm_deforest.rst @@ -1,12 +1,7 @@ -smfm_deforest +SMFM deforest ============= +*Detect deforestation using a time-series of forest probabilities* -.. warning:: - - The english documentation of the module have is under construction. - -.. tip:: - - For specific help, please open an issue on our repository by clicking on this `link `__. +.. include:: ../_templates/no_module.rst .. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst From 0a3caa09422b35854efcb88e99fec95931fc0795 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:10:57 +0100 Subject: [PATCH 045/110] Update sepafe.rst Finalized and ready to be published. --- docs/source/modules/dwn/sepafe.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/modules/dwn/sepafe.rst b/docs/source/modules/dwn/sepafe.rst index 0ee0384cb5..634dc645a8 100644 --- a/docs/source/modules/dwn/sepafe.rst +++ b/docs/source/modules/dwn/sepafe.rst @@ -1,5 +1,6 @@ SEPAFE ====== +*Receive and validate fire alerts from the FIRMS programme by using daily Planet imagery* The SEPAL Planet Active Fires Explorer (SEPAFE) is a module developed on the SEPAL platform based on the `Fire Information for Resource Management System (FIRMS) `_ and using Planet Scope imagery from Planet Labs. From 4d9226cc0bd5907a74b27624439a301655a56399 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:12:44 +0100 Subject: [PATCH 046/110] Update planet_order.rst Finalized and ready to be published. --- docs/source/modules/dwn/planet_order.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/modules/dwn/planet_order.rst b/docs/source/modules/dwn/planet_order.rst index a5ef7355e7..7843a9330f 100644 --- a/docs/source/modules/dwn/planet_order.rst +++ b/docs/source/modules/dwn/planet_order.rst @@ -1,5 +1,6 @@ Planet order ============ +*Order imagery from Planet Lab mosaics* This dasboard application, based on the `SEPAL-UI `_ framework, provides users with an interface to explore and download Planet Lab images. From e6beb3d396451c8b02a2442ed4ac6b49439d1377 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:14:29 +0100 Subject: [PATCH 047/110] Update damage_proxy_map.rst Finalized and ready to be published. --- docs/source/modules/dwn/damage_proxy_map.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/source/modules/dwn/damage_proxy_map.rst b/docs/source/modules/dwn/damage_proxy_map.rst index 3f7363ca47..271d9c1ddc 100644 --- a/docs/source/modules/dwn/damage_proxy_map.rst +++ b/docs/source/modules/dwn/damage_proxy_map.rst @@ -1,7 +1,6 @@ Damage proxy maps ================= - -**Damage proxy maps based on coherence change detection** +*Create damage proxy maps based on the CCD method with Sentinel-1 SLC data* This module provides a fully-automated workflow for the creation of damage proxy maps based on the method of coherent change detection (CCD) with Sentinel-1 SLC data, as described by `Tay *et al.* (2020) `_. From e5d1fc5f9f6e7913a4c96b60ace9f01920e157d3 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:16:20 +0100 Subject: [PATCH 048/110] Update bootstrap_sampling_simulator.rst Finalized and ready to be published. --- .../modules/dwn/bootstrap_sampling_simulator.rst | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/docs/source/modules/dwn/bootstrap_sampling_simulator.rst b/docs/source/modules/dwn/bootstrap_sampling_simulator.rst index 64d03d08bf..b54a12594a 100644 --- a/docs/source/modules/dwn/bootstrap_sampling_simulator.rst +++ b/docs/source/modules/dwn/bootstrap_sampling_simulator.rst @@ -1,12 +1,6 @@ -bootstrap_sampling_simulator +Bootstrap sampling simulator ============================ -.. warning:: - - The english documentation of the module have is under construction. - -.. tip:: - - For specific help, please open an issue on our repository by clicking on this `link `__. +.. include:: ../_templates/no_module.rst .. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst From cce5ad46a18acf3c0f4f74d7c6c31ccce07a9723 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:17:29 +0100 Subject: [PATCH 049/110] Update plot_generator.rst Finalized and ready to be published. --- docs/source/modules/dwn/plot_generator.rst | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/docs/source/modules/dwn/plot_generator.rst b/docs/source/modules/dwn/plot_generator.rst index 7c0efd50b0..7080f1c416 100644 --- a/docs/source/modules/dwn/plot_generator.rst +++ b/docs/source/modules/dwn/plot_generator.rst @@ -1,12 +1,6 @@ -plot_generator +Plot generator ============== -.. warning:: - - The english documentation of the module have is under construction. - -.. tip:: - - For specific help, please open an issue on our repository by clicking on this `link `__. +.. include:: ../_templates/no_module.rst .. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst From 68eca8d70ed6fc19aaaa0c1a6936af3115e15f6f Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:19:46 +0100 Subject: [PATCH 050/110] Update clip-time-series.rst Finalized and ready to be published. --- docs/source/modules/dwn/clip-time-series.rst | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/source/modules/dwn/clip-time-series.rst b/docs/source/modules/dwn/clip-time-series.rst index 093d208d8a..9d7d721428 100644 --- a/docs/source/modules/dwn/clip-time-series.rst +++ b/docs/source/modules/dwn/clip-time-series.rst @@ -1,13 +1,12 @@ Clip time series ================ +*Download an automatically generated time series from customizable dates as a .pdf file* .. tip:: This article should explain every step to execute the module. However, if you encounter a problem, please `report it `_. -This module allows users to download an automatically generated time series from customizable dates as a :code:`.pdf`. - -Each mosaic will be represented as a custom square around the point of interest using the band combination selected by the user (ranging in size from 500 m x 500 m to 1000 km x 10000 km). +This module allows users to download an automatically generated time series from customizable dates as a :code:`.pdf`. Each mosaic will be represented as a custom square around the point of interest using the band combination selected by the user (ranging in size from 500 m x 500 m to 1000 km x 10000 km). Select file ----------- From 5dc2c5f07ef91bfc8aeef1ad4c26fda63f891cef Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:23:21 +0100 Subject: [PATCH 051/110] Update gwb.rst Ready to be published. --- docs/source/modules/dwn/gwb.rst | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/source/modules/dwn/gwb.rst b/docs/source/modules/dwn/gwb.rst index 723ee7da9b..8174a7efd8 100644 --- a/docs/source/modules/dwn/gwb.rst +++ b/docs/source/modules/dwn/gwb.rst @@ -1,10 +1,9 @@ GuidosToolbox Workbench (GWB) ============================= +*Suite of various geospatial image analysis tools* This article of SEPAL documentation provides usage instructions for the image analysis module **GWB** (`GuidosToolbox Workbench `_) implemented as a Jupyter dashboard on the SEPAL platform. -Citation reference: `GuidosToolbox Workbench: Spatial analysis of raster maps for ecological applications `_. - Introduction ------------ @@ -1256,4 +1255,9 @@ Here is the result of the computation using SPA2 (two classes) on the :code:`exa :width: 50% :group: gwb-module +References +---------- + +`GuidosToolbox Workbench: Spatial analysis of raster maps for ecological applications `_ + .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/gwb/release/doc/en.rst From 895c2f954dfca9931928e5258bb8958e639e11dc Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:24:59 +0100 Subject: [PATCH 052/110] Update sdg_indicator.rst Ready to be published. --- docs/source/modules/dwn/sdg_indicator.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/modules/dwn/sdg_indicator.rst b/docs/source/modules/dwn/sdg_indicator.rst index 230fa5410c..cc5d61ec66 100644 --- a/docs/source/modules/dwn/sdg_indicator.rst +++ b/docs/source/modules/dwn/sdg_indicator.rst @@ -1,5 +1,6 @@ SDG Indicator 15.3.1 ==================== +*Generate data for reporting on SDG Indicator 15.3.1* The amount of degraded land relative to the total amount of land is measured by Sustainable Development Goal (SDG) Indicator 15.3.1. From 6a56b1965177d6c8869b0bacea96566b1614152c Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:26:00 +0100 Subject: [PATCH 053/110] Update gwb.rst Edit. --- docs/source/modules/dwn/gwb.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/modules/dwn/gwb.rst b/docs/source/modules/dwn/gwb.rst index 8174a7efd8..b484283eef 100644 --- a/docs/source/modules/dwn/gwb.rst +++ b/docs/source/modules/dwn/gwb.rst @@ -1,5 +1,5 @@ -GuidosToolbox Workbench (GWB) -============================= +GWB +=== *Suite of various geospatial image analysis tools* This article of SEPAL documentation provides usage instructions for the image analysis module **GWB** (`GuidosToolbox Workbench `_) implemented as a Jupyter dashboard on the SEPAL platform. From c6ae58cf76633d2ac162ff0076b997aec3dbb9c2 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:30:05 +0100 Subject: [PATCH 054/110] Update sepal_mgci.rst Finalized and ready to be published. --- docs/source/modules/dwn/sepal_mgci.rst | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/docs/source/modules/dwn/sepal_mgci.rst b/docs/source/modules/dwn/sepal_mgci.rst index 33f2eb3f0f..6b180563b5 100644 --- a/docs/source/modules/dwn/sepal_mgci.rst +++ b/docs/source/modules/dwn/sepal_mgci.rst @@ -1,7 +1,6 @@ -SEPAL - Mountain Green Cover Index (MGCI) :sub:`beta` -===================================================== - -*A tool to support the computation of Sustainable Development Goal (SDG) Indicator 15.4.2 – Mountain Green Cover Index* +SEPAL - MGCI :sub:`beta` +======================== +*Compute and report against SDG Indicator 15.4.2, as well as track the progress of efforts to monitor ecosystem restoration* General information ------------------- @@ -9,7 +8,7 @@ General information About SEPAL–MGCI :sub:`beta` ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -**SEPAL-MGCI :sub:`beta`** was developed to help member countries compute and report against SDG Indicator 15.4.2, as well as track the progress of efforts to monitor ecosystem restoration. +SEPAL-MGCI :sub:`beta` was developed to help member countries compute and report against SDG Indicator 15.4.2, as well as track the progress of efforts to monitor ecosystem restoration (MGCI refers to Mountain Green Cover Index). It is available on the SEPAL platform in a beta stage (i.e. still in development). @@ -20,9 +19,9 @@ Please contact the **SEPAL-MGCI :sub:`beta` team** with any comments or suggesti Authors ^^^^^^^ -**SEPAL-MGCI :sub:`beta`** was developed by the Food and Agriculture Organization of the United Nations (FAO). +SEPAL-MGCI :sub:`beta` was developed by the Food and Agriculture Organization of the United Nations (FAO). -Specific contributors to **SEPAL-MGCI :sub:`beta`** and its documentation include: +Specific contributors to SEPAL-MGCI :sub:`beta` and its documentation include: - Daniel Guerrero - Pierrick Rambaud @@ -31,7 +30,7 @@ Specific contributors to **SEPAL-MGCI :sub:`beta`** and its documentation includ License ^^^^^^^ -**SEPAL-MGCI :sub:`beta`** is free and open-source. It is licensed under an `MIT license `__. +SEPAL-MGCI :sub:`beta` is free and open-source. It is licensed under an `MIT license `__. The documentation is made available under the terms of the `Creative Commons Attribution 4.0 International License (CC BY 4.0) `__. The boundaries, names and designations used do not imply official endorsement or acceptance by the United Nations. @@ -98,7 +97,7 @@ Where: "5","Elevation 1.000–1.500 m and slope > 5 or local elevation range (LER 7 km radius) > 300 m" "6","Elevation 300–1.000 m and local elevation range (7 km radius) > 300 m" -**SEPAL-MGCI :sub:`beta`** allows the user to compute each of these descriptive layers to then calculate MGCI values for any given area using both global and user-provided data. The results of this analysis can then be exported to a set of standardized reporting tables where MGCI values are disaggregated by mountain class and IPCC land category, as specified in the `metadata of SDG Indicator 15.4.2 `_. +SEPAL-MGCI :sub:`beta` allows the user to compute each of these descriptive layers to then calculate MGCI values for any given area using both global and user-provided data. The results of this analysis can then be exported to a set of standardized reporting tables where MGCI values are disaggregated by mountain class and IPCC land category, as specified in the `metadata of SDG Indicator 15.4.2 `_. References ^^^^^^^^^^ From 05fc818b36d0a5adb0ed45bee46e95086436d1c2 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:32:19 +0100 Subject: [PATCH 055/110] Update sepal_pysmm.rst Edit. --- docs/source/modules/dwn/sepal_pysmm.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/modules/dwn/sepal_pysmm.rst b/docs/source/modules/dwn/sepal_pysmm.rst index 6488cd3375..b7e1c36520 100644 --- a/docs/source/modules/dwn/sepal_pysmm.rst +++ b/docs/source/modules/dwn/sepal_pysmm.rst @@ -1,5 +1,6 @@ Soil moisture mapping ===================== +*Map surface soil moisture based on Copernicus Sentinel-1 intensity data* Open SEPAL ---------- From b4cdee401a3af4ddfe7c823055265fe548a56fab Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:35:13 +0100 Subject: [PATCH 056/110] Update seplan.rst Minor edit. --- docs/source/modules/dwn/seplan.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/modules/dwn/seplan.rst b/docs/source/modules/dwn/seplan.rst index 740d872b66..5941aec550 100644 --- a/docs/source/modules/dwn/seplan.rst +++ b/docs/source/modules/dwn/seplan.rst @@ -1,5 +1,6 @@ se.plan ======= +*Restoration planning tool using a weighted-sum approach* Introduction ------------ From 250d1a2ea0837e6e88bd3bc8e0b0c1a902c1a471 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:36:32 +0100 Subject: [PATCH 057/110] Update bfast_explorer.rst Minor edit. --- docs/source/modules/dwn/bfast_explorer.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/modules/dwn/bfast_explorer.rst b/docs/source/modules/dwn/bfast_explorer.rst index 5b4f0f6e05..bffb977b0f 100644 --- a/docs/source/modules/dwn/bfast_explorer.rst +++ b/docs/source/modules/dwn/bfast_explorer.rst @@ -1,5 +1,6 @@ BFAST Explorer ============== +*Analyse Landsat SR time-series pixel data* .. note:: From 37524a2b66ac5de048641dcfb31eab6608be881b Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:37:42 +0100 Subject: [PATCH 058/110] Update bfast_gpu.rst Minor edit. --- docs/source/modules/dwn/bfast_gpu.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/modules/dwn/bfast_gpu.rst b/docs/source/modules/dwn/bfast_gpu.rst index 5ad192f9c3..369bfe0ec2 100644 --- a/docs/source/modules/dwn/bfast_gpu.rst +++ b/docs/source/modules/dwn/bfast_gpu.rst @@ -1,5 +1,6 @@ BFAST GPU ========= +*GPU implementation of the BFAST algorithm to analyse time series* This document provides usage instructions for the GPU implementation of BFAST, implemented here as a Jupyter dashboard on SEPAL. From aa5b10766735d3b7eca595e0f557d46ba6793441 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:40:11 +0100 Subject: [PATCH 059/110] Update bfast_r.rst Finalize and publish. --- docs/source/modules/dwn/bfast_r.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/modules/dwn/bfast_r.rst b/docs/source/modules/dwn/bfast_r.rst index f51502b482..a0d1b84857 100644 --- a/docs/source/modules/dwn/bfast_r.rst +++ b/docs/source/modules/dwn/bfast_r.rst @@ -1,5 +1,6 @@ Time series analysis ==================== +*Analyse the dynamics of satellite dense time series and overcome the major challenge of distinguishing land-cover change from seasonal phenological variations* Overview -------- From a06ce4ce1d468e99a688b8673523ccd1c3cb5ddc Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:41:54 +0100 Subject: [PATCH 060/110] Update cusum.rst Finalized. --- docs/source/modules/dwn/cusum.rst | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/docs/source/modules/dwn/cusum.rst b/docs/source/modules/dwn/cusum.rst index 9613cd9821..76713ca31e 100644 --- a/docs/source/modules/dwn/cusum.rst +++ b/docs/source/modules/dwn/cusum.rst @@ -1,12 +1,7 @@ cusum ===== +*Spatially cumulative sum algorithm for change detection within univariate time series (GPU-powered)* -.. warning:: - - The english documentation of the module have is under construction. - -.. tip:: - - For specific help, please open an issue on our repository by clicking on this `link `__. +.. include:: ../_templates/no_module.rst .. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst From 0c5bb4562a9d7cc3d5936ca6e52d78ee26b1301e Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:47:02 +0100 Subject: [PATCH 061/110] Update sar_time_series.rst Finalized. --- docs/source/modules/dwn/sar_time_series.rst | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/docs/source/modules/dwn/sar_time_series.rst b/docs/source/modules/dwn/sar_time_series.rst index cc36105397..253f6509a6 100644 --- a/docs/source/modules/dwn/sar_time_series.rst +++ b/docs/source/modules/dwn/sar_time_series.rst @@ -1,12 +1,6 @@ -sar_time_series +SAR time series =============== -.. warning:: - - The english documentation of the module have is under construction. - -.. tip:: - - For specific help, please open an issue on our repository by clicking on this `link `__. +.. include:: ../_templates/no_module.rst .. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst From 1575665a199e42eabd8e222bbaa9b45c0cd4374f Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:54:19 +0100 Subject: [PATCH 062/110] Update alert_module.rst Finalized. --- docs/source/modules/dwn/alert_module.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/modules/dwn/alert_module.rst b/docs/source/modules/dwn/alert_module.rst index 9d89b7d1a9..b0b8e1f50c 100644 --- a/docs/source/modules/dwn/alert_module.rst +++ b/docs/source/modules/dwn/alert_module.rst @@ -1,5 +1,6 @@ Deforestation alert analysis ============================ +*Retrieve any type of alert on a selected AOI* .. attention:: From f72fbb95633e4c3a07f154a33792ff19587b7fb3 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:55:23 +0100 Subject: [PATCH 063/110] Update alos_mosaics.rst Finalized. --- docs/source/modules/dwn/alos_mosaics.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/modules/dwn/alos_mosaics.rst b/docs/source/modules/dwn/alos_mosaics.rst index 6a22197f59..5746926a32 100644 --- a/docs/source/modules/dwn/alos_mosaics.rst +++ b/docs/source/modules/dwn/alos_mosaics.rst @@ -1,5 +1,6 @@ ALOS Kyoto & Carbon Mosaics by JAXA =================================== +*Create and manipulate ALOS K&C mosaics* This module was adapted to the SEPAL environment from `this script by Vollrath `_. From b157de1c56520e5ddc8595330f909d85ba440568 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:56:26 +0100 Subject: [PATCH 064/110] Update coverage_analysis.rst Finalized. --- docs/source/modules/dwn/coverage_analysis.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/modules/dwn/coverage_analysis.rst b/docs/source/modules/dwn/coverage_analysis.rst index cf4c4d252c..c7cb9f1ea4 100644 --- a/docs/source/modules/dwn/coverage_analysis.rst +++ b/docs/source/modules/dwn/coverage_analysis.rst @@ -1,5 +1,6 @@ Coverage analysis tool for optical data ======================================= +*Check per-pixel data availability* This module uses the `sepal_ui `_ framework and interactive **Voila** dashboard to create maps of cloud-free observations for major optical satellites available on the Google Earth Engine (GEE) platform. From 25f00c9c56c9c3f83be7b0519155eaa27f5732d6 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:57:18 +0100 Subject: [PATCH 065/110] Update fcdm.rst Finalized. --- docs/source/modules/dwn/fcdm.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/modules/dwn/fcdm.rst b/docs/source/modules/dwn/fcdm.rst index b94e99c871..e1b9e9b664 100644 --- a/docs/source/modules/dwn/fcdm.rst +++ b/docs/source/modules/dwn/fcdm.rst @@ -1,5 +1,6 @@ Forest Canopy Disturbance Monitoring (FCDM) =========================================== +*Map canopy disturbances (natural- or human-induced) within (semi-)evergreen forests* .. note:: From aadae0ab0378c6922c39fe11bef6ac072f5e5f5a Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:58:12 +0100 Subject: [PATCH 066/110] Update geo_processing.rst Finalized. --- docs/source/modules/dwn/geo_processing.rst | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/docs/source/modules/dwn/geo_processing.rst b/docs/source/modules/dwn/geo_processing.rst index f5fd2d479e..683df798d5 100644 --- a/docs/source/modules/dwn/geo_processing.rst +++ b/docs/source/modules/dwn/geo_processing.rst @@ -1,12 +1,6 @@ -geo_processing +GEO-processing ============== -.. warning:: - - The english documentation of the module have is under construction. - -.. tip:: - - For specific help, please open an issue on our repository by clicking on this `link `__. +.. include:: ../_templates/no_module.rst .. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst From 718394fe41ed2f6c1237c9af818c9b5e64c8b8ce Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 10:59:30 +0100 Subject: [PATCH 067/110] Update gfc_wrapper_python.rst Finalized. --- docs/source/modules/dwn/gfc_wrapper_python.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/source/modules/dwn/gfc_wrapper_python.rst b/docs/source/modules/dwn/gfc_wrapper_python.rst index f40d19a581..44cafcf305 100644 --- a/docs/source/modules/dwn/gfc_wrapper_python.rst +++ b/docs/source/modules/dwn/gfc_wrapper_python.rst @@ -1,7 +1,6 @@ Forest change mask ================== - -*Base forest mask and fragmentation tool* +*Combine GFC layers to produce forest change maps* This application allows users to: From 6831b373f7cd21cb79fa739d691fb68b2043fef6 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 11:00:47 +0100 Subject: [PATCH 068/110] Update gfc_wrapper_R.rst --- docs/source/modules/dwn/gfc_wrapper_R.rst | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/docs/source/modules/dwn/gfc_wrapper_R.rst b/docs/source/modules/dwn/gfc_wrapper_R.rst index f84eb97374..d27de1af36 100644 --- a/docs/source/modules/dwn/gfc_wrapper_R.rst +++ b/docs/source/modules/dwn/gfc_wrapper_R.rst @@ -1,12 +1,6 @@ -gfc_wrapper_R +GFC-wrapper R ============= -.. warning:: - - The english documentation of the module have is under construction. - -.. tip:: - - For specific help, please open an issue on our repository by clicking on this `link `__. +.. include:: ../_templates/no_module.rst .. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst From 110e3107cae34d4ed86d3b8b79841759eea3dc16 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 11:03:02 +0100 Subject: [PATCH 069/110] Update gfc_wrapper_python.rst --- docs/source/modules/dwn/gfc_wrapper_python.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/modules/dwn/gfc_wrapper_python.rst b/docs/source/modules/dwn/gfc_wrapper_python.rst index 44cafcf305..94ea8dd1fb 100644 --- a/docs/source/modules/dwn/gfc_wrapper_python.rst +++ b/docs/source/modules/dwn/gfc_wrapper_python.rst @@ -1,6 +1,6 @@ Forest change mask ================== -*Combine GFC layers to produce forest change maps* +*Base forest mask and fragmentation tool* This application allows users to: From 5d6837d4ff4f23847c85ec2d6a9fd68706db507d Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 11:04:18 +0100 Subject: [PATCH 070/110] Update gwl_analysis.rst Finalized. --- docs/source/modules/dwn/gwl_analysis.rst | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/docs/source/modules/dwn/gwl_analysis.rst b/docs/source/modules/dwn/gwl_analysis.rst index 1fae0a6564..dcec9ae073 100644 --- a/docs/source/modules/dwn/gwl_analysis.rst +++ b/docs/source/modules/dwn/gwl_analysis.rst @@ -1,12 +1,6 @@ -gwl_analysis +GWL analysis ============ -.. warning:: - - The english documentation of the module have is under construction. - -.. tip:: - - For specific help, please open an issue on our repository by clicking on this `link `__. +.. include:: ../_templates/no_module.rst .. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst From f827d0cd41c0bc9624a0a54ca0f51e63836c3ba4 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 11:05:37 +0100 Subject: [PATCH 071/110] Update vector_manager.rst Finalized. --- docs/source/modules/dwn/vector_manager.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/modules/dwn/vector_manager.rst b/docs/source/modules/dwn/vector_manager.rst index 8197cac8e5..eceb6eb047 100644 --- a/docs/source/modules/dwn/vector_manager.rst +++ b/docs/source/modules/dwn/vector_manager.rst @@ -1,5 +1,6 @@ Vector file manager =================== +*Upload and transform files into assets in GEE* This module has been designed on top of the interactive framework, `sepal_ui `_, allowing users to upload files from their local computers and transform them into assets in Google Earth Engine (GEE). The module can also be used to produce a grid on top of any area of interest (AOI), coresponding to our best product (NICFI 2.5 metre resolution 10 kilometre x 10 kilometre grid). From e8d7df21d89b0a06c8a45f14a0309ef8b9971a67 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 11:06:43 +0100 Subject: [PATCH 072/110] Update sae_analysis.rst Finalized. --- docs/source/modules/dwn/sae_analysis.rst | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/docs/source/modules/dwn/sae_analysis.rst b/docs/source/modules/dwn/sae_analysis.rst index 3510a2033e..e3aa4191d5 100644 --- a/docs/source/modules/dwn/sae_analysis.rst +++ b/docs/source/modules/dwn/sae_analysis.rst @@ -1,8 +1,6 @@ -Stratified Area Estimation (SAE) – Analysis -=========================================== - -Analyse results from a stratified sampling design for area estimates --------------------------------------------------------------------- +SAE Analysis +============ +*Analyse results from a stratified sampling design for area estimates* The aim of this stratified sampling design tool is to analyse results from a stratified sampling design that can be used for area estimates by combining a map (used as a stratification of the landscape of interest) with a visual map interpretation of samples to produce an area estimation. From 3587bbe7fd829a3ccb85d31d3fdb88262f831736 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 11:07:27 +0100 Subject: [PATCH 073/110] Update sae_design.rst Finalized. --- docs/source/modules/dwn/sae_design.rst | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/docs/source/modules/dwn/sae_design.rst b/docs/source/modules/dwn/sae_design.rst index a9bfcfbc08..0c76ab7b5e 100644 --- a/docs/source/modules/dwn/sae_design.rst +++ b/docs/source/modules/dwn/sae_design.rst @@ -1,12 +1,6 @@ -sae_design +SAE design ========== -.. warning:: - - The english documentation of the module have is under construction. - -.. tip:: - - For specific help, please open an issue on our repository by clicking on this `link `__. +.. include:: ../_templates/no_module.rst .. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst From 3b22c11eb60b5d4120d1ee51b7cf6f8fef1fdac5 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 11:08:21 +0100 Subject: [PATCH 074/110] Update tmf.rst Finalized. --- docs/source/modules/dwn/tmf.rst | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/docs/source/modules/dwn/tmf.rst b/docs/source/modules/dwn/tmf.rst index 51ecf2beb4..c6c8d6ea18 100644 --- a/docs/source/modules/dwn/tmf.rst +++ b/docs/source/modules/dwn/tmf.rst @@ -1,12 +1,7 @@ -tmf +TMF === +*Wrapper for TMF* -.. warning:: - - The english documentation of the module have is under construction. - -.. tip:: - - For specific help, please open an issue on our repository by clicking on this `link `__. +.. include:: ../_templates/no_module.rst .. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst From 915a46cf0eea6b093ce3d89c5e200e7757cd9606 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 11:09:06 +0100 Subject: [PATCH 075/110] Update zonal-analysis.rst --- docs/source/modules/dwn/zonal-analysis.rst | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/docs/source/modules/dwn/zonal-analysis.rst b/docs/source/modules/dwn/zonal-analysis.rst index dc8c547187..041fde357c 100644 --- a/docs/source/modules/dwn/zonal-analysis.rst +++ b/docs/source/modules/dwn/zonal-analysis.rst @@ -1,14 +1,6 @@ Zonal analysis ============== -.. warning:: - - The english documentation of the module have not been set. - -.. tip:: - - Please open an issue on their repository : https://github.com/openforis/zonal-analysis/issues/new - -One modification to see if the updating works +.. include:: ../_templates/no_module.rst .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/zonal-analysis/release/doc/en.rst From 8b4a1719c6a049399635c19d3d2739db138a4d33 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 11:09:59 +0100 Subject: [PATCH 076/110] Update gee-source.rst Finalized. --- docs/source/modules/dwn/gee-source.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/modules/dwn/gee-source.rst b/docs/source/modules/dwn/gee-source.rst index 31c27a7962..89ec7feaa7 100644 --- a/docs/source/modules/dwn/gee-source.rst +++ b/docs/source/modules/dwn/gee-source.rst @@ -1,5 +1,6 @@ GEE app reader ============== +*Display the source code of any GEE-based application* This application allows users to display the source code of any GEE-based application. From cb726642f8aef02b2ed4d35b113b96b29160c974 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 11:10:56 +0100 Subject: [PATCH 077/110] Update weplan.rst Finalized. --- docs/source/modules/dwn/weplan.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/source/modules/dwn/weplan.rst b/docs/source/modules/dwn/weplan.rst index 41b52961fa..61651f0889 100644 --- a/docs/source/modules/dwn/weplan.rst +++ b/docs/source/modules/dwn/weplan.rst @@ -1,7 +1,6 @@ WePlan - Forests ================ - -*Forest restoration planning tool* +*Explore restoration planning solutions provided by WePlan - Forests* Overview -------- From 5bdc77f1f16f3327efb566ab99935e8fae020fdc Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 11:11:55 +0100 Subject: [PATCH 078/110] Update basin-river.rst Finalized. --- docs/source/modules/dwn/basin-river.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/source/modules/dwn/basin-river.rst b/docs/source/modules/dwn/basin-river.rst index 7e30741af3..24d3a65c4e 100644 --- a/docs/source/modules/dwn/basin-river.rst +++ b/docs/source/modules/dwn/basin-river.rst @@ -1,8 +1,7 @@ Resilient rivers and basins =========================== +*Understand forest cover and forest cover change from a watershed perspective* -Understand forest cover and forest cover change from a watershed perspective ----------------------------------------------------------------------------- Overview ________ From daf091d06a2831b0532b726380f33bb0ba3c5c13 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 11:23:35 +0100 Subject: [PATCH 079/110] Update community.html Edit. --- docs/source/_templates/community.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/_templates/community.html b/docs/source/_templates/community.html index d7aae64db4..1ea4e29839 100644 --- a/docs/source/_templates/community.html +++ b/docs/source/_templates/community.html @@ -1,6 +1,6 @@ From 2d98bbd0f173404c3ca72f93c76060eb798188b9 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 11:25:01 +0100 Subject: [PATCH 080/110] Update community.html --- docs/source/_templates/community.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/_templates/community.html b/docs/source/_templates/community.html index 1ea4e29839..4707b50500 100644 --- a/docs/source/_templates/community.html +++ b/docs/source/_templates/community.html @@ -1,6 +1,6 @@ From 542fed93431ba22968d764ae9767e9cbec8d5e56 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 11:25:48 +0100 Subject: [PATCH 081/110] Update e-learning.html Edit. --- docs/source/_templates/e-learning.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/_templates/e-learning.html b/docs/source/_templates/e-learning.html index 316a8b23cc..c1c881cabe 100644 --- a/docs/source/_templates/e-learning.html +++ b/docs/source/_templates/e-learning.html @@ -1,6 +1,6 @@ From 6cece5b72b47eeec523c6206f7ef3901e772fc5a Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 11:26:46 +0100 Subject: [PATCH 082/110] Update issue-tracker.html Edit. --- docs/source/_templates/issue-tracker.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/_templates/issue-tracker.html b/docs/source/_templates/issue-tracker.html index 3c5ba39bda..750a261076 100644 --- a/docs/source/_templates/issue-tracker.html +++ b/docs/source/_templates/issue-tracker.html @@ -1,6 +1,6 @@ From 4d45d73337fe8edc5fcbfcd5f99d0a7504c174c5 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 11:28:29 +0100 Subject: [PATCH 083/110] Update module_tag.rst Edit. --- docs/source/_templates/module_tag.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/_templates/module_tag.rst b/docs/source/_templates/module_tag.rst index 13e00ff174..eb2ba6a21d 100644 --- a/docs/source/_templates/module_tag.rst +++ b/docs/source/_templates/module_tag.rst @@ -1,7 +1,7 @@ module_tag = -List of the modules gathered under the module_tag tag: +Modules with the module_tag tag include: .. toctree:: :maxdepth: 1 From 3d5620c3a4ce244dc736d99d61619e87b985bede Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Fri, 15 Dec 2023 11:31:08 +0100 Subject: [PATCH 084/110] Update no_recipe.rst Edit. --- docs/source/_templates/no_recipe.rst | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/docs/source/_templates/no_recipe.rst b/docs/source/_templates/no_recipe.rst index 6e50b38436..c9cc25c622 100644 --- a/docs/source/_templates/no_recipe.rst +++ b/docs/source/_templates/no_recipe.rst @@ -1,7 +1,3 @@ -.. warning:: +.. note:: - The documentation of this recipe is under construction. - -.. tip:: - - For specific help, please open an issue on our repository by clicking on this `link `__. + This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker Date: Fri, 15 Dec 2023 11:32:25 +0100 Subject: [PATCH 085/110] Update stackexchange.html Edit. --- docs/source/_templates/stackexchange.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/_templates/stackexchange.html b/docs/source/_templates/stackexchange.html index 5acd4447e1..110b91bf5c 100644 --- a/docs/source/_templates/stackexchange.html +++ b/docs/source/_templates/stackexchange.html @@ -1,6 +1,6 @@ From 7fcb8bdd981378b96a0e311f7d9787e3eb85246c Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Sat, 16 Dec 2023 09:21:15 +0100 Subject: [PATCH 086/110] Update presentation.rst Edits --- docs/source/setup/presentation.rst | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/docs/source/setup/presentation.rst b/docs/source/setup/presentation.rst index 7f8af97814..69b9ef7595 100644 --- a/docs/source/setup/presentation.rst +++ b/docs/source/setup/presentation.rst @@ -99,9 +99,10 @@ Linking your GEE and SEPAL accounts will allow you to read and write from your G Link your SEPAL and GEE accounts in order to read and write to GEE assets from SEPAL. In the **User report** pop-up window, you can view the status (used/available) of your processing and storage resources: -- **Instance spending** refers to the resources used/available to start and run cloud computers. -- **Storage spending** and **Storage space** refer to the resources used/available for storage in your SEPAL workspace. -- **Sessions** refers to any processes in your current session, if you are running any. + +- **Instance spending** refers to the resources used/available to start and run cloud computers; +- **Storage spending** and **Storage space** refer to the resources used/available for storage in your SEPAL workspace; and +- **Sessions** refers to any processes in your current session, if you are running any. .. thumbnail:: ../_images/setup/presentation/user_report_panel.png :title: User report panel @@ -129,14 +130,14 @@ You should now see many options in the centre of the screen: - **Radar mosaic**: Create a mosaic using Sentinel-1 data. - **Planet mosaic**: Create a mosaic using NICFI–Planet basemaps (if you have permission from NICFI-Planet). - **Classification**: Use a random forest model to classify images from SEPAL or GEE (for guidance, see **Module 2**). -- **Time series**: Download time-series information to your SEPAL storage. -- **CCDC**: Create a Continuous Change Detection and Classicfication (CCDC) asset from a time series. +- **Time series**: Download time series information to your SEPAL storage. +- **CCDC**: Create a Continuous Change Detection and Classification (CCDC) asset from a time series. - **CCDC slice**: Create a slice of a CCDC asset for a specific date or date range. - **Class change**: Create a class change map from two categorical images (either SEPAL recipes or GEE assets). - **Index change**: Create an index change map from two single-band images (either SEPAL recipes or GEE assets). - **Remapping**: Remap categorical or continuous image bands into new categories. -When you select one of these options, a new tab will open with the graphical user interface (GUI) interface that allows you to specify your desired options. +When you select one of these options, a new tab will open with the graphical user interface (GUI) that allows you to specify your desired options. Files ^^^^^ @@ -150,7 +151,7 @@ For example, select the :code:`Downloads` folder to display the folders containi :align: center :width: 50% -In the upper right, there are four buttons (the three right-most buttons will be inactive until you select a file). From left to right: +In the upper right, there are four buttons (from left to right; the three right-most buttons will be inactive until you select a file): - The first button will show hidden files (files and folder names starting with **.**). - The second button will download selected data to your local computer. @@ -172,12 +173,12 @@ To start an instance: 1. Examine the **Available instance types** table (updated periodically; see example from September 2020 below). 2. Choose an **Instance type** that fits your needs (normally, a **t2** instance or **m2** instance is sufficient and cost-effective). -3. Next to **Select (t1):**, enter **t2** (or your chosen instance type). +3. Next to **Select (t1)**, enter **t2** (or your chosen instance type). 4. Press **Enter** on your keyboard and wait for the instance to start, which will take several minutes. To stop an instance: -- enter **exit** into the command line (you can then refresh the terminal page to start a new instance; or +- enter **exit** into the command line (you can then refresh the terminal page to start a new instance); or - open your **User report** by selecting the **$ 0/h** icon in the lower-right corner, then selecting the trashcan icon under **Sessions**. Once an instance has stopped, you can follow the instance start-up steps again to select a larger instance, if necessary. @@ -193,9 +194,7 @@ Apps In the vertical **Tabs** bar on the left, select the **Apps** button to display applications accessible through SEPAL (for more information about each app, select the rightmost **i** button). -Applications are preprogrammed (typically using R or Python) to perform specific useful tasks. - -Applications make use of instances; running them will use your SEPAL computing resources. +Applications are preprogrammed (typically using R or Python) to perform specific useful tasks, making use of instances (running them will use your SEPAL computing resources). .. thumbnail:: ../_images/setup/presentation/apps_interface.png :title: The Apps interface From f3636d61b95eefc41c80619f69c9482545336788 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Sat, 16 Dec 2023 09:22:36 +0100 Subject: [PATCH 087/110] Update presentation.rst Edits. --- docs/source/setup/presentation.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/setup/presentation.rst b/docs/source/setup/presentation.rst index 69b9ef7595..b52f046c29 100644 --- a/docs/source/setup/presentation.rst +++ b/docs/source/setup/presentation.rst @@ -207,8 +207,8 @@ Some of the apps include: - **R Studio**: Provides access to the R environment, where you can run processing scripts and upload data to your SEPAL folder. - **JupyterLab**: Provides access to the Python environment where you can run complex data workflows. - **BFAST GPU**: Graphics processing unit (GPU) implementation of the Breaks for Additive Season and Trend (BFAST) algorithm to analyse time series. -- **Deforestation alert analysis**: Retrieve any type of alert on a selected area of interest (AOI). +- **Deforestation alert analysis**: Retrieves any type of alert on a selected area of interest (AOI). - **MGCI**: Calculates Sustainable Development Goal (SDG) 15.4.2: Mountain Green Cover Index (MGCI) at national/subregional scale. -- **SMFM Biota**: Calculate biomass change over time using ALOS PALSAR data (SMFM refers to Satellite Monitoring for Forest Management). +- **SMFM Biota**: Calculates biomass change over time using ALOS PALSAR data (SMFM refers to Satellite Monitoring for Forest Management). For more information on available apps, see :doc:`../modules/index`. From 698b334d39d827c56c6b42f468e761f6b6d6feea Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Sat, 16 Dec 2023 09:26:11 +0100 Subject: [PATCH 088/110] Update gee.rst Edits. --- docs/source/setup/gee.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/source/setup/gee.rst b/docs/source/setup/gee.rst index d4f727bfb2..69c21ed6bf 100644 --- a/docs/source/setup/gee.rst +++ b/docs/source/setup/gee.rst @@ -26,7 +26,7 @@ All SEPAL recipes are based on GEE and run scripts written by SEPAL team members In the SEPAL **Apps** list, the applications tagged with the Google logo (:icon:`fa-brands fa-google`) are also running with the Python GEE API and don't require you to use big instances to run complex operations. -SEPAL recipes can be run from the main SEPAL interface using default SEPAL credentials or your personal GEE access credentials; however, to run the SEPAL applications that employ GEE, you will need to link your SEPAL and GEE accounts. SEPAL applications that make use of GEE will not run (i.e. authentication will not work) if your GEE and SEPAL accounts are unlinked. +**SEPAL recipes** can be run from the main **SEPAL interface** using default SEPAL credentials or your personal GEE access credentials; however, to run the SEPAL applications that employ GEE, you will need to link your SEPAL and GEE accounts. SEPAL applications that make use of GEE will not run (i.e. authentication will not work) if your GEE and SEPAL accounts are unlinked. Set up your GEE account ----------------------- @@ -67,7 +67,7 @@ Once you have a GEE account, access the **Earth Engine Code Editor** by going to .. tip:: - If you experience trouble while linking your Google account to GEE, `ask the Google Group community `__. + If you experience trouble while linking your Google account to GEE, `ask the Google Group `__. Initialize the **Home** folder ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -84,7 +84,7 @@ The page is subdivided into three zones and a map: **Zone 1**: Provides you with access to your GEE account information, subdivided into three panes: - - **Assets**: Displays all of assets in your account. + - **Assets**: Displays all assets in your account. - **Scripts**: Displays all scripts available with your account (shared and written). - **Doc**: Displays documentation of the **GEE JavaScript API (GEE JS API)**, if you need to code in this editor. @@ -94,7 +94,7 @@ The page is subdivided into three zones and a map: - **Inspector**: Transforms the arrow of the mouse into a pointer, allowing you to click anywhere on the map to view information about what you are displaying. - **Tasks**: Displays all of the tasks of your account, as well as their statuses (i.e. **Running**, **Finished** or **Failed**). - - **Console**: Displays the console pane of running scripts. + - **Console**: Displays the **Console** pane of running scripts. 2. Go to **Zone 1** > Select **Assets** > Select **Create home folder**. @@ -243,7 +243,7 @@ Table If you need to upload a table as a :code:`ee.FeatureCollection`: 1. Select **.csv file upload**. -2. In the pop-up window that appears, select the file you want to upload from your computer (note: compatible formats include :code:`.csv`, :code:`.json`). +2. In the pop-up window that appears, select the file you want to upload from your computer (note: compatible formats include :code:`.csv` and :code:`.json`). .. thumbnail:: ../_images/setup/gee/upload_csv.png :title: Upload .csv From d6bc37ac49ec179220d6e95dfee20bbc01921476 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Sat, 16 Dec 2023 09:29:56 +0100 Subject: [PATCH 089/110] Update nicfi.rst Edits. --- docs/source/setup/nicfi.rst | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/source/setup/nicfi.rst b/docs/source/setup/nicfi.rst index 2674a6eed0..97d1254718 100644 --- a/docs/source/setup/nicfi.rst +++ b/docs/source/setup/nicfi.rst @@ -1,4 +1,4 @@ -Use NICFI-PlanetLab data +Use NICFI–PlanetLab data ======================== *Sign up for NICFI and connect with GEE* @@ -49,7 +49,7 @@ Select the **Sign up** button and fill in the form. :group: setup_nicfi After submitting the form, an email will be sent with a link to activate your account. -Check your email for an invitation to complete the sign-up process. +Check your email for an invitation to complete the signup process. Select the link and a new form will appear. Complete the form and you will receive a success message with a new page to sign in to your account. @@ -63,7 +63,7 @@ Select the link and a new form will appear. Complete the form and you will recei .. note:: - Approval for accessing NICFI-Planet Basemaps in GEE can take up to one week. + Approval for accessing NICFI–Planet Basemaps in GEE can take up to one week. Access NICFI through GEE ------------------------ @@ -78,17 +78,17 @@ To authorize your GEE account to access PlanetLab data: :title: The platform explorer of the PlanetLab website; the **My account** dropdown menu appears when hovering :group: setup_nicfi -2. Select **All plans** (see **2** in figure below), which should activate NICFI level 1 data access (see **1** in figure below). If it does, select **My settings** (see **3** in figure below) and scroll down to the bottom of the page. +2. Select **All plans** (see **2** in figure below), which should activate NICFI level 1 data access (**1** in figure below). If it does, select **My settings** (**3** in figure below) and scroll down to the bottom of the page. .. thumbnail:: ../_images/setup/nicfi/plans.png :title: The plans that are linked to your NICFI account :group: setup_nicfi -3. Select **Edit access** (see **1** in figure below) in the lower right. +3. Select **Edit access** (**1**) in the lower right. -4. Select all checkboxes (see **2** in figure below) and enter the email address (see **3** in the figure below) associated with your GEE account. +4. Select all checkboxes (**2**) and enter the email address (**3**) associated with your GEE account. -5. Select **Connect to Earth Engine** (4) to finalize registration. +5. Select **Connect to Earth Engine** (**4**) to finalize registration. .. note:: @@ -98,16 +98,16 @@ To authorize your GEE account to access PlanetLab data: :title: The registration form to authorize a GEE account to access your Planet product :group: setup_nicfi -The next step is to make sure SEPAL is connected to the same email address that has access to NICFI-Planet Basemaps in GEE using the same process as in GEE. +The next step is to make sure SEPAL is connected to the same email address that has access to NICFI–Planet Basemaps in GEE using the same process as in GEE. -Note: If you are already connected to a Google account with access to NICFI-Planet Basemaps in GEE, you can skip this step. +Note: If you are already connected to a Google account with access to NICFI–Planet Basemaps in GEE, you can skip this step. .. figure:: ../_images/setup/gee/user_interface_connected.png :alt: SEPAL and GEE connected :align: center :width: 50% -If you are either not connected to your Google account or connected via a different email address that does not have access to NICFI-Planet Basemaps, select **Google account** and choose the email address that has access to NICFI-Planet Basemaps in GEE. +If you are either not connected to your Google account or connected via a different email address that does not have access to NICFI–Planet Basemaps, select **Google account** and choose the email address that has access to NICFI–Planet Basemaps in GEE. .. note:: From 117ea0034a647a77d706e524c44ffaeabbc6d1c5 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Sat, 16 Dec 2023 09:32:24 +0100 Subject: [PATCH 090/110] Update resource.rst Edits. --- docs/source/setup/resource.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/source/setup/resource.rst b/docs/source/setup/resource.rst index 2df6e81236..abafd38608 100644 --- a/docs/source/setup/resource.rst +++ b/docs/source/setup/resource.rst @@ -4,7 +4,7 @@ Manage your resources In this article, learn how to: -- understand your **User report** +- understand your user report - manage instances - request resources @@ -44,7 +44,7 @@ In **Terminal**, **Apps** or **Process**, select **User report** in the lower-ri :width: 30% :group: setup_resource -After selecting this button, the **Resource management** pop-up window will appear, displaying the current consumption of all your **Resources** – expressed in percentages (see **1** in figure below) (a full bar indicates that you have reached one of your monthly quotas) – as well as **Instances** that are currently running (see **2** in figure below). +After selecting this button, the **Resource management** pop-up window will appear, displaying the current consumption of all your **Resources** – expressed in percentages (see **1** in figure below) (a full bar indicates that you have reached one of your monthly quotas) – as well as **Instances** that are currently running (**2**). You can request additional resources by selecting the green button. @@ -84,7 +84,7 @@ From the **Resource manager**, select **Request additional resources**. In order for your request to be considered, you must: -- change the quota to values that meet your needs (e.g. more storage and fewer instances); the values entered are suggestions that the administrator will be able to change, if needed (**1**); and +- change the quota to values that meet your needs (e.g. more storage and fewer instances; the values entered are suggestions that the administrator will be able to change, if needed [**1**]); and - provide an extensive explanation for why you need these resources, as well as the project name, the type of analysis and the area of interest (AOI) (**2**). .. thumbnail:: ../_images/setup/resource/request.png From 2a241638189750081e5eba4ddd0618dafbfb5371 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Sat, 16 Dec 2023 09:33:17 +0100 Subject: [PATCH 091/110] Update password.rst Edits. --- docs/source/setup/password.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/setup/password.rst b/docs/source/setup/password.rst index 08e4594b76..c2e9766189 100644 --- a/docs/source/setup/password.rst +++ b/docs/source/setup/password.rst @@ -8,7 +8,7 @@ In this article, learn how to: If you have forgotten the password for your SEPAL account, you can reset it by proving you have access to the email address associated with your account. -A password may be recovered by submitting a request after following the directions located at one of the website's sign-in forms. +A password may be recovered by submitting a request after following the directions located at one of the website's signin forms. .. note:: From 226aab7979858bd41afee2e9b4112dddf1cd6814 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Sat, 16 Dec 2023 09:37:47 +0100 Subject: [PATCH 092/110] Update filezilla.rst Edits. --- docs/source/setup/filezilla.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/source/setup/filezilla.rst b/docs/source/setup/filezilla.rst index 5183ea3459..5daab25853 100644 --- a/docs/source/setup/filezilla.rst +++ b/docs/source/setup/filezilla.rst @@ -19,7 +19,7 @@ To exchange files with SEPAL, there are several built-in tools you can use. Jupyter Notebook ^^^^^^^^^^^^^^^^ -In the SEPAL **Apps** dashboard, open a new **Jupyter Notebook app**. The **Notebook** dashboard enables you to access files and directories on your system, which can be opened, created, deleted, renamed, downloaded, copied and shared. +In the SEPAL **Apps** dashboard, open a new **Jupyter Notebook** app. The **Notebook** dashboard enables you to access files and directories on your system, which can be opened, created, deleted, renamed, downloaded, copied and shared. Select **Upload** to upload a file from your computer to the platform. @@ -94,7 +94,7 @@ FileZilla® FileZilla® is a free, open-source FTP solution distributed free of charge under the terms of the `GNU General Public License `_. -The FileZilla® Client not only supports FTP, but also FTP over Transport Layer Security (TLS) – FTPS – and Secure File Transfer Protocol (SFTP), both used in SEPAL. +The FileZilla® client not only supports FTP, but also FTP over Transport Layer Security (TLS) – FTPS – and Secure File Transfer Protocol (SFTP), both used in SEPAL. .. tip:: @@ -105,11 +105,11 @@ Connect your FTP client to SEPAL Accessing files in SEPAL is easy using FileZilla®. -To use FileZilla®, open the application and connect to the SEPAL server by selecting **Menu** > **File** > **Site Manager** > **New Site**. Use the screenshot below as a guide for filling out the form. +To use FileZilla®, open the application and connect to the SEPAL server by selecting **Menu** > **File** > **Site Manager** > **New Site**. Use the following as a guide for filling out the form. - **Host:** ssh.sepal.io - **Port:** 443 -- **Protocol:** SFTP – SSH File Transfer Protocol +- **Protocol:** SFTP–SSH File Transfer Protocol - **Logon Type:** Normal - **User:** - **Password:** From bd9061a80c8359ca91d428030dadbf1f5b288853 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Sat, 16 Dec 2023 09:47:02 +0100 Subject: [PATCH 093/110] Update index.rst Edits. --- docs/source/_templates/index.rst | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/source/_templates/index.rst b/docs/source/_templates/index.rst index a6eac47f9a..9401e1928e 100644 --- a/docs/source/_templates/index.rst +++ b/docs/source/_templates/index.rst @@ -5,7 +5,11 @@ Modules Overview -------- -SEPAL applications are tools provided by the SEPAL team from the Food and Agriculture Organization of the United Nations (FAO) or other developers. These tools are based on advanced geographic information system (GIS) libraries and complement the functionalities of SEPAL recipes, providing the end user with access to complex workflows without requiring knowledge of digital programming. These applications are served in SEPAL with attractive user interfaces to ensure the best possible user experience. +SEPAL applications are tools provided by the SEPAL team from the Food and Agriculture Organization of the United Nations (FAO) or other developers. + +These tools are based on advanced geographic information system (GIS) libraries and complement the functionalities of SEPAL recipes, providing the end user with access to complex workflows without requiring knowledge of digital programming. + +The applications are served in SEPAL with attractive user interfaces to ensure the best possible user experience. They run on various shells – from pure HTML and Shiny-based R apps to Jupyter-powered Python kernels. This flexibility and variety of tools allows developers to integrate workflows and make them available for SEPAL users. @@ -14,9 +18,9 @@ Review the following subsections to learn more about SEPAL applications. Start applications ------------------ -To start a SEPAL application, go to the **Apps** dashboard by selecting the wrench icon on the left side of the window (see **1** in the following image). This will display a list of apps you can run in the interface. More information about each app is found by selecting the **i** on the right side. +To start a SEPAL application, go to the **Apps** dashboard by selecting the wrench icon on the left side of the window (see **1** in the following image). This will display a list of apps you can run in the interface. More information about each app is found by selecting the **More information** (**i**) icon on the right side. -Note that the following apps are code editors, not apps (**2**): +Note that the following are code editors, not apps (**2**): - **RStudio**: Provides access to the R environment where you can run processing scripts and upload data to your SEPAL folder. - **Jupyter Notebook**: An open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text (supports kernels in many different languages, including R, Python and NodesJS). @@ -29,7 +33,7 @@ To find the application you're looking for, navigate through the different app p Once the desired application is found, select it to initiate the process. This will start the smallest instance to run the SEPAL sandbox (:code:`t1`). -Refer to the next section to start a specific instance manually. +Refer to the next subsection to start a specific instance manually. .. note:: From b3c37d441c7ea6ea7e0ad01562a32c134245619d Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Sat, 16 Dec 2023 09:54:44 +0100 Subject: [PATCH 094/110] Update index.rst Edits. --- docs/source/cli/index.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/source/cli/index.rst b/docs/source/cli/index.rst index 658f11b8ea..b84ba814b6 100644 --- a/docs/source/cli/index.rst +++ b/docs/source/cli/index.rst @@ -44,7 +44,7 @@ These tools can be called directly from the terminal or via any programming lang nohup gdalinfo example.tif - All console outputs will be redirected to a :code:`nohup.out` in your home directory, but the execution will be running in the background. Thus, you will be able to safely close the terminal or even the browser window without killing your process (for more information about :code:`nohup`, see `this article `__. + All console outputs will be redirected to a :code:`nohup.out` in your home directory, but the execution will be running in the background. You will be able to safely close the terminal or even the browser window without interrupting the process (for more information about :code:`nohup`, see `this article `__). Coding tools ------------ @@ -52,13 +52,13 @@ Coding tools In the **Apps** section, there are three coding tools at the top of the list: - JupyterLab -- JupyterNotebook +- Jupyter Notebook - RStudio .. thumbnail:: ../_images/cli/index/code_editor.png :title: The three code editors in the SEPAL environment -They will allow the user to code wokflows in any of the available languages using the corresponding environment in SEPAL. These environments are fully customizable (select the :code:`Python` or :code:`R` section to know more). +They will allow the user to code wokflows in any of the available languages using the corresponding environment in SEPAL. These environments are fully customizable (view the :code:`Python` or :code:`R` section to know more). .. thumbnail:: ../_images/cli/index/jupyter_example.png :title: Example of **rasterio** code running in SEPAL JupyterLab (code extracted from **rasterio** documentation: https://rasterio.readthedocs.io/en/latest/topics/plotting.html) From ab4fa0c14c3052cef8c0a33215446dc6b8d41ee2 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Sat, 16 Dec 2023 10:19:11 +0100 Subject: [PATCH 095/110] Update contribute.rst Edits. --- docs/source/team/contribute.rst | 76 ++++++++++----------------------- 1 file changed, 23 insertions(+), 53 deletions(-) diff --git a/docs/source/team/contribute.rst b/docs/source/team/contribute.rst index 5b390d652f..197792de24 100644 --- a/docs/source/team/contribute.rst +++ b/docs/source/team/contribute.rst @@ -53,7 +53,7 @@ There are only two guidelines to follow that are not directly specified in the . .. code-block:: rst - Headings + **Headings** Heading 1 ========= @@ -142,7 +142,7 @@ Here is an example: Icons """"" -There is a ReST role to include in-line icons in documentation (usually when referencing a button [btn]). +There is a ReST role to include in-line icons in documentation, usually when referencing a button (**btn**). You can find the icon you're looking for in the `Font Awesome library `__. @@ -157,7 +157,7 @@ Buttons There is a ReST role to include a button in the documentation (with or without text). -You can find the icon you're looking for in the Font Awesome `library `__. +You can find the icon you're looking for in the `Font Awesome library `__. .. code-block:: rst @@ -180,16 +180,12 @@ If you would like to make modifications to an existing article in the documentat .. figure:: ../_images/team/contribute/edit_page.png :alt: Edit page button - The **Edit on GitHub** button on the landing page. - When you are finished modifying the file in the **GitHub editor**, select :code:`propose change` at the bottom of the page. This will create a **Pull request (PR)** that includes your modifications, which will be reviewed and evaluated by the SEPAL team before being published. .. figure:: ../_images/team/contribute/edit_github.png - :alt: Edit a page directly in GitHub - - Edit a page directly in GitHub. + :alt: Edit a page directly on GitHub .. tip:: @@ -198,16 +194,16 @@ This will create a **Pull request (PR)** that includes your modifications, which .. figure:: ../_images/team/contribute/create_branch.png :alt: Create a branch - When correcting anything, create a **Branch**. +When correcting anything, create a **Branch**. -Once you've finished, a **PR** will automatically be created in the OpenForis repository. Remove all comments, as you're not making a real **PR**, but an adjustment (normally the title will automatically be set with the name of your **Commit**). +Once you've finished, a **PR** will automatically be created in the **Open Foris** repository. Remove all comments, as you're not making a real **PR**, but an adjustment (normally the title will automatically be set with the name of your **Commit**). Select :code:`Create pull request`. .. figure:: ../_images/team/contribute/typo_pr.png :alt: typo pr - For minor modifications, create an **Automatic PR**. +For minor modifications, create an **Automatic PR**. .. note:: @@ -216,8 +212,6 @@ Select :code:`Create pull request`. .. figure:: ../_images/team/contribute/delete_branch.png :alt: Delete branch - Once the **PR** is accepted by the SEPAL team, delete the **Branch**. - Module edit ^^^^^^^^^^^ @@ -249,31 +243,25 @@ Fork project To work on multiple files at the same time, you cannot work directly from GitHub. Rather, you need to install a local version of the source. -To avoid the publication of low-quality documentation, SEPAL users don't have the rights to directly push edits to master files. Instead, you must fork the project into their own accounts by selecting the :code:`fork` button in the upper-right side of the `GitHub page of the documentation `_: +To avoid the publication of low-quality documentation, SEPAL users don't have the rights to directly push edits to master files. Instead, you must fork the project into their own accounts by selecting the :code:`fork` button on the upper-right side of the `GitHub page of the documentation `_: .. figure:: ../_images/team/contribute/fork.png - :alt: GitHub fork - - The **Fork** button on GitHub. + :alt: GitHub fork button -In the fork pop-up window, select the account you want to use: +In the **Fork** pop-up window, select the account you want to use: .. figure:: ../_images/team/contribute/fork_select.png :alt: Fork pop-up window. - Select the account to fork. - In the upper-left side of the following page, you can see your location. This repository is stored in your account, but it's a fork of the original :code:`openforis/sepal-doc` file. .. note:: - To learn more about the forking system in GitHub, see `this article `_ + To learn more about the forking system in GitHub, see `this article `_. .. figure:: ../_images/team/contribute/fork_landing.png :alt: Landing page of the forked project - Landing page of the forked project. - We are now ready for local installation. Local installation @@ -283,7 +271,7 @@ Install the forked project locally to make your modifications. On your computer, go to a terminal and run the following command. -.. attention:: +.. important:: Don't forget to change :code:`` to the account name where you forked the project. @@ -315,9 +303,7 @@ Double-click on :code:`sepal-doc/docs/build/html/index.html`. Your browser should open and lead to the landing page of SEPAL documentation (Note that it's a local .html page. The URL at the top of the browser should start with **file://** rather than **https://**. There should be no advertisements in the side bar.) .. figure:: ../_images/team/contribute/local_landing.png - :alt: local landing - - The landing page of the local build of SEPAL documentation. + :alt: Local build landing page We can now start to code our modifications. @@ -426,7 +412,7 @@ If you forget to link your page, you will see the following message: .. tip:: - If you are struggling with .rst, get support by `asking the community `__. + If you are struggling with .rst, get support by `asking the Google Group community `__. Modify images """"""""""""" @@ -442,9 +428,7 @@ If you think an image is missing, you can add one to any page by placing the ima .. code-block:: rst .. figure:: ../_images/
//.png - :alt: - - + :alt: - The :code:`image` directive is easier to manipulate, but has fewer functionalities. @@ -523,9 +507,7 @@ Go to your **Google Classroom** page and select the **Share** link. On the next - the invitation link for the class .. figure:: ../_images/team/contribute/class_share.png - :alt: The share links - - Google Classroom sharing links. + :alt: Google Classroom sharing links You now have one single file to modify :code:`sepal-doc/docs/data//.csv`: @@ -542,8 +524,8 @@ You now have one single file to modify :code:`sepal-doc/docs/data//** by the title of the classroom; and - add the latest **** in **YYYY-MM-DD** format. -Create a pull request (PR) --------------------------- +Create a pull request +--------------------- .. note:: @@ -551,20 +533,16 @@ Create a pull request (PR) Now that you have finished your modifications and pushed them to GitHub, we can go back to the web interface of our forked repository (:code:`https://github.com//sepal-doc`). -First, select the :code:`Pull requests` button: +First, select the :code:`Pull requests` button to open the **PR** interface: .. figure:: ../_images/team/contribute/start_pr.png :alt: Pull requests button - Open the **Pull request** interface. - -In the **Pull request** interface, select the :code:`New pull request` button: +In the **PR** interface, select the :code:`New pull request` button: .. figure:: ../_images/team/contribute/new_pr.png :alt: New pull request - Create a new pull request. - Select what is going to be pushed and where. If you've followed this article of the documentation, you have not created any branch in your fork. @@ -588,20 +566,16 @@ As explained at the beginning of this article, you started your modifications to The :code:`Allow edits by maintainers` checkbox needs to always be checked (default behavior) (**2**). This will allow the SEPAL team to make modifications to your PR files (e.g. if you made a mistake in a .rst directive). -When everything is complete, select :code:`Create pull request` (**3**). +When everything is complete, select :code:`Create pull request` (**3**) and validate the creation of the PR. .. figure:: ../_images/team/contribute/valid_pr.png :alt: Valid PR - Validate the creation of the PR. - An automatic check will be performed to see if your PR can be built with ReadTheDoc and distributed in https://docs.sepal.io .. figure:: ../_images/team/contribute/ci_pr.png :alt: Continuous integration (CI) in PR - Continuous integration will run in Github. - Once submitted, the SEPAL team will review your PR and make the appropriate modifications, if needed. The PR will then be accepted and the new page will be available in the main documentation. .. tip:: @@ -611,13 +585,9 @@ Once submitted, the SEPAL team will review your PR and make the appropriate modi .. figure:: ../_images/team/contribute/delete_fork.png :alt: Delete fork - Click here and follow the instructions to delete your repository. - .. figure:: ../_images/team/contribute/delete_popup.png - :alt: Delete popup - - The pop-up window to delete the fork used in the closed PR. + :alt: Delete pop-up window -.. important:: +.. attention:: If you are the owner of :code:`openforis`, do not delete :code:`openforis/sepal-doc`. From 1bea3e5892316e975b99c37a9f08abcb5dff7f54 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Sat, 16 Dec 2023 10:40:51 +0100 Subject: [PATCH 096/110] Update contribute.rst Edits. --- docs/source/team/contribute.rst | 38 +++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/docs/source/team/contribute.rst b/docs/source/team/contribute.rst index 197792de24..f231abe2b0 100644 --- a/docs/source/team/contribute.rst +++ b/docs/source/team/contribute.rst @@ -53,8 +53,6 @@ There are only two guidelines to follow that are not directly specified in the . .. code-block:: rst - **Headings** - Heading 1 ========= @@ -144,7 +142,7 @@ Icons There is a ReST role to include in-line icons in documentation, usually when referencing a button (**btn**). -You can find the icon you're looking for in the `Font Awesome library `__. +Use icons from the `Font Awesome library `__. .. code-block:: rst @@ -157,7 +155,7 @@ Buttons There is a ReST role to include a button in the documentation (with or without text). -You can find the icon you're looking for in the `Font Awesome library `__. +Use buttons from the `Font Awesome library `__. .. code-block:: rst @@ -221,7 +219,7 @@ Once you've finished, notify the SEPAL team, who will need to rebuild the docume .. note:: - If you want to add a new module to the documentation, see the section, **Major changes**. + If you want to add a new module to the documentation, see the subsection, **Major changes**. Major changes ------------- @@ -236,14 +234,14 @@ Major changes include: For these major changes, the simple GitHub edit process does not work. Rather, you need to follow another workflow that allows you to modify multiple files at the same time and use the **PR** system to avoid publishing new pages without validation. -In this section, we will present the full process to make major changes to the documentation. +In this subsection, we will present the full process to make major changes to the documentation. Fork project ^^^^^^^^^^^^ To work on multiple files at the same time, you cannot work directly from GitHub. Rather, you need to install a local version of the source. -To avoid the publication of low-quality documentation, SEPAL users don't have the rights to directly push edits to master files. Instead, you must fork the project into their own accounts by selecting the :code:`fork` button on the upper-right side of the `GitHub page of the documentation `_: +To avoid the publication of low-quality documentation, SEPAL users don't have the rights to directly push edits to master files. Instead, you must fork the project into your own account by selecting the :code:`fork` button on the upper-right corner of the `GitHub page of the documentation `_: .. figure:: ../_images/team/contribute/fork.png :alt: GitHub fork button @@ -273,7 +271,7 @@ On your computer, go to a terminal and run the following command. .. important:: - Don't forget to change :code:`` to the account name where you forked the project. + Don't forget to change :code:`your account` to the account name where you forked the project. .. code-block:: console @@ -285,7 +283,7 @@ Once the code is installed on your computer, install the packages that are requi pip install -U -r sepal-doc/requirements.txt -To check that the doc can be built without error, go to the **doc folder** and run the following command: +To check that the documentation can be built without error, go to the **doc folder** and run the following command: .. code-block:: console @@ -294,13 +292,13 @@ To check that the doc can be built without error, go to the **doc folder** and r .. note:: - We try our best to avoid warnings in the master branch; however, if some are displayed, ignore them – the SEPAL team will eventually address these warnings. + We try our best to avoid warnings in the master branch; however, if some are displayed, ignore them, as they will be eventually addressed by the SEPAL team. A new folder, :code:`build`, has been created in your **sepal-doc** folder. Double-click on :code:`sepal-doc/docs/build/html/index.html`. -Your browser should open and lead to the landing page of SEPAL documentation (Note that it's a local .html page. The URL at the top of the browser should start with **file://** rather than **https://**. There should be no advertisements in the side bar.) +Your browser should open and lead to the landing page of SEPAL documentation (Note: It will be a local .html page. The URL at the top of the browser should start with **file://** rather than **https://** and there should be no advertisements in the side bar.) .. figure:: ../_images/team/contribute/local_landing.png :alt: Local build landing page @@ -309,14 +307,14 @@ We can now start to code our modifications. .. tip:: - This procedure can also be performed in the SEPAL platform by starting a :code:`t1` instance and executing the exact same process. + This procedure can also be performed in the SEPAL platform by starting a :code:`t1` instance and executing the same process. To open the .html page, use JupyterLab, since it is able to load .html content (JupyterLab is also an excellent integrated development environment [IDE] to make modifications, since it recognizes .rst format). Modify the doc ^^^^^^^^^^^^^^ -Each type of modification will be treated separately, since they don't imply the same code structure. While doing local modifications, don't hesitate to regularly run the following command in the :code:`sepal-doc/doc/` folder to check the page that you're modifying, as it will help you see typos and mistakes with directives: +Each type of modification will be treated separately, since they don't imply the same code structure. While doing local modifications, don't hesitate to run the following command in the :code:`sepal-doc/doc/` folder to check the page that you're modifying, as it will help you see typos and mistakes with directives: .. code-block:: console @@ -331,7 +329,7 @@ When making modifications, always include clear, concise commit messages (if you git add ../ git commit -m "" -Once you are done with your modifications, push the repository to GitHub and jump to the next section: +Once you are done with your modifications, push the repository to GitHub and continue to the next section: .. code-block:: console @@ -368,6 +366,14 @@ The following sections are currently available: Located in the :code:`sepal-doc/docs/source/cli/` folder. +- **Workflows** – Different combinations of SEPAL tools and recipes to perform complex data analyses. + + Located in the :code:`sepal-doc/docs/source/workflows/` folder. + +- **Features** – Features that are available across various recipes and modules to analyse, combine and visualize different types of data. + + Located in the :code:`sepal-doc/docs/source/feature/` folder. + - **Team** – A hidden section only available to team members, which helps them contribute to the platform. Located in the :code:`sepal-doc/docs/source/team/` folder. @@ -384,11 +390,11 @@ The following sections are currently available: .. include:: disclaimer.rst -Now that you have selected a section, you can create a new documentation page :code:`.rst` using all the available `rst directives `_ that are available in Sphinx, as well as the directives presented in the first section of this article. +Now that you have selected a section, you can create a new documentation page :code:`.rst` using all the available `.rst directives `_ that are available in Sphinx, as well as the directives presented in the first section of this article. To maintain consistency across folders and help with image maintenance, the images you use should be stored in the following folder: :code:`sepal-doc/docs/source/_images/
//`. -Add the page you've created to the :code:`toctree` (Table of contents) directive in the :code:`
/index.rst` file by adding your filename, without the extension, respecting the following indentation: +Add the page you've created to the :code:`toctree` (**Table of contents**) directive in the :code:`
/index.rst` file by adding your filename, without the extension, respecting the following indentation: .. code-block:: rst From 3635ae116a248a0c5cc45cfab43b68d9be1d4921 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Sat, 16 Dec 2023 11:28:21 +0100 Subject: [PATCH 097/110] Update style_guide.rst Edits. --- docs/source/team/style_guide.rst | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/docs/source/team/style_guide.rst b/docs/source/team/style_guide.rst index 816ab05a69..6e681c8fe8 100644 --- a/docs/source/team/style_guide.rst +++ b/docs/source/team/style_guide.rst @@ -1,11 +1,7 @@ SEPALSTYLE ========== -The SEPAL documentation style guide ------------------------------------ - - -*Learn the basics of* SEPALSTYLE *to help maintain writing that is useful, clear, concise, consistent and fluid* +*Learn the basics of* SEPALSTYLE *– the SEPAL documentation style guide – to keep writing useful, clear, concise, consistent and fluid* Goals and principles @@ -48,7 +44,7 @@ Keep language clear, concise, consistent and fluid. Prefer bulleted and numbered **Reset password** - If you have forgotten your password and you have access to the email address associated with your SEPAL account, you can reset it by submitting a request. Simply follow the instructions located on one of the website’s sign-in forms. + If you have forgotten your password and you have access to the email address associated with your SEPAL account, you can reset it by submitting a request. Simply follow the instructions located on one of the website’s sign in forms. The password reset process can be performed in three steps: @@ -134,7 +130,7 @@ The authors of the documentation should be referred to as **the SEPAL team**. The SEPAL team maintains the documentation to guide users through the **SEPAL interface**. -If the term, **the SEPAL team** has been overused, use "the authors of the documentation", or **we** or **us** instead. +If the term, **the SEPAL team**, has been overused, use **the authors of the documentation**, or **we** or **us** instead. **Contributors to SEPAL documentation** can be used for external contributors to the documentation. @@ -189,7 +185,7 @@ A subsection within an article of the documentation should be referred to as **a For more information, see the **Set up your GEE account** subsection of this article. -However, when formatting titles of subsections, the appropriate symbols should be used (i.e. from Heading 1 to Heading 6: =, -, ^, ", #, +). For further guidance, see the `Guidelines subsection of the Contribute article `_. +Note: When formatting titles of subsections, the appropriate symbols should be used (i.e. from Heading 1 to Heading 6: =, -, ^, ", #, +). For further guidance, see the `Guidelines subsection of the Contribute article `_. Describing interactions with the SEPAL interface ------------------------------------------------ @@ -256,14 +252,14 @@ Common words used to describe elements in the **SEPAL interface** include: - icon - interface - map -- module - menu +- module - option - pane - parameter - pointer -- pop-up window - pop-up menu +- pop-up window - recipe - settings - status bar @@ -287,7 +283,7 @@ Common words used to describe **elements** *and* **actions** in the **SEPAL inte "bar","go to, view, select, monitor","View the **Status bar** to monitor the download progress." "button","select","Select the **Terminal** button." "checkbox","select","Select the **Display map** checkbox." - "dashboard", "go to", "Open the **Apps** dashboard." + "dashboard", "go to", "Go to the **Apps** dashboard." "dialog", "view, select", "Select **Confirm** in the dialog." "dock","select","Select the **Files** tab in the dock." "drawer","open, close","Open the **Navigation** drawer." @@ -341,7 +337,7 @@ Other basic guidelines to follow when writing **SEPAL documentation** include: - format numbers with neither spaces nor punctuation, except for a full stop for decimals; - use the author–date system for referencing; - introduce lists with an opening phrase ending with a colon, and use consistent capitalization and punctuation; and -- use the `International System of Units `__. +- use the `International System of Units (SI) `__. Abbreviations ^^^^^^^^^^^^^ @@ -352,11 +348,13 @@ At first mention, acronyms should be written out, followed by the abbreviation i The project is from the Food and Agriculture Organization of the United Nations (FAO). +Exceptions can be made where justifiable (e.g. when an acronym appears in a name and the written-out version is long). In these instances, introduce the acronym in a way that is reader-friendly. + Abbreviations such as e.g., i.e. and etc. should be avoided; however, when necessary, use them in parentheses (e.g. means "for example"; i.e. means "that is"). **Example** - Harnessing cloud-based supercomputers and modern geospatial data infrastructures (e.g. GEE), the interface enables access and processing of historical satellite data as well as newer data from Landsat and higher-resolution data from Europe’s Copernicus program. + Harnessing cloud-based supercomputers and modern geospatial data infrastructures (e.g. GEE), the interface enables access and processing of historical satellite data as well as newer data from Landsat and higher-resolution data from Europe’s Copernicus programme. Font ^^^^ @@ -403,7 +401,7 @@ Use colons to introduce lists, definitions, explanations or quotations. - register to SEPAL - use GEE with SEPAL - - use NICFI - Planet Lab data + - use NICFI–Planet Lab data - exchange files with SEPAL - manage your resources - reset your password From 7dc5f39f929036e9b7d93cbd0f1559ed9ae07ee3 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Mon, 18 Dec 2023 09:37:14 +0100 Subject: [PATCH 098/110] Update contribute.rst Finalized and ready to be published. --- docs/source/team/contribute.rst | 138 ++++++++++++++------------------ 1 file changed, 60 insertions(+), 78 deletions(-) diff --git a/docs/source/team/contribute.rst b/docs/source/team/contribute.rst index f231abe2b0..4d23c7f4cf 100644 --- a/docs/source/team/contribute.rst +++ b/docs/source/team/contribute.rst @@ -6,7 +6,7 @@ Contribute The SEPAL team values user feedback and contributions to SEPAL documentation. -Before contributing, please review the SEPAL `Code of conduct `_. +Before contributing, please review the `SEPAL Code of conduct `_. Then, communicate feedback or proposed contributions via: @@ -31,8 +31,8 @@ Tools The :code:`sepal-doc` repository creates and organizes .rst files by leveraging: -- the Python `Sphinx `_ library to create the build; and -- the `ReadTheDoc `_ website to distribute the build. +- the `Python Sphinx library `_ to create the build; and +- the `ReadTheDoc website `_ to distribute the build. .. important:: @@ -48,8 +48,8 @@ Guidelines There are only two guidelines to follow that are not directly specified in the .rst documentation or template: -- **Indentation**: Insert :code:`4 spaces` for directives (options and content) and bullet points; and -- **Headings**: Use the appropriate symbols for section heading formatting (:code:`=`, :code:`-`, :code:`^`, :code:`"`, :code:`#`, and :code:`+`, as seen below). +- **Indentation**: Insert :code:`4 spaces` for bullet points and directives (options and content); and +- **Headings**: Use the appropriate symbols for section heading formatting, as seen below. .. code-block:: rst @@ -104,7 +104,7 @@ Here is an example: Line breaks """"""""""" -The ReST directive for creating a line break in your documentation does not require any argument. +The ReST directive for creating a line break does not require any argument. Here is an example: @@ -140,7 +140,7 @@ Here is an example: Icons """"" -There is a ReST role to include in-line icons in documentation, usually when referencing a button (**btn**). +There is a ReST role to include in-line icons. Use icons from the `Font Awesome library `__. @@ -153,15 +153,15 @@ Folder icon: :icon:`fa-solid fa-folder` Buttons """"""" -There is a ReST role to include a button in the documentation (with or without text). +There is a ReST role to include a button (with or without text). Use buttons from the `Font Awesome library `__. .. code-block:: rst - **Apply** button: :btn:` Apply` + Apply button: :btn:` Apply` - **App** button: :btn:`` + App button: :btn:`` **Apply** button: :btn:` Apply` @@ -173,7 +173,7 @@ Minor change Page edit ^^^^^^^^^ -If you would like to make modifications to an existing article in the documentation because you've seen a typo or would like to improve an explanation, select the :code:`Edit on GitHub` button in the pane on the right side of your browser window (if the button isn't available, use your browser's **Zoom out** function or open the pane using the triple bar button [☰] in the upper-right corner). +If you would like to make modifications to an existing article in the documentation because you've seen a typo or would like to improve an explanation, select the :code:`Edit on GitHub` button in the pane on the right side of your browser window (if the button isn't visible, use your browser's **Zoom out** function or open the pane using the triple bar button [☰] in the upper-right corner). .. figure:: ../_images/team/contribute/edit_page.png :alt: Edit page button @@ -187,21 +187,19 @@ This will create a **Pull request (PR)** that includes your modifications, which .. tip:: - To ensure that your modifications are clear, change the title of the **Commit** by completing the first field (e.g. "typo", "change image", "code-block error") – anything that concisely describes your modifications (note that this name cannot be changed). + To ensure that your modifications are clear, change the title of the **Commit** by completing the first field (i.e. inserting an explanation such as **Typo**, **Change image**, **Code-block error* – anything that concisely describes your modifications). .. figure:: ../_images/team/contribute/create_branch.png :alt: Create a branch When correcting anything, create a **Branch**. -Once you've finished, a **PR** will automatically be created in the **Open Foris** repository. Remove all comments, as you're not making a real **PR**, but an adjustment (normally the title will automatically be set with the name of your **Commit**). +Once you've finished, a **PR** will be created in the **Open Foris** repository. Remove all comments, as you're not making a real **PR**, but an adjustment (normally the title will automatically be set with the name of your **Commit**). Select :code:`Create pull request`. .. figure:: ../_images/team/contribute/typo_pr.png - :alt: typo pr - -For minor modifications, create an **Automatic PR**. + :alt: PR for a typo .. note:: @@ -213,20 +211,22 @@ For minor modifications, create an **Automatic PR**. Module edit ^^^^^^^^^^^ -If you find an error in a **Module** page, the edit button will not work, as the files are retrieved from each module's repository. Instead, their should be a link at the very bottom of the page to make modifications to the source file in the module repository following the same procedure mentioned above. +The **Edit on GitHub** button will not work for articles in the **Modules** section, as the files are retrieved from each module's repository. + +Their should be a link at the very bottom of the page to make modifications to the source file in the module repository following the same procedure mentioned above. -Once you've finished, notify the SEPAL team, who will need to rebuild the documentation manually to retrieve the latest version of the file you modified. +Once you've finished, notify the SEPAL team, who will need to manually rebuild the documentation to retrieve the latest version of the file you modified. .. note:: - If you want to add a new module to the documentation, see the subsection, **Major changes**. + If you want to add a new module to the documentation, see the following section. Major changes ------------- Major changes include: -- creating new documentation pages; +- creating new documentation pages (i.e. articles); - modifying multiple images; - making new sections; - building new modules; and @@ -234,14 +234,14 @@ Major changes include: For these major changes, the simple GitHub edit process does not work. Rather, you need to follow another workflow that allows you to modify multiple files at the same time and use the **PR** system to avoid publishing new pages without validation. -In this subsection, we will present the full process to make major changes to the documentation. +In this subsection, we will present the full process to make major changes. Fork project ^^^^^^^^^^^^ To work on multiple files at the same time, you cannot work directly from GitHub. Rather, you need to install a local version of the source. -To avoid the publication of low-quality documentation, SEPAL users don't have the rights to directly push edits to master files. Instead, you must fork the project into your own account by selecting the :code:`fork` button on the upper-right corner of the `GitHub page of the documentation `_: +To avoid the publication of low-quality documentation, SEPAL users don't have the rights to directly push edits to master files. Instead, you must fork the project into your own account by selecting the :code:`fork` button in the upper-right corner of the `GitHub page of the documentation `_: .. figure:: ../_images/team/contribute/fork.png :alt: GitHub fork button @@ -249,7 +249,7 @@ To avoid the publication of low-quality documentation, SEPAL users don't have th In the **Fork** pop-up window, select the account you want to use: .. figure:: ../_images/team/contribute/fork_select.png - :alt: Fork pop-up window. + :alt: Fork pop-up window In the upper-left side of the following page, you can see your location. This repository is stored in your account, but it's a fork of the original :code:`openforis/sepal-doc` file. @@ -277,7 +277,7 @@ On your computer, go to a terminal and run the following command. git clone https://github.com//sepal-doc.git -Once the code is installed on your computer, install the packages that are required to build the doc by running the following command: +Once the code is installed on your computer, install the packages that are required to build the documentation by running the following command: .. code-block:: console @@ -292,13 +292,13 @@ To check that the documentation can be built without error, go to the **doc fold .. note:: - We try our best to avoid warnings in the master branch; however, if some are displayed, ignore them, as they will be eventually addressed by the SEPAL team. + The SEPAL team has attempted to minimize the chances of experiencing warnings in the master branch. If warnings are displayed, ignore them; the SEPAL team will address them as soon as possible. A new folder, :code:`build`, has been created in your **sepal-doc** folder. Double-click on :code:`sepal-doc/docs/build/html/index.html`. -Your browser should open and lead to the landing page of SEPAL documentation (Note: It will be a local .html page. The URL at the top of the browser should start with **file://** rather than **https://** and there should be no advertisements in the side bar.) +Your browser should open and load the landing page of SEPAL documentation. (Note: It will be a local .html page. The URL at the top of the browser should start with **file://** rather than **https://** and there should be no advertisements in the side bar.) .. figure:: ../_images/team/contribute/local_landing.png :alt: Local build landing page @@ -342,45 +342,31 @@ Open the :code:`sepal-doc` folder in your preferred IDE. .. note:: - Any **TextEdit** software will work, even though it's less user friendly. + Any **TextEdit** software will work as well, though won't be as user-friendly. -As previously explained, the folder has a specific structure corresponding to the `Sphinx template `_, which we are using to build the final doc. +As previously explained, the folder has a specific structure corresponding to the `Sphinx template `_, which we are using to build the final documentation. -The first step will be to identify the section you would like to store your page. +The first step will be to identify the section where you would like to store your page. The following sections are currently available: -- **Getting started** – Everything you need to know to use SEPAL. - - Located in the :code:`sepal-doc/docs/source/setup/` folder. - -- **Cookbook** – How to use different recipes available in SEPAL. - - Located in the :code:`sepal-doc/docs/source/cookbook/` folder. - -- **Modules** – The modules that are available in the **App** dashboard. - - Located in the :code:`sepal-doc/docs/source/modules/` folder. +- **Getting started** – Everything you need to know to use SEPAL; located in the :code:`sepal-doc/docs/source/setup/` folder. -- **CLI** – All command-line interface (CLI) tools installed by default in SEPAL. +- **Cookbook** – How to use different recipes available in SEPAL; located in the :code:`sepal-doc/docs/source/cookbook/` folder. - Located in the :code:`sepal-doc/docs/source/cli/` folder. +- **Modules** – The modules available in the **App** dashboard; located in the :code:`sepal-doc/docs/source/modules/` folder. -- **Workflows** – Different combinations of SEPAL tools and recipes to perform complex data analyses. +- **CLI** – All command-line interface (CLI) tools installed by default in SEPAL; located in the :code:`sepal-doc/docs/source/cli/` folder. - Located in the :code:`sepal-doc/docs/source/workflows/` folder. +- **Workflows** – Different combinations of SEPAL tools and recipes to perform complex data analyses; located in the :code:`sepal-doc/docs/source/workflows/` folder. -- **Features** – Features that are available across various recipes and modules to analyse, combine and visualize different types of data. +- **Features** – Features that are available across various recipes and modules to analyse, combine and visualize different types of data; located in the :code:`sepal-doc/docs/source/feature/` folder. - Located in the :code:`sepal-doc/docs/source/feature/` folder. - -- **Team** – A hidden section only available to team members, which helps them contribute to the platform. - - Located in the :code:`sepal-doc/docs/source/team/` folder. +- **Team** – A hidden section only available to team members that helps them contribute to the platform; located in the :code:`sepal-doc/docs/source/team/` folder. .. note:: - In the :code:`Module` section, only the :code:`index.rst` file should be modified, as the others are all downloaded from their repository (see the section **New module** below). + In the :code:`Module` section, only the :code:`index.rst` file should be modified, as the others are downloaded from their repository (see the section **New module** below). .. Attention:: @@ -390,11 +376,11 @@ The following sections are currently available: .. include:: disclaimer.rst -Now that you have selected a section, you can create a new documentation page :code:`.rst` using all the available `.rst directives `_ that are available in Sphinx, as well as the directives presented in the first section of this article. +Now that you have selected a section, you can create a new documentation page (:code:`.rst`) using all `.rst directives `_ available in Sphinx, as well as the directives presented in the first section of this article. To maintain consistency across folders and help with image maintenance, the images you use should be stored in the following folder: :code:`sepal-doc/docs/source/_images/
//`. -Add the page you've created to the :code:`toctree` (**Table of contents**) directive in the :code:`
/index.rst` file by adding your filename, without the extension, respecting the following indentation: +Add the page you've created to the :code:`toctree` (**Table of contents**) directive in the :code:`
/index.rst` file by adding your filename – without the extension – respecting the following indentation: .. code-block:: rst @@ -427,9 +413,9 @@ Images for each page are saved in the mirror folder, :code:`sepal-doc/docs/sourc Open the page you want to modify and search for the :code:`.. image` or :code:`.. figure` directive for the image you want to modify. You just need to change the image in the :code:`_images/` folder and continue using the same name. -If you think an image is missing, you can add one to any page by placing the image in the appropriate folder, and then naming it using one of the following directives. (Note: Never forget the :code:`alt` option; it will be the only information displayed if your image fails to load). +If you think an image is missing, you can add one to any page by placing the image in the appropriate folder, and then naming it using one of the following directives (making sure to include the :code:`alt` text, which will be the only information displayed if your image fails to load). -- The :code:`figure` directive adds a nice padding at the bottom of the image and allows you to add a caption. +- The :code:`figure` directive adds padding to the bottom of the image and allows you to add a caption. .. code-block:: rst @@ -448,7 +434,7 @@ New section .. attention:: - Normally, the documentation does not require any new section; however, if you really feel that something needs to be added, please let us know first in the `GitHub Issue Tracker `_. + The documentation should not require new sections; however, if you believe that something needs to be added, let the SEPAL team know via the `GitHub Issue Tracker `_. To add a new section, create a new folder in :code:`sepal-doc/docs/source/`. This folder should contain at least one page that contains the following code: @@ -463,7 +449,7 @@ To add a new section, create a new folder in :code:`sepal-doc/docs/source/`. Thi This section page should be added to the **Documentation index**. -Modify the :code:`toctree` of :code:`sepal-doc/docs/source/index.html` as follows: Replace **Section name** with the name you would like to see in the the navigation bar and **
** with the folder name. +Modify the :code:`toctree` of :code:`sepal-doc/docs/source/index.html` by replacing **
** with the folder name and **Section name** with the name you would like to see in the navigation bar. .. code-block:: rst @@ -481,7 +467,7 @@ Modify the :code:`toctree` of :code:`sepal-doc/docs/source/index.html` as follow New modules """"""""""" -Have you created a new module (Shiny or Python-based) and have been asked to add it to the **App** dashboard of SEPAL (following the issue template)? +Have you created a new Shiny or Python-based module and been asked to add it to the **App** dashboard of SEPAL, following the **Issue** template? One of the requirements to have your module accepted by the SEPAL team is to create a documentation file. @@ -489,9 +475,7 @@ To maintain consistency across modules, we store the documentation in the module To create the actual documentation page, follow the instructions provided in the `sepal_ui doc `_. -Then, you need to only modify one file in **sepal-doc** to make your documentation available. - -1. Modify the :code:`sepal-doc/docs/source/data/modules/en.json` file by adding a new line with the following shape: +Then, modify the :code:`sepal-doc/docs/source/data/modules/en.json` file in **sepal-doc** to make your documentation available by adding a new line with the following shape: .. code-block:: json @@ -504,30 +488,30 @@ Then, you need to only modify one file in **sepal-doc** to make your documentati New class on Google Classroom """"""""""""""""""""""""""""" -Have you have created a new class under the Google Classroom repository following the :doc:`classroom` doc and would now like to add this class to the appropriate class table? +Have you have created a new class under the Google Classroom repository, following the :doc:`classroom` doc? Would you like to add this class to the appropriate class table? -Go to your **Google Classroom** page and select the **Share** link. On the next page, copy and paste the following information: +Go to your **Google Classroom** page and select the **Share** link. On the next page, copy and paste the following information for the course: -- the number of the class -- the title of the class -- the invitation link for the class +- the number +- the title +- the invitation link .. figure:: ../_images/team/contribute/class_share.png :alt: Google Classroom sharing links You now have one single file to modify :code:`sepal-doc/docs/data//.csv`: -- replace **** with the type of your class (**general** for a reusable piece of documentation and **project** if linked to a FAO activity) -- replace **** with the language of your class (only English [en], French [fr] and Spanish [es] are available) -- add one extra line at the bottom, as such: +- replace **** with your class type (**general** for a reusable piece of documentation and **project** if linked to a FAO activity) +- replace **** with your class language (only English [en], French [fr] and Spanish [es] are available) +- add one extra line at the bottom, as follows: .. code-block:: , `<ID> <<link>>`_, <modification date> -- replace **<ID>** with the number of the class; +- replace **<ID>** with the class number; - replace **<link>** with the invitation link; -- replace **<title>** by the title of the classroom; and +- replace **<title>** with the class title; and - add the latest **<modification date>** in **YYYY-MM-DD** format. Create a pull request @@ -535,9 +519,9 @@ Create a pull request .. note:: - This page of SEPAL documentation, **Contribute**, was requested in the GitHub Issue Tracker (`Issue #19 <https://github.com/openforis/sepal-doc/issues/19>`_). It was then added to SEPAL documentation (`PR #24 <https://github.com/openforis/sepal-doc/pull/24>`_). + This article of SEPAL documentation, **Contribute**, was requested in the GitHub Issue Tracker (`Issue #19 <https://github.com/openforis/sepal-doc/issues/19>`_). It was then added to SEPAL documentation (`PR #24 <https://github.com/openforis/sepal-doc/pull/24>`_). -Now that you have finished your modifications and pushed them to GitHub, we can go back to the web interface of our forked repository (:code:`https://github.com/<your account>/sepal-doc`). +Now that you have finished your modifications and pushed them to GitHub, go back to the web interface of the forked repository (:code:`https://github.com/<your account>/sepal-doc`). First, select the :code:`Pull requests` button to open the **PR** interface: @@ -549,9 +533,7 @@ In the **PR** interface, select the :code:`New pull request` button: .. figure:: ../_images/team/contribute/new_pr.png :alt: New pull request -Select what is going to be pushed and where. - -If you've followed this article of the documentation, you have not created any branch in your fork. +Select what is going to be pushed and where. (If you've followed this article correctly, you have not created any branch in your fork.) On the left side, leave :code:`openforis/sepal-doc/master`. @@ -577,7 +559,7 @@ When everything is complete, select :code:`Create pull request` (**3**) and vali .. figure:: ../_images/team/contribute/valid_pr.png :alt: Valid PR -An automatic check will be performed to see if your PR can be built with ReadTheDoc and distributed in https://docs.sepal.io +An automatic check will be performed to see if your PR can be built with ReadTheDoc and distributed in https://docs.sepal.io. .. figure:: ../_images/team/contribute/ci_pr.png :alt: Continuous integration (CI) in PR @@ -594,6 +576,6 @@ Once submitted, the SEPAL team will review your PR and make the appropriate modi .. figure:: ../_images/team/contribute/delete_popup.png :alt: Delete pop-up window -.. attention:: +.. important:: If you are the owner of :code:`openforis`, do not delete :code:`openforis/sepal-doc`. From 16b5119249541a2c321e4c1781420ab09f8fbac3 Mon Sep 17 00:00:00 2001 From: Alex Gregor <111502950+alexryangregor@users.noreply.github.com> Date: Mon, 18 Dec 2023 09:57:26 +0100 Subject: [PATCH 099/110] Update classroom.rst Finalized and ready to be published. --- docs/source/team/classroom.rst | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/docs/source/team/classroom.rst b/docs/source/team/classroom.rst index 8efd8d7c71..488b3c0d32 100644 --- a/docs/source/team/classroom.rst +++ b/docs/source/team/classroom.rst @@ -2,25 +2,26 @@ Google Classroom ================ +*Learn how to use SEPAL's Google Classroom* Usage ----- -To provide consistent, up-to-date training materials, the SEPAL team uses the Google Classroom platform. +To provide consistent, up-to-date training materials, the SEPAL team uses Google Classroom. -To access Google Classroom for SEPAL, open your professional Google account and go to `the SEPAL project's Google Classroom page <https://classroom.google.com/u/0/h>`_ (you should see something like the following image, except for the classes). +To access SEPAL's Google Classroom, open your professional Google account and go to `the SEPAL project's Google Classroom page <https://classroom.google.com/u/0/h>`_ (you should see something like the following image, except for the classes). .. image:: ../_images/team/classroom/dashboard.png Each class is composed of several :code:`Topics`. -Each **Topic** can include different types of content, including: :code:`exercices`, :code:`exams`, and :code:`material` (see following image). +Each **Topic** can include different types of content, including: :code:`exercises`, :code:`exams`, and :code:`material`. .. image:: ../_images/team/classroom/stream.png .. seealso:: - If you need support with Google Classroom for SEPAL, contact :email:`Aurelie Shapiro <aurelie.shapiro@fao.org>` and :email:`Pierrick Rambaud <pierrick.rambaud@fao.org>`. + If you need support with SEPAL's Google Classroom, contact :email:`Aurelie Shapiro <aurelie.shapiro@fao.org>` and :email:`Pierrick Rambaud <pierrick.rambaud@fao.org>`. Creating a classroom ^^^^^^^^^^^^^^^^^^^^ @@ -33,24 +34,24 @@ If you need material for a webinar, you can either reuse one of the general clas If you create your own course as a combination of different modules, invite :email:`sepal.classroom@gmail.com` as a teacher and make this account the owner of the classroom. You will still be able to do everything as a teacher, but the content will be stored in a communal account. -When creating basic content, you can reuse posts from other classes that you are teaching (see following image). +When creating basic content, you can reuse posts from other classes that you are teaching. .. image:: ../_images/team/classroom/new-post.png -.. attention:: +.. tip:: If you want to reuse material from other classes, you will need to be added as a teacher for these classes by contacting :email:`Aurelie Shapiro <aurelie.shapiro@fao.org>` and :email:`Pierrick Rambaud <pierrick.rambaud@fao.org>`. .. attention:: - To avoid duplicate copies of content, *do not* select the option to **Create new copies of all attachments**. + To avoid duplicate copies of content, please *do not* select the option to **Create new copies of all attachments**. .. image:: ../_images/team/classroom/no-duplicate.png Use general content ^^^^^^^^^^^^^^^^^^^ -To use general content in your classrooms, add the general content folder to your Google Drive account. (Note: Google only allows users to create shortcuts to other Google Drive accounts, which is not sufficient.) +To use general content in your classrooms, add the **General class content** folder to your Google Drive account. Open **Google Drive** and go to the **Share with me** section. @@ -64,15 +65,15 @@ Select the **General class content** folder. Enter :code:`maj+Z`. -Select **Add** to connect the folder your own Google Drive account (see following image). +Select **Add** to connect the folder to your own Google Drive account. .. image:: ../_images/team/classroom/pop-up.png -To reuse a file from this folder, **Edit** classroom content (see following image). +To reuse a file from this folder, use the **Edit** function. .. image:: ../_images/team/classroom/edit.png -Then, add a file from Google Drive (to make sure that you're reusing an already existing file): +Then, add a file from Google Drive: .. image:: ../_images/team/classroom/add-file.png @@ -82,4 +83,4 @@ Then, add a file from Google Drive (to make sure that you're reusing an already .. important:: - Since everyone on the SEPAL team can edit this file, mistakes could impact all members and existing classrooms that use this file. Please exercise caution. + Since everyone on the SEPAL team can edit these files, mistakes could impact all members and existing classrooms that use this file. Please exercise caution. From 1a8a361d1bc9c062a1080bb0200f3b18a7384b7b Mon Sep 17 00:00:00 2001 From: dfguerrerom <dfgm2006@gmail.com> Date: Mon, 18 Dec 2023 18:26:19 +0100 Subject: [PATCH 100/110] lint --- docs/source/_templates/community.html | 4 ++- docs/source/_templates/index.rst | 4 +-- docs/source/_templates/issue-tracker.html | 4 ++- docs/source/_templates/no_recipe.rst | 2 +- docs/source/setup/filezilla.rst | 10 +++--- docs/source/team/contribute.rst | 4 +-- docs/source/workflows/area_estimation.rst | 38 +++++++++++------------ 7 files changed, 35 insertions(+), 31 deletions(-) diff --git a/docs/source/_templates/community.html b/docs/source/_templates/community.html index 4707b50500..606013e8cb 100644 --- a/docs/source/_templates/community.html +++ b/docs/source/_templates/community.html @@ -1,6 +1,8 @@ <div class="community"> <a href="https://groups.google.com/g/sepal-users"> - <span class="mr-1">For general support, ask the Google Group community</span> + <span class="mr-1" + >For general support, ask the Google Group community</span + > <i class="fa-solid fa-comments"></i> </a> </div> diff --git a/docs/source/_templates/index.rst b/docs/source/_templates/index.rst index 9401e1928e..8d8873bebb 100644 --- a/docs/source/_templates/index.rst +++ b/docs/source/_templates/index.rst @@ -5,9 +5,9 @@ Modules Overview -------- -SEPAL applications are tools provided by the SEPAL team from the Food and Agriculture Organization of the United Nations (FAO) or other developers. +SEPAL applications are tools provided by the SEPAL team from the Food and Agriculture Organization of the United Nations (FAO) or other developers. -These tools are based on advanced geographic information system (GIS) libraries and complement the functionalities of SEPAL recipes, providing the end user with access to complex workflows without requiring knowledge of digital programming. +These tools are based on advanced geographic information system (GIS) libraries and complement the functionalities of SEPAL recipes, providing the end user with access to complex workflows without requiring knowledge of digital programming. The applications are served in SEPAL with attractive user interfaces to ensure the best possible user experience. diff --git a/docs/source/_templates/issue-tracker.html b/docs/source/_templates/issue-tracker.html index 750a261076..6d709c1ba1 100644 --- a/docs/source/_templates/issue-tracker.html +++ b/docs/source/_templates/issue-tracker.html @@ -1,6 +1,8 @@ <div class="issue-tracker"> <a href="https://github.com/openforis/sepal/issues"> - <span class="mr-1">For documentation improvement, use the GitHub Issue Tracker</span> + <span class="mr-1" + >For documentation improvement, use the GitHub Issue Tracker</span + > <i class="fa-brands fa-github"></i> </a> </div> diff --git a/docs/source/_templates/no_recipe.rst b/docs/source/_templates/no_recipe.rst index c9cc25c622..57755a89a6 100644 --- a/docs/source/_templates/no_recipe.rst +++ b/docs/source/_templates/no_recipe.rst @@ -1,3 +1,3 @@ .. note:: - This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker <https://github.com/openforis/sepal-doc/issues/new?assignees=&labels=&template=documentation-needed + This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker <https://github.com/openforis/sepal-doc/issues/new?assignees=&labels=&template=documentation-needed>`_. diff --git a/docs/source/setup/filezilla.rst b/docs/source/setup/filezilla.rst index 5daab25853..2c6e346825 100644 --- a/docs/source/setup/filezilla.rst +++ b/docs/source/setup/filezilla.rst @@ -129,15 +129,15 @@ Use the FTP client to interact with SEPAL Familiarize yourself with FileZilla®'s window layout by following this overview. -Below the **Toolbar** (**1**) and **Quick connect bar** (**2**), the **Message log** (**3**) displays messages related to transfers and connection. Below, you can find the file listings. +Below the **Toolbar** (**1**) and **Quick connect bar** (**2**), the **Message log** (**3**) displays messages related to transfers and connection. Below, you can find the file listings. -The left column (**Local pane**, **4**) displays the local files and directories (e.g. content on the PC you're using FileZilla® on). +The left column (**Local pane**, **4**) displays the local files and directories (e.g. content on the PC you're using FileZilla® on). -The right column (**Remote pane**, **5**) displays the files and directories on the server you are connected to. +The right column (**Remote pane**, **5**) displays the files and directories on the server you are connected to. -Both columns have a directory tree at the top and a detailed listing of the currently selected directory's contents at the bottom. +Both columns have a directory tree at the top and a detailed listing of the currently selected directory's contents at the bottom. -You can easily navigate either of the trees and lists by clicking around, like you would in any other file manager. +You can easily navigate either of the trees and lists by clicking around, like you would in any other file manager. In the lower section of the window, the **Transfer queue** (**6**) lists the status of to-be-tranferred or already transferred files. diff --git a/docs/source/team/contribute.rst b/docs/source/team/contribute.rst index eff03f939e..b6358ceaec 100644 --- a/docs/source/team/contribute.rst +++ b/docs/source/team/contribute.rst @@ -187,7 +187,7 @@ This will create a **Pull request (PR)** that includes your modifications, which .. tip:: - To ensure that your modifications are clear, change the title of the **Commit** by completing the first field (i.e. inserting an explanation such as **Typo**, **Change image**, **Code-block error* – anything that concisely describes your modifications). + To ensure that your modifications are clear, change the title of the **Commit** by completing the first field (i.e. inserting an explanation such as **Typo**, **Change image**, **Code-block error** – anything that concisely describes your modifications). .. figure:: ../_images/team/contribute/create_branch.png :alt: Create a branch @@ -211,7 +211,7 @@ Select :code:`Create pull request`. Module edit ^^^^^^^^^^^ -The **Edit on GitHub** button will not work for articles in the **Modules** section, as the files are retrieved from each module's repository. +The **Edit on GitHub** button will not work for articles in the **Modules** section, as the files are retrieved from each module's repository. Their should be a link at the very bottom of the page to make modifications to the source file in the module repository following the same procedure mentioned above. diff --git a/docs/source/workflows/area_estimation.rst b/docs/source/workflows/area_estimation.rst index 163bf6e761..2f4c646c17 100644 --- a/docs/source/workflows/area_estimation.rst +++ b/docs/source/workflows/area_estimation.rst @@ -64,7 +64,7 @@ CEO is a free, open-source image viewing and interpretation tool, suitable for p GEE """ -GEE combines a multi-petabyte catalog of satellite imagery and geospatial datasets with planetary-scale analysis capabilities and makes it available for scientists, researchers and developers to detect changes, map trends and quantify differences on the Earth's surface. The code portion of GEE (called **Code editor**) is a web-based IDE for the GEE JavaScript API; its features are designed to make developing complex geospatial workflows fast and easy. +GEE combines a multi-petabyte catalog of satellite imagery and geospatial datasets with planetary-scale analysis capabilities and makes it available for scientists, researchers and developers to detect changes, map trends and quantify differences on the Earth's surface. The code portion of GEE (called **Code editor**) is a web-based IDE for the GEE JavaScript API; its features are designed to make developing complex geospatial workflows fast and easy. The **Code editor** has the following elements: @@ -92,17 +92,17 @@ The **Code editor** has the following elements: Project planning ^^^^^^^^^^^^^^^^ -Project planning and methods documentation play a key role in any remote sensing analysis project. While we use example projects in this article, you may use these techniques for your own projects in the future. +Project planning and methods documentation play a key role in any remote sensing analysis project. While we use example projects in this article, you may use these techniques for your own projects in the future. We encourage you to think about the following items to ensure that your resulting products will be relevant and that your chosen methods are well documented and transparent: -- Descriptions and objectives of the project (issues and information needs). +- Descriptions and objectives of the project (issues and information needs). - Are you trying to conform to an Intergovernmental Panel on Climate Change (IPCC) Tier? -- Descriptions of the end user product (data, information, monitoring system or map that will be created by the project). +- Descriptions of the end user product (data, information, monitoring system or map that will be created by the project). - - What type of information do you need (e.g. map, inventory, change product)? + - What type of information do you need (e.g. map, inventory, change product)? - Do you need to know where different land cover types exist or do you just need an inventory of how much there is? - How will success be defined for this project? Do you require specific accuracy or a certain level of detail in the final map product? @@ -383,7 +383,7 @@ To download this imagery mosaic to your SEPAL account, select the :code:`Retriev :align: center .. figure:: ../_images/workflows/area_estimation/retrieve_menu.png - :alt: The **Retriev**e menu + :alt: The **Retrieve** menu :align: center A window will appear with the following options: @@ -413,7 +413,7 @@ You will notice the :code:`Tasks` icon is now spinning. If you select it, you wi Image classification -------------------- -The main goal of Module 2 is to construct a single-date land cover map by classification of a Landsat composite generated from Landsat images. Image classification is frequently used to map land cover, describing what the landscape is composed of (grass, trees, water and/or an impervious surface), and to map land use, describing the organization of human systems on the landscape (farms, cities and/or wilderness). +The main goal of Module 2 is to construct a single-date land cover map by classification of a Landsat composite generated from Landsat images. Image classification is frequently used to map land cover, describing what the landscape is composed of (grass, trees, water and/or an impervious surface), and to map land use, describing the organization of human systems on the landscape (farms, cities and/or wilderness). Learning to do image classification well is extremely important and requires experience. This module was designed to help you acquire some experience. You will first consider the types of land cover classes you would like to map and the amount of variability within each class. There are both supervised (using human guidance, including training data) and unsupervised (not using human guidance) classification methods. The "random forest approach" demonstrated here uses training data and is thus a supervised classification method. @@ -441,7 +441,7 @@ Creating consistent labeling protocols is necessary for creating accurate traini In this exercise, you will build a decision tree for your classification, as well as a significant amount of the other documentation and decision points (for more information about decision points, see `Section 5.1`_). - **Objective**: + **Objective**: - Learn how to create a classification scheme for land cover/land use classification mapping. @@ -585,7 +585,7 @@ However, SEPAL has a built-in reference data collection tool in the classifier. In this assignment, you will create training data points using high-resolution imagery, including Planet NICFI data. These will be used to train the classifier in a supervised classification using SEPAL's random forests algorithm. The goal of training the classifier is to provide examples of the variety of spectral signatures associated with each class in the map. - **Objective**: + **Objective**: - Create training data for your classes that can be used to train a machine learning algorithm. @@ -781,7 +781,7 @@ To complete the classification of our mosaicked image, you are going to use a ra After we create the map, you might find that there are some areas that are not classifying well. The classification process is iterative, and there are ways you can modify the process to get better results. One way is to collect more or better reference data to train the model. You can test different classification algorithms, or explore object-based approaches, opposed to pixel-based approaches. The possibilities are many and should relate back to the nature of the classes you hope to map. Last, but certainly not least, is to improve the quality of your training data. Be sure to log all of these decision points in order to recreate your analysis in the future. - **Objective**: + **Objective**: - Run SEPAL's classification tool. @@ -897,13 +897,13 @@ Image change detection Image change detection allows us to understand differences in the landscape as they appear in satellite images over time. There are many questions that change detection methods can help answer, including: “When did deforestation take place?” and “How much forest area has been converted to agriculture in the past five years?” -Most methods for change detection use algorithms supported by statistical methods to extract and compare information in the satellite images. To conduct change detection, we need multiple mosaics or images, each one representing a point in time. +Most methods for change detection use algorithms supported by statistical methods to extract and compare information in the satellite images. To conduct change detection, we need multiple mosaics or images, each one representing a point in time. In this section of SEPAL documentation, we will describe how to detect change between two dates using a simple model (note: this theory can be expanded to include more dates as well). In addition, we'll describe time series analysis, which generally looks at longer periods of time. -The objective of this module is to become associated with methods of detecting change for an AOI using the SEPAL platform. We will build upon and incorporate what we have covered in the previous modules, including: creating mosaics, creating training samples, and classifying imagery. +The objective of this module is to become associated with methods of detecting change for an AOI using the SEPAL platform. We will build upon and incorporate what we have covered in the previous modules, including: creating mosaics, creating training samples, and classifying imagery. -This module is split into two exercises: the first addresses change detection using two dates; the second demonstrates more advanced methods using time series analysis with the BFAST algorithm and LandTrendr. +This module is split into two exercises: the first addresses change detection using two dates; the second demonstrates more advanced methods using time series analysis with the BFAST algorithm and LandTrendr. At the end of this module, you will know how to conduct a two-date change detection in SEPAL, have a basic understanding of the BFAST tool in SEPAL, and be familiar with TimeSync and LandTrendr. @@ -1007,7 +1007,7 @@ Repeat the previous steps for your 2020 optical mosaic. Collect change classification training data """"""""""""""""""""""""""""""""""""""""""" -Now that we have the mosaics created, we will collect change training data. While more complex systems can be used, we will consider two land cover classes that each pixel can be in 2015 or 2020: **forest** and **non-forest**. Thinking about change detection, we will use three options: **stable forest, stable non-forest,** and **change**. That is, between 2015 and 2020, there are four pathways: a pixel can be forest in 2015 and in 2020 (**stable forest); a pixel can be non-forest in 2015 and in 2020 (stable non-forest); or it can change from forest to non-forest or from non-forest to forest. If you use this manual to guide your own change classification, remember to log your decisions including how you are thinking about change detection (what classes can change and how), and the imagery and other settings used for your classification. +Now that we have the mosaics created, we will collect change training data. While more complex systems can be used, we will consider two land cover classes that each pixel can be in 2015 or 2020: **forest** and **non-forest**. Thinking about change detection, we will use three options: **stable forest, stable non-forest,** and **change**. That is, between 2015 and 2020, there are four pathways: a pixel can be forest in 2015 and in 2020 (**stable forest**); a pixel can be non-forest in 2015 and in 2020 (stable non-forest); or it can change from forest to non-forest or from non-forest to forest. If you use this manual to guide your own change classification, remember to log your decisions including how you are thinking about change detection (what classes can change and how), and the imagery and other settings used for your classification. .. graphviz:: @@ -1407,7 +1407,7 @@ BFAST Explorer Breaks For Additive Seasonal and Trend (BFAST) is a change detection algorithm for time series which detects and characterizes changes. BFAST integrates the decomposition of time series into trend, seasonal, and remainder components with methods for detecting change within time series. BFAST iteratively estimates the time and number of changes, and characterizes change by its magnitude and direction (Verbesselt *et al.*, 2009). -BFAST Explorer is a Shiny app, developed using R and Python, designed for the analysis of Landsat surface reflectance (SR) time series pixel data. Three change detection algorithms - bfastmonitor, bfast01 and bfast - are used in order to investigate temporal changes in trend and seasonal components via breakpoint detection. +BFAST Explorer is a Shiny app, developed using R and Python, designed for the analysis of Landsat surface reflectance (SR) time series pixel data. Three change detection algorithms - bfastmonitor, bfast01 and bfast - are used in order to investigate temporal changes in trend and seasonal components via breakpoint detection. More information can be found online at http://bfast.r-forge.r-project.org. If you encounter any bugs, please send a message to :email:`almeida.xan@gmail.com` or create an issue on the GitHub page. @@ -1555,9 +1555,9 @@ A well-prepared sample can provide a robust estimate of the parameters of intere These directions will provide a stratified random sample of the proper sampling size. -First, go to https://sepal.io and sign in. +First, go to https://sepal.io and sign in. -Select the :code:`Apps` button (purple wrench). Enter **stratified** into the search bar or scroll through the different process apps to find **Stratified Area Estimator - Design**. +Select the :code:`Apps` button (purple wrench). Enter **stratified** into the search bar or scroll through the different process apps to find **Stratified Area Estimator - Design**. Select **Stratified Area Estimator - Design.** Note that loading the tool takes a few minutes. @@ -1647,7 +1647,7 @@ Now you need to specify the expected accuracies. You will do this for each class Now we need to assign each class to the high or low expected user accuracy group. Think about your forest and non-forest classes. Which do you think should be high confidence? Which should be low confidence? Why? -Select the box under **high confidence** and assign your high confidence class(es). +Select the box under **high confidence** and assign your high confidence class(es). Then, select the box under **low confidence** that appears and assign the corresponding class(es). If you make a mistake, there's no way to remove the classes. However, just change one of the sliders slightly, move it back, and the class assignments will have been reset. @@ -1853,7 +1853,7 @@ Not shown are the **Plot Review** and **Sample Design**, which show a summary of You can either select **Publish Project** or **Configure Geo-Dash**. The option to **Configure Geo-Dash** will be available after you publish your project as well. For now, let's select **Configure Geo-Dash**. A new window or tab will open and you'll now see the blank **Geo-Dash configuration page**. -**Geo-Dash** is a dashboard that opens in a second window when users begin to analyse sample plots. Geo-Dash provides users with additional information to help them interpret the imagery and better classify sample points and plots. The Geo-Dash tab can be customized to show information such as NDVI time series, forest degradation tools, additional imagery and digital elevation data. If you select **Geo-Dash Help**, you'll access information about all of the **Geo-Dash widgets**. This information is also in the **CEO user manual**. Add any widgets that you would like for your project. +**Geo-Dash** is a dashboard that opens in a second window when users begin to analyse sample plots. Geo-Dash provides users with additional information to help them interpret the imagery and better classify sample points and plots. The Geo-Dash tab can be customized to show information such as NDVI time series, forest degradation tools, additional imagery and digital elevation data. If you select **Geo-Dash Help**, you'll access information about all of the **Geo-Dash widgets**. This information is also in the **CEO user manual**. Add any widgets that you would like for your project. For example, you can add a **NDVI widget** by following these steps: From c7c93b99b5f1d26d2c55e307d7952b2c4dac5e66 Mon Sep 17 00:00:00 2001 From: dfguerrerom <dfgm2006@gmail.com> Date: Mon, 18 Dec 2023 20:09:44 +0100 Subject: [PATCH 101/110] update compile files --- docs/source/_data/python_lib.txt | 29 +- docs/source/_data/r_packages.sh | 17 +- docs/source/_templates/module_tag.rst | 2 +- docs/source/modules/PlanetLab.rst | 11 +- docs/source/modules/SMFM.rst | 11 +- docs/source/modules/disaster.rst | 1 + docs/source/modules/dwn/alert_module.rst | 100 +-- docs/source/modules/dwn/alos_mosaics.rst | 29 +- docs/source/modules/dwn/basin-river.rst | 3 +- docs/source/modules/dwn/bfast_explorer.rst | 40 +- docs/source/modules/dwn/bfast_gpu.rst | 56 +- docs/source/modules/dwn/bfast_r.rst | 72 +- .../dwn/bootstrap_sampling_simulator.rst | 5 +- docs/source/modules/dwn/clip-time-series.rst | 60 +- docs/source/modules/dwn/coverage_analysis.rst | 26 +- docs/source/modules/dwn/cusum.rst | 6 +- docs/source/modules/dwn/damage_proxy_map.rst | 21 +- docs/source/modules/dwn/fcdm.rst | 59 +- docs/source/modules/dwn/gee-source.rst | 2 + docs/source/modules/dwn/geo_processing.rst | 5 +- docs/source/modules/dwn/gfc_wrapper_R.rst | 5 +- .../source/modules/dwn/gfc_wrapper_python.rst | 31 +- docs/source/modules/dwn/gwb.rst | 159 +++-- docs/source/modules/dwn/gwl_analysis.rst | 5 +- docs/source/modules/dwn/planet_order.rst | 37 +- docs/source/modules/dwn/plot_generator.rst | 5 +- docs/source/modules/dwn/sae_analysis.rst | 50 +- docs/source/modules/dwn/sae_design.rst | 5 +- docs/source/modules/dwn/sar_time_series.rst | 5 +- docs/source/modules/dwn/sdg_indicator.rst | 25 +- docs/source/modules/dwn/sepafe.rst | 47 +- docs/source/modules/dwn/sepal_mgci.rst | 1 - docs/source/modules/dwn/sepal_pysmm.rst | 39 +- docs/source/modules/dwn/seplan.rst | 670 +++++++++--------- docs/source/modules/dwn/smfm_biota.rst | 116 +-- docs/source/modules/dwn/smfm_deforest.rst | 6 +- docs/source/modules/dwn/tmf.rst | 6 +- docs/source/modules/dwn/vector_manager.rst | 26 +- docs/source/modules/dwn/weplan.rst | 15 +- docs/source/modules/dwn/zonal-analysis.rst | 10 +- docs/source/modules/index.rst | 56 +- docs/source/modules/inventories.rst | 1 + docs/source/modules/other.rst | 23 +- docs/source/modules/restoration.rst | 7 +- docs/source/modules/time-series.rst | 14 +- 45 files changed, 1000 insertions(+), 919 deletions(-) diff --git a/docs/source/_data/python_lib.txt b/docs/source/_data/python_lib.txt index 3786db45c6..ce475aa909 100644 --- a/docs/source/_data/python_lib.txt +++ b/docs/source/_data/python_lib.txt @@ -5,10 +5,9 @@ scipy shapely shapely-geojson tqdm -xarray-leaflet GDAL==$GDAL_VERSION bqplot -numpy==$NUMPY_VERSION +numpy geopandas matplotlib pandas @@ -20,36 +19,33 @@ geeadd ######## Google Earthengine ######## oauth2client google-api-python-client==1.12.8 -git+https://github.com/openforis/earthengine-api.git@v0.1.343#egg=earthengine-api&subdirectory=python +git+https://github.com/openforis/earthengine-api.git@v0.1.374#egg=earthengine-api&subdirectory=python oeel ######## BFAST dependencies ######## wget -Sphinx==2.2.0 -sphinx-bootstrap-theme==0.7.1 +Sphinx +sphinx-bootstrap-theme numpydoc git+https://github.com/12rambau/bfast.git ######## sepal modules ######## -geemap Unidecode pyperclip python-dateutil pytesmo Wand -PyPDF2 # more recent version are available (PyPDF4) +PyPDF2 # more recent version are avaiable (PyPDF4) rasterio openpyxl pre-commit -ipywidgets==7.7.2 -ipyvuetify==1.8.2 ######## web api ######## falcon gunicorn pyCrypto -awscli +awscli==1.11.18 # Pinned to prevent backtracking ######## other deps ######## xarray @@ -58,8 +54,14 @@ dask-geopandas nrt seaborn requests -llvmlite coverage +geetools +geeadd +geeup +cogee +xee +torch +torchvision ######## OSK requirements ######## descartes @@ -70,7 +72,7 @@ imageio rtree retrying Cython -pyproj==2.6.1 # Require proj update before 3.0.0 can be installed +pyproj ######## Early Warning System for Canopy Disturbances in Ecuador (SATA) ######## nose @@ -78,4 +80,5 @@ nosexcover pylint click dateutils -boto3 +boto3==1.4.3 # Pinned to prevent backtracking + diff --git a/docs/source/_data/r_packages.sh b/docs/source/_data/r_packages.sh index 00983b107f..6810b15530 100644 --- a/docs/source/_data/r_packages.sh +++ b/docs/source/_data/r_packages.sh @@ -12,10 +12,6 @@ export JAVA_LD_LIBRARY_PATH=${JAVA_HOME}/lib/server:${JAVA_HOME}/lib R CMD javareconf -# Install CRAN packages via r-proxy - -R -e "install.packages('rgdal', version = '1.3-9', dependencies = TRUE, repos = 'http://r-proxy:8180/', upgrade = 'never')" - R -e "install.packages(c(\ 'abind',\ 'askpass',\ @@ -201,7 +197,6 @@ R -e "install.packages(c(\ 'reshape2',\ 'reticulate',\ 'rgbif',\ - 'rgeos',\ 'rgexf',\ 'RgoogleMaps',\ 'rhandsontable',\ @@ -295,11 +290,13 @@ R -e "install.packages(c(\ 'yaml',\ 'zeallot',\ 'zoo' - ), repos='http://r-proxy:8180/', upgrade = 'never')" + ), repos='http://r-proxy:8180/')" -# Install GitHub packages via r-proxy +# Install archived packages - this doesn't work through r-proxy +R -e "install.packages('https://cran.r-project.org/src/contrib/Archive/rgdal/rgdal_1.6-7.tar.gz')" +R -e "install.packages('https://cran.r-project.org/src/contrib/Archive/rgeos/rgeos_0.6-4.tar.gz')" -R -e "install.packages('remotes', dependencies=TRUE, repos='http://r-proxy:8180/', upgrade = 'never')" +R -e "install.packages('remotes', dependencies=TRUE, repos='http://r-proxy:8180/')" R -e "remotes::install_url(c(\ 'http://r-proxy:8180/github/r-barnes/dggridR/archive/refs/heads/master.tar.gz',\ @@ -307,5 +304,5 @@ R -e "remotes::install_url(c(\ 'http://r-proxy:8180/github/azvoleff/gfcanalysis/archive/refs/heads/master.tar.gz',\ 'http://r-proxy:8180/github/loicdtx/bfastSpatial/archive/refs/heads/master.tar.gz',\ 'http://r-proxy:8180/github/jreiche/bayts/archive/refs/heads/master.tar.gz',\ - 'http://r-proxy:8180/github/cran/gdalUtils/archive/refs/heads/master.tar.gz' - ), repos='http://r-proxy:8180/', build = FALSE, upgrade = 'never')" + 'http://r-proxy:8180/github/cran/gdalUtils/archive/refs/heads/master.tar.gz'\ + ), repos='http://r-proxy:8180/', build = FALSE)" diff --git a/docs/source/_templates/module_tag.rst b/docs/source/_templates/module_tag.rst index eb2ba6a21d..192c54a740 100644 --- a/docs/source/_templates/module_tag.rst +++ b/docs/source/_templates/module_tag.rst @@ -1,7 +1,7 @@ module_tag = -Modules with the module_tag tag include: +Modules with the **module_tag** tag include: .. toctree:: :maxdepth: 1 diff --git a/docs/source/modules/PlanetLab.rst b/docs/source/modules/PlanetLab.rst index 06e3fea6fa..29f72c8ab7 100644 --- a/docs/source/modules/PlanetLab.rst +++ b/docs/source/modules/PlanetLab.rst @@ -1,7 +1,7 @@ -Planet Lab -========== +Planetlab +========= -Modules gathered under the **Planet Lab**** tag include: +Modules with the **Planetlab** tag include: .. toctree:: :maxdepth: 1 @@ -12,5 +12,6 @@ Modules gathered under the **Planet Lab**** tag include: .. csv-table:: - :doc:`dwn/planet_order`,"Order imagery from Planet Lab mosaics" - :doc:`dwn/sepafe`,"Receive and validate fire alerts from the FIRMS programme by using daily Planet imagery" + :doc:`dwn/planet_order`,"Order imagery from PlanetLab mosaics" + :doc:`dwn/sepafe`,"..." + diff --git a/docs/source/modules/SMFM.rst b/docs/source/modules/SMFM.rst index e1ef06d53a..e9254ad140 100644 --- a/docs/source/modules/SMFM.rst +++ b/docs/source/modules/SMFM.rst @@ -1,9 +1,7 @@ -SMFM -==== -SMFM +Smfm ==== -Modules with the **Satellite monitoring for forest management (SMFM)** tag include: +Modules with the **Smfm** tag include: .. toctree:: :maxdepth: 1 @@ -14,5 +12,6 @@ Modules with the **Satellite monitoring for forest management (SMFM)** tag inclu .. csv-table:: - :doc:`dwn/smfm_biota`,"Calculate biomass change over time using ALOS PALSAR data" - :doc:`dwn/smfm_deforest`,"Detect deforestation using a time series of forest probabilities" + :doc:`dwn/smfm_biota`,"Calculate biomass change over time using ALOS Palsar data" + :doc:`dwn/smfm_deforest`,"Detect deforestation using a time-series of forest probabilities" + diff --git a/docs/source/modules/disaster.rst b/docs/source/modules/disaster.rst index fe7522cae5..9da146fa18 100644 --- a/docs/source/modules/disaster.rst +++ b/docs/source/modules/disaster.rst @@ -12,3 +12,4 @@ Modules with the **Disaster** tag include: .. csv-table:: :doc:`dwn/damage_proxy_map`,"Damage estimation from Sentinel-1" + diff --git a/docs/source/modules/dwn/alert_module.rst b/docs/source/modules/dwn/alert_module.rst index b0b8e1f50c..7db1733260 100644 --- a/docs/source/modules/dwn/alert_module.rst +++ b/docs/source/modules/dwn/alert_module.rst @@ -2,14 +2,15 @@ Deforestation alert analysis ============================ *Retrieve any type of alert on a selected AOI* -.. attention:: - To use this module, you must register to the NICFI Planet Labs programme and link your account to Google Earth Engine (GEE) (see :doc:`../../setup/nicfi`). +.. note:: + + To use this module, you must register to the NICFI – Planet Lab programme and link your account to Google Earth Engine (GEE) (see :doc:`../../setup/nicfi`). Set up ------ -From the SEPAL app dashboard (the purple :icon:`fa-solid fa-wrench` on the left side), search for and select **Deforestation alert analysis**. +In the SEPAL **Apps** dashboard (the purple :icon:`fa-solid fa-wrench` on the left side), select **Deforestation alert analysis**. .. note:: @@ -68,7 +69,7 @@ Follow this process: - Select a driver in the dropdown list. The module will show the area covered by the driver in blue. If you don't see a background color change, your AOI is not covered. - Select a date range. It can be XX days in the past using **Recent** mode or any time in the past using **Historical** mode. -- Using the slider, filter the minimum size of the alerts from 0 to 100 hectares (0 corresponds to no filter at all). +- Using the slider, filter the minimum size of the alerts from 0 to 100 ha (0 corresponds to no filter at all). .. note:: @@ -112,18 +113,18 @@ Follow this process: GLAD-L ###### -By selecting this alert system, you will use GLAD alerts based on Landsat satellites. +By selecting this alert system, you will use Global Land Analysis and Discovery alerts based on Landsat satellites (GLAD-L). - Since the opening of the Landsat archive in 2008, medium spatial resolution data have been available for use in alert-based applications. Since 2013, two Landsat sensors, the Enhanced Thematic Mapper Plus (ETM+) onboard Landsat 7, and the Operational Land Imager (OLI) onboard Landsat 8, have been systematically acquiring global multispectral observations at a 30 metre spatial resolution. The orbits of the two spacecraft are coordinated to enable potential eight-day repeat coverage globally. Given this cadence, the use of Landsat as a near real-time source of land change information is possible. The data displayed and made available here quantify forest disturbance events for the tropics using ETM+ and OLI data as an input. Daily updates are made for areas where quality land observations are acquired. We define forest cover as 5-metre-tall trees with a canopy closure exceeding 30 percent. An alert is defined as any Landsat pixel that experiences a canopy loss in excess of 50 percent cover. + Since the opening of the Landsat archive in 2008, medium spatial resolution data have been available for use in alert-based applications. Since 2013, two Landsat sensors – the Enhanced Thematic Mapper Plus (ETM+) onboard Landsat 7, and the Operational Land Imager (OLI) onboard Landsat 8 – have been systematically acquiring global multispectral observations at a 30 m spatial resolution. The orbits of the two spacecraft are coordinated to enable potential eight-day repeat coverage globally. Given this cadence, the use of Landsat as a near real-time (NRT) source of land change information is possible. The data displayed and made available here quantify forest disturbance events for the tropics using ETM+ and OLI data as an input. Daily updates are made for areas where quality land observations are acquired. We define forest cover as 5 m-tall trees with a canopy closure exceeding 30 percent. An alert is defined as any Landsat pixel that experiences a canopy loss in excess of 50 percent cover. For more information on these alerts, see the `GLAD forest alert page <https://glad.umd.edu/dataset/glad-forest-alerts>`__. -Radar for Detecting Deforestation (RADD) -######################################## +RADD +#### .. note:: - RADD alerts only cover the tropical part of Africa and the Americas (for more information, see their documenation). + Radar for Detecting Deforestation (RADD) alerts only cover the tropical part of Africa and the Americas (for more information, see their documenation). By selecting this alert system, you will use RADD alerts. @@ -131,14 +132,14 @@ By selecting this alert system, you will use RADD alerts. More information on these alerts can be found on the `Wageningen University portal <https://www.wur.nl/en/Research-Results/Chair-groups/Environmental-Sciences/Laboratory-of-Geo-information-Science-and-Remote-Sensing/Research/Sensing-measuring/RADD-Forest-Disturbance-Alert.htm>`__. -Near real-time (NRT) -#################### +NRT +### .. attention:: - This functionality will remain experimental until the SEPAL team removes the **Beta** status on the near real-time alert creation recipe. + This functionality will remain experimental until the SEPAL team removes the **Beta** status on the **NRT alert creation** recipe. -By selecting this alert system, users will use near real-time alerts provided by the SEPAL recipe on a specific AOI for specific dates. You only need to provide access to the alert asset. +By selecting this alert system, users will use NRT alerts provided by the SEPAL recipe on a specific AOI for specific dates. You only need to provide access to the alert asset. .. note:: @@ -149,11 +150,11 @@ GLAD-S .. attention:: - At the time of writing this article (26 April 2022), only northern regions of South America were covered by the alert system. To see the area in the GEE code editor, go to `this link <https://code.earthengine.google.com/3b5238d7558dbafec5072838f1bac1e9?hideCode=true>`__ . + At the time of writing this article (26 April 2022), only northern regions of South America were covered by the alert system. To see the area in the GEE code editor, see `this page <https://code.earthengine.google.com/3b5238d7558dbafec5072838f1bac1e9?hideCode=true>`__ . -By selecting this alert system, you will use GLAD alerts based on Sentinel-2 satellites. +By selecting this alert system, you will use GLAD alerts based on Sentinel-2 satellites (GLAD-S). - Loss of primary forest is mapped in near real-time at a 10 metre resolution using Sentinel-2 multispectral data. Cloud, shadow and water are detected in each new Sentinel-2 image and a forest loss algorithm is applied to all remaining clear land observations. The algorithm relies on the spectral data in each new image, in combination with spectral metrics from a baseline period of the previous two years. Confidence is built through repeated loss observations in the consequent images. + Loss of primary forest is mapped in NRT at a 10 m resolution using Sentinel-2 multispectral data. Cloud, shadow and water are detected in each new Sentinel-2 image and a forest loss algorithm is applied to all remaining clear land observations. The algorithm relies on the spectral data in each new image, in combination with spectral metrics from a baseline period of the previous two years. Confidence is built through repeated loss observations in the consequent images. CUSUM ##### @@ -162,7 +163,7 @@ CUSUM This will use the :code:`.tif` output of :doc:`cusum`. -Once you've run the CUSUM module, you'll obtain a three-band :code:`.tif` file. Ingest this file in GEE using the `code editor interface <https://code.earthengine.google.com/>`__. Once the map is available in your assets, you can use it in the module. If you don't find the asset in the list, select the :icon:`fa-solid fa-arrows-rotate` icon to reload your asset list. +Once you've run the **CUSUM** module, you'll obtain a three-band :code:`.tif` file (CUSUM refers to cumulative sum). Ingest this file in GEE using the `code editor interface <https://code.earthengine.google.com/>`__. Once the map is available in your assets, you can use it in the module. If you don't find the asset in the list, select the :icon:`fa-solid fa-arrows-rotate` icon to reload your asset list. .. note:: @@ -200,7 +201,7 @@ The source needs to be a GeoJSON file using the following format: .. note:: - The Vietnamese Forest Department is using a specific alert system that works well. Developed in partnership with JICA, the system generates a GEOjson file every ten days. To see the GEE application, go to `this link <http://canhbaomatrung.kiemlam.org.vn>`__ (note: content is only available in Vietnamese). + The Vietnamese Forest Department is using a specific alert system that works well. Developed in partnership with Japan International Cooperation Agency (JICA), the system generates a GEOjson file every ten days. To see the GEE application, see `this page <http://canhbaomatrung.kiemlam.org.vn>`__ (note: content is only available in Vietnamese). RECOVER ####### @@ -212,11 +213,11 @@ Save your work by exporting the already interpreted alerts in :code:`.gpkg` form JJ-FAST ####### -By selecting this alert system, you will use the JJ-FAST alerts based on ALOS PALSAR data. +By selecting this alert system, you will use JJ-FAST alerts based on ALOS PALSAR data (JJ-FAST refers to the JICA-JAXA Forest Early Warning System in the Tropics; JAXA refers to Japan Aerospace Exploration Agency). - The JICA-JAXA Forest Early Warning System in the Tropics (JJ-FAST) can detect deforestation sites with sizes larger than 2 hectares (Version 3.0, as of June 2020). Employing microwave remote sensing technology, detections can be made even under thick cloud cover, which is characteristic for tropical regions, especially during rainy seasons. The system detects deforestation by means of L-band (1.25 MHz) Synthetic Aperture Radar (SAR) data acquired by the PALSAR-2 sensor aboard JAXA’s Advanced Land Observing Satellite 2 (ALOS-2) and provides the positioning information of detected sites to users free of charge via its web service. + JJ-FAST can detect deforestation sites with sizes larger than 2 ha (Version 3.0, as of June 2020). Employing microwave remote sensing technology, detections can be made even under thick cloud cover, which is characteristic for tropical regions, especially during rainy seasons. The system detects deforestation by means of L-band (1.25 MHz) Synthetic Aperture Radar (SAR) data acquired by the PALSAR-2 sensor aboard JAXA’s Advanced Land Observing Satellite 2 (ALOS-2) and provides the positioning information of detected sites to users free of charge via its web service. - With frequent updates for the entire tropical forest belt, approximately every one and a half months, JJ-FAST aims to function as an effective deterrent against illegal deforestation activities when it is utilized for forest monitoring in target countries. + With frequent updates for the entire tropical forest belt – approximately every one and a half months – JJ-FAST aims to function as an effective deterrent against illegal deforestation activities when it is utilized for forest monitoring in target countries. Government forest authorities of tropical countries with large forest inventories are expected to be the main users of JJ-FAST. Since polygons of detected deforestation cannot only be conveniently viewed online, but also downloaded for further geographic information system (GIS) analysis, local authorities are able to effectively identify illegal activities by comparing JJ-FAST detections with available national land use maps and/or concession maps. @@ -232,17 +233,17 @@ Once everything is set, select :btn:`select alerts` and the module will start do Metadata -------- -Select :btn:`<fa-solid fa-info>` to show the metadata panel, which allows you to validate the alerts identified by the driver using Planet VHR (very high-resolution) imagery. All information about the current alert will be displayed in this table: +Select :btn:`<fa-solid fa-info>` to show the **Metadata** pane, which allows you to validate alerts identified by the driver using Planet VHR (very high-resolution) imagery. The following information about the current alert will be displayed: -- Alert ID: the ID of the alert -- Geometry edition: a button to trigger geometry edition for one single alert -- Date: the identified date of the deforestation event -- Surface: the deforested surface in hectares -- Coordinates: the coordinates of the centre of the alert -- Review: the visual evaluation performed by the user -- Comments: additional comments on the alert +- **Alert ID**: the ID of the alert +- **Geometry edition**: a button to trigger geometry edition for one single alert +- **Date**: the identified date of the deforestation event +- **Surface**: the deforested surface in hectares +- **Coordinates**: the coordinates of the centre of the alert +- **Review**: the visual evaluation performed by the user +- **Comments**: additional comments on the alert -The following sections will cover the editable fields of this table. +The following subsections of this article will cover the editable fields in the **Metadata** pane. .. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/alert_module/master/doc/img/metadata.png :title: The metadata of the alerts @@ -251,7 +252,7 @@ The following sections will cover the editable fields of this table. Alert ID ^^^^^^^^ -In the upper section, the list of alerts are ordered by size. To access them, use the blue arrows or select the caret to select one in the dropdown menu. Once an alert is selected (represented now in orange on the map), the **Planet** panel will open itself in the upper-right corner of the map and the information associated with the alert will be displayed. +In the upper section, the list of alerts are ordered by size. To access them, use the blue arrows or select the caret to select one in the dropdown menu. Once an alert is selected (represented now in orange on the map), the **Planet** pane will open itself in the upper-right corner of the map and the information associated with the alert will be displayed. .. tip:: @@ -266,7 +267,7 @@ Geometry edition Some drivers perform automatic analysis; sometimes the geometry of the alerts poorly represent what you see in the VHR imagery. By using this module, you can redefine the geometry before exporting your results to perfectly fit the deforested area. -- Select :btn:`edit geometry` to open the edition interface (1). +- Select :btn:`edit geometry` to open the **Editing** interface. - Select :btn:`<fa-solid fa-pen-to-square>` to start editing; move the white square to add or remove vertices. - To finish, select :btn:`save` to exit editing mode. @@ -283,19 +284,19 @@ Alternatively: :title: The reset process to cancel edits :group: alert-module -Once editing is complete, select the :btn:`finish edition` button in the **Metadata** panel. +Once editing is complete, select the :btn:`finish edition` button in the **Metadata** pane. Date ^^^^ -If the selected driver embeds the dates of the alerts, this field will be already filled with a meaningful date of a deforestation event; if it does not, use the date found in the file title. +If the selected driver embeds the dates of the alerts, this field will be already completed with a meaningful date of a deforestation event; if it does not, use the date found in the file title. Once the deforestation event is identified, update the date value to reflect what you see in the VHR imagery. Click in the field to use the date selector. Review ^^^^^^ -By default, all alerts are set to :code:`unset`. After interpreting Planet imagery, change the value of the radio "review" from: +By default, all alerts are set to :code:`unset`. After interpreting Planet imagery, change the value of the radio review to: - :code:`yes`: the alert is valid, as well as the date - :code:`no`: the alert is not valid (i.e. no deforestation event) @@ -309,27 +310,27 @@ You can fill out this comment section with any aditional information. There are Export ^^^^^^ -In the lower portion of the **Metadata** panel, there are three exportation buttons; each one will export the alerts and their reviews in a specific format. +In the lower portion of the **Metadata** pane, there are three exportation buttons; each one will export the alerts and their reviews in a specific format. -to .kml -####### +Export as .kml +############## Export alerts as a :code:`.kml` file, readable with Google Earth. Each alert will use its ID as the label. You can export them at the beginning of the review if you want to use Google Earth in the review process. -to .gpkg -######## +Export as .gpkg +############### -Export alerts as a :code:`.gpkg` file, readable by any GIS software. It will embed the geometry and all the properties associated with each feature/alert (including the original geometry). This file can be used to save progress and reused as an input of the process. +Export alerts as a :code:`.gpkg` file, readable by any GIS software. It will embed the geometry and all properties associated with each feature/alert (including the original geometry). This file can be used to save progress and reused as an input of the process. -to .csv -####### +Export as .csv +############## Export alerts as a :code:`.csv` file. The properties of each alert are kept; the file represents each feature using the coordinates (latitude/longitude) of the centre of each alert. Planet imagery -------------- -To interprete the validity of the alert, this module is based on Planet NICFI imagery. +To interprete the validity of the alert, this module is based on NICFI – Planet imagery. Parameters ^^^^^^^^^^ @@ -338,9 +339,9 @@ Parameters This is optional. If nothing is set, the module will use Planet NICFI Level 1 data (monthly mosaics). If you have NICFI Level 2 access, providing your API key will grant you access to daily imagery. -Select :btn:`<fa-solid fa-globe>` to access the **Planet API** interface. In this panel, you can connect to your Planet profile using your credentials or your password. +Select :btn:`<fa-solid fa-globe>` to access the **Planet API** interface. In this pane, you can connect to your Planet profile using your credentials or your password. -- Select credential mode between "credentials" and "API key" +- Select credential mode (between **Credentials" and **API key**) - Set and validate your credentials If the icon is green, you are connected. @@ -391,7 +392,7 @@ Select :btn:`<fa-solid fa-palette>` to change the color of the images from CIR t Level 2 (daily) ^^^^^^^^^^^^^^^ -.. attention:: +.. note:: This option is only available for users that have NICFI Level 2 access. @@ -399,12 +400,11 @@ Level 2 data are daily imagery. When an alert is selected, the module will load .. tip:: - Since multiple images are displayed at once, don't hesitate to play with the layer control to hide and show different scenes. + Since multiple images are displayed at once, don't hesitate to play with the **Layer** control to hide and show different scenes. -Navigate through the images using the buttons in the **Planet navigator**. Use :btn:`<fa-solid fa-chevron-left>` and :btn:`<fa-solid fa-chevron-right>` to move one day at a time into the past or future. Use :btn:`<fa-solid fa-chevron-left>` and :btn:`<fa-solid fa-chevron-left>` to move one month at a time into the past or future). The :btn:`<fa-solid fa-circle>` button will set the closest date from the observation date. +Navigate through the images using the buttons in the **Planet navigator**. Use :btn:`<fa-solid fa-chevron-left>` and :btn:`<fa-solid fa-chevron-right>` to move one day at a time into the past or future. Use :btn:`<fa-solid fa-chevron-left>` and :btn:`<fa-solid fa-chevron-right>` to move one month at a time into the past or future). The :btn:`<fa-solid fa-circle>` button will set the closest date from the observation date. .. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/alert_module/master/doc/img/planet_daily.png :title: Planet daily mosaic displayed in CIR :group: alert-module - .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/alert_module/release/doc/en.rst diff --git a/docs/source/modules/dwn/alos_mosaics.rst b/docs/source/modules/dwn/alos_mosaics.rst index 5746926a32..059714ac8b 100644 --- a/docs/source/modules/dwn/alos_mosaics.rst +++ b/docs/source/modules/dwn/alos_mosaics.rst @@ -1,10 +1,15 @@ -ALOS Kyoto & Carbon Mosaics by JAXA -=================================== +ALOS K&C mosaics +================ *Create and manipulate ALOS K&C mosaics* -This module was adapted to the SEPAL environment from `this script by Vollrath <https://code.earthengine.google.com/3784ea8db0b93bcaa41d1a3ada0c055e>`_. -Designed on top of the interactive framework `sepal_ui <https://github.com/12rambau/sepal_ui>`_, this module allows users to extract ALOS K&C mosaics. +This module allows users to: + +- extract ALOS Kyoto & Carbon (ALOS K&C) mosaics by JAXA; +- display the mosaics in interactive maps; and +- export the mosaics as Google Earth Engine (GEE) assets and/or SEPAL .tif files. + +Designed on top of the interactive framework `sepal_ui <https://github.com/12rambau/sepal_ui>`_, it was adapted to the SEPAL environment from `this script by Vollrath <https://code.earthengine.google.com/3784ea8db0b93bcaa41d1a3ada0c055e>`_. Necessary inputs include: @@ -12,9 +17,7 @@ Necessary inputs include: - a year - select filters -The user will be able to display the mosaic in an interactive map and export it as a Google Earth Engine (GEE) asset and/or SEPAL .tif file. - -The three-step process is described in the sections below, as well as presented in the following video tutorial. +The three-step process is described in the subsections below, as well as presented in the following video tutorial. .. youtube:: Asc8Nz0B1DI @@ -29,7 +32,7 @@ Using the provided **AOI selector**, select an AOI of your choice between the di .. note:: - If a custom AOI from a shape or drawing is selected, you will be able to use it directly. The upload to GEE will be launched in the background. + If a custom AOI from a shape or drawing is selected, you will be able to use it directly (the upload to GEE will be launched in the background). Process mosaic -------------- @@ -44,7 +47,7 @@ In the **Process** tile, set the different parameters of your mosaic: - **Shadow masking**: activate or deactivate shadow masking - **Db**: whether or not to scale the output to Db -After setting your parameters, select the button. The dataset will be automatically sent to the **Vizualization** tile. +After setting your parameters, select the button (the dataset will be automatically sent to the **Vizualization** tile). .. figure:: https://raw.githubusercontent.com/lecrabe/alos_mosaics/main/doc/img/parameters.png @@ -68,7 +71,10 @@ Choose from three diplay options: Export dataset -------------- -When you're satified with the information displayed, it can be exported for further use in GIS software or in a GEE process. The tool provides two main exportation options: as an asset (in GEE) or a .tif file (in SEPAL). +When you're satified with the information displayed, it can be exported for further use in GIS software or in a GEE process. The tool provides two main exportation options: + +- an asset (in GEE), or +- a .tif file (in SEPAL). Both use the GEE export system and share the same set of parameters: @@ -81,7 +87,7 @@ Both use the GEE export system and share the same set of parameters: .. note:: - The default export parameters include: 25 metre resolution with backscatter and RFDI. + The default export parameters include: 25 m resolution with backscatter and RFDI. .. figure:: https://raw.githubusercontent.com/lecrabe/alos_mosaics/main/doc/img/export.png @@ -90,5 +96,4 @@ Both use the GEE export system and share the same set of parameters: .. attention:: When exporting images to SEPAL, do not quit the application until the downloading process is complete. - .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/alos_mosaics/release/doc/en.rst diff --git a/docs/source/modules/dwn/basin-river.rst b/docs/source/modules/dwn/basin-river.rst index 24d3a65c4e..7e30741af3 100644 --- a/docs/source/modules/dwn/basin-river.rst +++ b/docs/source/modules/dwn/basin-river.rst @@ -1,7 +1,8 @@ Resilient rivers and basins =========================== -*Understand forest cover and forest cover change from a watershed perspective* +Understand forest cover and forest cover change from a watershed perspective +---------------------------------------------------------------------------- Overview ________ diff --git a/docs/source/modules/dwn/bfast_explorer.rst b/docs/source/modules/dwn/bfast_explorer.rst index bffb977b0f..129057cd5e 100644 --- a/docs/source/modules/dwn/bfast_explorer.rst +++ b/docs/source/modules/dwn/bfast_explorer.rst @@ -4,16 +4,16 @@ BFAST Explorer .. note:: - This tutorial was created using BFAST Explorer v0.0.1. If you are using a newer version, some features might differ. + This tutorial was created using **BFAST Explorer v0.0.1**. If you are using a newer version, some features might differ. Description ----------- -**BFAST Explorer** is a `Shiny <https://shiny.rstudio.com/>`__ app, developed using R and Python, designed for the analysis of Landsat surface reflectance time-series pixel data. +**BFAST Explorer** is a `Shiny <https://shiny.rstudio.com/>`__ app, developed using R and Python, designed for the analysis of Landsat surface reflectance time series pixel data (BFAST refers to Breaks for Additive Seasonal and Trend). -Three change detection algorithms – **bfastmonitor**, **bfast01** and **bfast** – are used in order to investigate temporal changes in trend and seasonal components via breakpoint detection. +Three change detection algorithms – **bfastmonitor**, **bfast01** and **bfast** – are used to investigate temporal changes in trend and seasonal components via breakpoint detection. -If you encounter any problems, please send a message to almeida.xan@gmail.com or create an issue on `GitHub <https://github.com/almeidaxan/bfast-explorer/>`__. +If you encounter any problems, please send a message to almeida.xan@gmail.com or `create an issue on GitHub <https://github.com/almeidaxan/bfast-explorer/>`__. Tutorial -------- @@ -28,7 +28,9 @@ The **Map** tab is the starting tab that is initially displayed when running the .. thumbnail:: https://raw.githubusercontent.com/almeidaxan/bfast-explorer/master/md/images/tutorial-01.jpg :group: bfast-explorer -Users can also use the **Search** field located at the top of the toolbar to search for a location. The map automatically zooms in on the desired location, similarly to Google Maps. In this example, we searched for :code:`unicamp campinas` (the University of Campinas). +Users can also use the **Search** field located at the top of the toolbar to search for a location. The map automatically zooms in on the desired location, similar to Google Maps. + +In this example, we searched for :code:`unicamp campinas` (the University of Campinas). .. thumbnail:: https://raw.githubusercontent.com/almeidaxan/bfast-explorer/master/md/images/tutorial-02.jpg :group: bfast-explorer @@ -42,7 +44,7 @@ To clear all placed markers, select the red |trash-icon| button on the left side Next, select one of the markers to download its Landsat pixel data by selecting an already placed marker (it will be highlighted; only one marker may be selected at a time). -By selecting a marker, you can now choose a combination of which satellites to download from using the dropdown menu, located on the bottom of the toolbar. In the example, we have choosen all of the available satellites products: Landsat 5, 7 and 8 SR. +By selecting a marker, you can now choose a combination of which satellites to download from using the dropdown menu, located on the bottom of the toolbar. In the example, we have choosen all of the available satellite products: Landsat 5, 7 and 8 SR. .. thumbnail:: https://raw.githubusercontent.com/almeidaxan/bfast-explorer/master/md/images/tutorial-04.jpg :group: bfast-explorer @@ -51,7 +53,7 @@ Then, press the blue |download-icon| :guilabel:`Get data` button, located on the .. note:: - At the time of writing this documentation page, all surface reflectance data were not available from GEE. Depending on where you place your markers, you may receive the following message: "No data available for the chosen satellite(s) and/or region...Please change your query and try again." Since the SEPAL platform relies on GEE to download data, the SEPAL team can not help with this issue. + At the time of writing this article, all surface reflectance data were not available from GEE. Depending on where you place your markers, you may receive the following message: "No data available for the chosen satellite(s) and/or region...Please change your query and try again." Since the SEPAL platform relies on GEE to download data, the SEPAL team can not help with this issue. .. thumbnail:: https://raw.githubusercontent.com/almeidaxan/bfast-explorer/master/md/images/tutorial-05.jpg :group: bfast-explorer @@ -61,47 +63,47 @@ If the download is successful, you'll receive a message directing you to the |ch Analysis tab ************ -In the **Analysis** tab, we can analyse the downloaded data and save the results locally as files. +In the **Analysis** tab, we can analyse the downloaded data and save the results locally as files. .. thumbnail:: https://raw.githubusercontent.com/almeidaxan/bfast-explorer/master/md/images/tutorial-06.jpg :group: bfast-explorer -First, choose which satellite time series date to visualize. Even though data was downloaded from Landsat 5, 7 and 8 SR, they can't be analyzed separately. However, let's proceed by choosing all of them. +First, choose which **Satellite time series date** to visualize. Even though data was downloaded from Landsat 5, 7 and 8 SR, they can't be analysed separately. However, let's proceed by choosing all of them. The time series of the first spectral band (:code:`b1`) is plotted for all satellites. A legend distinguishes the different sources. .. note:: - Use caution when comparing **Spectral bands** data from different satellites, as they may not correspond to the same wavelength range (see `here <https://landsat.usgs.gov/what-are-band-designations-landsat-satellites>`__). + Use caution when comparing **Spectral bands** data from different satellites, as they may not correspond to the same wavelength range (for more information, see `this page <https://landsat.usgs.gov/what-are-band-designations-landsat-satellites>`__). .. thumbnail:: https://raw.githubusercontent.com/almeidaxan/bfast-explorer/master/md/images/tutorial-07.jpg :group: bfast-explorer -Apart from the spectral bands, there are also four spectral-bands-derived indexes available: NDVI, NDMI, EVI and EVI2. As an example, let's check the NDVI time series. +Apart from the spectral bands, there are also four spectral-bands-derived indexes available: **NDVI**, **NDMI**, **EVI** and **EVI2**. As an example, let's check the **NDVI time series**. .. thumbnail:: https://raw.githubusercontent.com/almeidaxan/bfast-explorer/master/md/images/tutorial-08.jpg :group: bfast-explorer -All time-series data can be downloaded as a file by selecting the blue |download-icon| :guilabel:`Data` button. All data will be downloaded as a CSV file, ordered by the acquisiton date. An additional column is included in order to distinguish the satellite sources. +All time series data can be downloaded as a file by selecting the blue |download-icon| :guilabel:`Data` button. All data will be downloaded as a .csv file, ordered by the acquisiton date. An additional column is included in order to distinguish satellite sources. .. thumbnail:: https://raw.githubusercontent.com/almeidaxan/bfast-explorer/master/md/images/tutorial-09.jpg :group: bfast-explorer -The time series plot can be downloaded as an image by selecting the blue |download-icon| :guilabel:`Plot` button. A window will appear offering some raster (JPEG, PNG) and a vectorial (SVG) image output formats. +The time series plot can be downloaded as an image by selecting the blue |download-icon| :guilabel:`Plot` button. A window will appear offering some raster (.jpeg, .png) and a vectorial (.svg) image output formats. .. thumbnail:: https://raw.githubusercontent.com/almeidaxan/bfast-explorer/master/md/images/tutorial-10.jpg :group: bfast-explorer -Next, select the **Change detection algorithm**. Three options are available: **bfastmonitor**, **bfast01** and **bfast** (for more information, go to `this page <http://bfast.r-forge.r-project.org/>`__). +Next, select the **Change detection algorithm**. Three options are available: **bfastmonitor**, **bfast01** and **bfast** (for more information, see `this page <http://bfast.r-forge.r-project.org/>`__). .. thumbnail:: https://raw.githubusercontent.com/almeidaxan/bfast-explorer/master/md/images/tutorial-11.jpg :group: bfast-explorer -By selecting **bfastmonitor**, you can tweak four parameters in the left sidebar: :code:`formula`, :code:`history period type`, :code:`harmonic order`, and :code:`start of monitoring`. These parameters have different impacts on results, which can be verified on the right side plot. Here, we set the maximum value of the :code:`harmonic order` to 9 to avoid problems. +By selecting **bfastmonitor**, you can tweak four parameters in the left sidebar: :code:`formula`, :code:`history period type`, :code:`harmonic order`, and :code:`start of monitoring`. These parameters have different impacts on results, which can be verified on the right side plot. Here, we set the maximum value of the :code:`harmonic order` to **9** to avoid problems. -Similar to the time series, the results of the change detection algorithms as .RDS data files can also be downloaded by selecting the blue |download-icon| :guilabel:`Results` button. To download the plot, select the blue |download-icon| :guilabel:`Plot` button. +Similar to the time series, the results of the change detection algorithms as .rds data files can also be downloaded by selecting the blue |download-icon| :guilabel:`Results` button. To download the plot, select the blue |download-icon| :guilabel:`Plot` button. -For more information on how to load RDS files on R, see `this page <http://www.fromthebottomoftheheap.net/2012/04/01/saving-and-loading-r-objects/>`__. +For more information on how to load .rds files on R, see `this page <http://www.fromthebottomoftheheap.net/2012/04/01/saving-and-loading-r-objects/>`__. .. thumbnail:: https://raw.githubusercontent.com/almeidaxan/bfast-explorer/master/md/images/tutorial-12.jpg :group: bfast-explorer @@ -115,7 +117,7 @@ Here, the maximum value of the :code:`harmonic order` is set dynamically, depend Finally, by selecting **bfast**, you can tweak two parameters: :code:`h` (minimal segment size) and :code:`season type`. -Since **bfast** can detect multiple breakpoints, it may take a couple of seconds to process, in comparison to the previous two algorithms. +Since **bfast** can detect multiple breakpoints, it may take a couple of seconds to process in comparison to the previous two algorithms. .. thumbnail:: https://raw.githubusercontent.com/almeidaxan/bfast-explorer/master/md/images/tutorial-14.jpg :group: bfast-explorer @@ -132,4 +134,4 @@ Since **bfast** can detect multiple breakpoints, it may take a couple of seconds <i class="fa fa-download"></i> -.. custom-edit:: https://raw.githubusercontent.com/12rambau/bfast-explorer/master/md/tutorial.rst +.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/bfast-explorer/master/md/tutorial.rst diff --git a/docs/source/modules/dwn/bfast_gpu.rst b/docs/source/modules/dwn/bfast_gpu.rst index 369bfe0ec2..3de4cc784d 100644 --- a/docs/source/modules/dwn/bfast_gpu.rst +++ b/docs/source/modules/dwn/bfast_gpu.rst @@ -2,18 +2,22 @@ BFAST GPU ========= *GPU implementation of the BFAST algorithm to analyse time series* -This document provides usage instructions for the GPU implementation of BFAST, implemented here as a Jupyter dashboard on SEPAL. +This article provides usage instructions for the GPU implementation of Breaks for Additive Seasonal and Trend (BFAST), implemented here as a Jupyter dashboard on SEPAL. Introduction ------------ -Large amounts of satellite data are now becoming available, which, in combination with appropriate change detection methods, offer the opportunity to derive accurate information on timing and location of disturbances (e.g. deforestation events across the Earth's surface). Typical scenarios require the analysis of billions of image patches/pixels, which can become very expensive from a computational point of view. The `BFAST package <https://pypi.org/project/bfast/>`_ provides efficient, massively parallel implementation for one of the state-of-the-art change detection methods called `Breaks For Additive Season and Trend (BFASTmonitor) <http://bfast.r-forge.r-project.org>`, as proposed by Verbesselt *et al.* +Large amounts of satellite data are now becoming available, which, in combination with appropriate change detection methods, offer the opportunity to derive accurate information on timing and location of disturbances (e.g. deforestation events across the Earth's surface). + +Typical scenarios require the analysis of billions of image patches/pixels, which can become very expensive from a computational point of view. + +The `BFAST package <https://pypi.org/project/bfast/>`_ provides efficient, massively parallel implementation for one of the state-of-the-art change detection methods called `BFASTmonitor <http://bfast.r-forge.r-project.org>`, as proposed by Verbesselt *et al.* .. figure:: https://raw.githubusercontent.com/12rambau/bfast_gpu/master/doc/img/bfastmonitor_1.png The analysis perfomed pixel-wise -The implementation is based on `OpenCL <https://www.khronos.org/opencl/>`_. It allows the processing of large-scale change detection scenarios given satellite time-series data. The optimizations made are tailored to the specific requirements of modern, massively parallel devices, such as graphics processing units (GPUs). +The implementation is based on `OpenCL <https://www.khronos.org/opencl/>`_. It allows the processing of large-scale change detection scenarios given satellite time series data. The optimizations made are tailored to the specific requirements of modern, massively parallel devices, such as graphics processing units (GPUs). The full documentation of the :code:`bfast` package can be found `on this page <https://bfast.readthedocs.io/en/latest/>`_. @@ -22,7 +26,7 @@ Usage .. important:: - Before launching the BFAST module, you need to have at least one time series in your SEPAL folders. + Before launching the **BFAST** module, you need to have at least one time series in your **SEPAL folders**. .. attention:: @@ -33,9 +37,13 @@ Set up To launch the app, follow the `steps to register for SEPAL <https://docs.sepal.io/en/latest/setup/register.html>`_. -Open a GPU instance in your terminal (:code:`g4` or :code:`g8`). Then move to the SEPAL **Apps** dashboard (purple wrench icon on the left side panel). Finally, search for and select **bfast GPU**. +Open a **GPU instance** in your terminal (:code:`g4` or :code:`g8`). + +Then move to the SEPAL **Apps** dashboard (purple wrench icon on the left side pane). -The application should launch itself in the **BFAST process** section. On the left side, the **navdrawer** will help you navigate between the different pages of the app. If you click on :code:`wiki`, :code:`bug report` or :code:`code source`, you will be redirected to the corresponding webpage. +Finally, search for and select **bfast GPU**. + +The application should launch itself in the **BFAST process** section. On the left side, the **navdrawer** will help you navigate between the different pages of the app. If you select :code:`wiki`, :code:`bug report` or :code:`code source`, you will be redirected to the corresponding webpage. .. note:: @@ -48,18 +56,20 @@ The application should launch itself in the **BFAST process** section. On the le Select folder ^^^^^^^^^^^^^ -Select a folder in the first widget. Navigate through your folders to find the time series folder you want to analyse. Click outside the pop-up window to exit the selection. Your folder should only contain folders with numbered names (corresponding to each tile of the TS). +Select a folder in the first widget. + +Navigate through your folders to find the time series folder you want to analyse. Click outside the pop-up window to exit the selection. Your folder should only contain folders with numbered names (corresponding to each tile of the TS). -By selecting an appropriate folder, a widget will be automatically filled out and enabled, as described below: +By selecting an appropriate folder, a widget will be automatically completed and enabled, as described below: -- :code:`output directory name`: Filled out with the basename of your TS folder. -- :code:`select tiles to use`: Preselect all of the available tiles. -- :code:`monitoring dates`: The slider is enabled and filled with the date list included in the TS folder. The values default to the full range of dates. -- :code:`historical period`: The slider is enabled and filled with the date list included in the TS folder. The value defaults to the first date of the TS. +- :code:`output directory name`: Completed with the basename of your TS folder. +- :code:`select tiles to use`: Preselect all available tiles. +- :code:`monitoring dates`: The slider is enabled and completed with the date list included in the TS folder (the values default to the full range of dates). +- :code:`historical period`: The slider is enabled and completed with the date list included in the TS folder (the value defaults to the first date of the TS). .. figure:: https://raw.githubusercontent.com/12rambau/bfast_gpu/master/doc/img/correct_folder.png - Select a folder and preload all of the information. + Select a folder and preload all information. .. attention:: @@ -74,7 +84,7 @@ Parameters Now you can change the parameters to fit the requirements of your analysis: -- :code:`output directory name`: This name will be used to store all of your analysis. While it is completed automatically with the base name of your TS folder, you can still change it. +- :code:`output directory name`: This name will be used to store all of your analysis. While it is completed automatically with the base name of your TS folder, you can change it. .. note:: @@ -101,10 +111,10 @@ Advanced parameters These parameters are for advanced users only. The default value provides accurate results in many situations. -Select :code:`Advanced parameters` and a new panel of options will be available: +Select :code:`Advanced parameters` and a new pane of options will be available: - :code:`bandwith relative to sample size`: Float in the interval (0,1), specifying the bandwidth relative to the sample size in the MOSUM/ME monitoring processes. -- :code:`Significance level of the monitoring`: Significance level of the monitoring procedure (and ROC, if selected), i.e. probability of Type I error. +- :code:`Significance level of the monitoring`: Significance level of the monitoring procedure and ROC, if selected (i.e. probability of Type I error). - :code:`backend`: Specifies the implementation that shall be used: **Python** resorts to the non-optimized Python version; **OpenCL** resorts to the optimized, massively parallel OpenCL implementation. .. note:: @@ -120,7 +130,7 @@ Run process You can now select :code:`LAUNCH BFAST ANALYSIS` to start the process. -The process will start shortly, notifying you of it's advancement tile by tile in the info banner, as shown in the following figure. +The process will start shortly, notifying you of it's advancement tile by tile in the **Info banner**, as shown in the following figure. .. figure:: https://raw.githubusercontent.com/12rambau/bfast_gpu/master/doc/img/advancement.png @@ -134,20 +144,18 @@ The process will start shortly, notifying you of it's advancement tile by tile i If your connection to SEPAL is lost and the application stops, use the exact same parameters as your previous analysis. The application will find the already computed tiles and images, and start from where it stopped instead of restarting from scratch. - .. figure:: https://raw.githubusercontent.com/12rambau/bfast_gpu/master/doc/img/computation_end.png End of computation screen - The module provided the following :code:`.vrt` outputs: - :code:`~/module_results/bfast/[name_of_input]/[bfast_params]/bfast_outputs.vrt` It is a three-band raster: -- band 1, the breakpoints in decimal year format -- band 2, the magnitude of change -- band 3, the validity of the pixel model +- **Band 1**: the breakpoints in decimal year format +- **Band 2**: the magnitude of change +- **Band 3**: the validity of the pixel model This raster has the exact same dimensions as the input raster. @@ -162,6 +170,8 @@ Here you'll find an example of two bands over the Juaboso Region in Ghana with a .. figure:: https://raw.githubusercontent.com/12rambau/bfast_gpu/master/utils/breaks.png - Breaks masked in the center of the region, displayed with a viridis colormap, values in [2017.26, 2019.98] + Breaks masked in the centre of the region, displayed with a viridis colormap, values in [2017.26, 2019.98] .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/bfast_gpu/release/doc/en.rst + +.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/bfast_gpu/release/doc/en.rst diff --git a/docs/source/modules/dwn/bfast_r.rst b/docs/source/modules/dwn/bfast_r.rst index a0d1b84857..5a9957fbc7 100644 --- a/docs/source/modules/dwn/bfast_r.rst +++ b/docs/source/modules/dwn/bfast_r.rst @@ -5,17 +5,17 @@ Time series analysis Overview -------- -The Breaks for Additive Seasonal and Trend (BFAST) method enables users to analyse the dynamics of satellite dense time series and overcome the major challenge of distinguishing land-cover change from seasonal phenological variations. +The Breaks for Additive Seasonal and Trend (BFAST) method enables users to analyse the dynamics of satellite dense time series and overcome the major challenge of distinguishing land cover change from seasonal phenological variations. -`Verbesselt et al. (2010) <https://doi.org/10.1016/j.rse.2010.08.003>`__, `Dutrieux et al. (2015) <https://doi.org/10.1016/j.isprsjprs.2015.03.015>`__ and `DeVries et al. (2015) <https://doi.org/10.1016/j.rse.2015.08.020>`__ used this approach to demonstrate that time series can be decomposed into trend, seasonal, and remainder components, and that the time and number of changes can be detected at high temporal resolution (i.e. 16 days), enabling detection of tree cover change and separation from the phenology signal. +`Verbesselt et al. (2010) <https://doi.org/10.1016/j.rse.2010.08.003>`__, `Dutrieux et al. (2015) <https://doi.org/10.1016/j.isprsjprs.2015.03.015>`__ and `DeVries et al. (2015) <https://doi.org/10.1016/j.rse.2015.08.020>`__ used this approach to demonstrate that time series can be decomposed into trend, seasonal and remainder components, and that the time and number of changes can be detected at high temporal resolution (i.e. 16 days), enabling detection of tree cover change and separation from the phenology signal. -The same authors developed the `bfastSpatial package <https://www.rdocumentation.org/packages/bfastSpatial/versions/0.6.2>`__, which provides utilities to perform change detection analysis on time series of spatial gridded data, such as the Landsat satellite imagery that cover our period of interest. +The same authors developed the `bfastSpatial package <https://www.rdocumentation.org/packages/bfastSpatial/versions/0.6.2>`__, which provides utilities to perform change detection analysis on time series of spatial gridded data, such as the Landsat satellite imagery that covers our period of interest. -The package has been tested in the early versions of the cloud-based platform developed by the Food and Agriculture Organization of the United Nations (FAO) for parallel processing of remote sensing data (https://sepal.io). It has been recently adapted into a functional processing chain (https://github.com/yfinegold/runBFAST) which is wrapped in the current Shiny application. +The package has been tested in the early versions of the cloud-based platform developed by the Food and Agriculture Organization of the United Nations (FAO) for parallel processing of remote sensing data (https://sepal.io). It has been recently adapted into a functional processing chain (https://github.com/yfinegold/runBFAST), which is wrapped in the current Shiny application. .. attention:: - Since the processing of time series using BFAST is computed in SEPAL, selecting a powerful instance is recommended. The computation is parallelized on several central processing unit (CPUs), so an instance with a large number of CPUs is recommended as well. Select the terminal button and choose a new instance. Instance ”m16” with 16 CPUs, might be fast enough to do the processing. + Since the processing of time series using BFAST is computed in SEPAL, selecting a powerful instance is recommended. The computation is parallelized on several central processing units (CPUs), so an instance with a large number of CPUs is recommended as well. Select the terminal button and choose a new instance. Instance ”m16” with 16 CPUs might be fast enough to do the processing. Introduction ------------ @@ -39,7 +39,7 @@ If this is your first time using the time series analysis tool, the SEPAL team h Select :guilabel:`Download test dataset`. The data is downloaded into the :code:`bfast_data_test` folder in your root directory. The file location and information about the download will appear in the lower-right corner. -Run time-series analysis +Run time series analysis ------------------------ Select the **Process** tab in the left column. @@ -47,7 +47,7 @@ Select the **Process** tab in the left column. .. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/process_tab.png :group: bfastspatial -First, select the **Time series** folder. Click on the **Time series** folder button to navigate to the folder with your downloaded data (either downloaded from the SEPAL search option or the test dataset). +First, select the **Time series** folder. Select the **Time series** folder button to navigate to the folder with your downloaded data (either downloaded from the **SEPAL search option** or the **Test dataset**). Select the whole **Time series** folder in your download folder. If your area of interest (AOI) had different features, the application will ask you to select which one you want to process (you can select one, some of them, or all of them) (see the example below with 140 distinct features). @@ -57,12 +57,12 @@ Select the whole **Time series** folder in your download folder. If your area of .. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/select_ts_tile.png :group: bfastspatial -There is an option to apply a mask and run BFAST only on areas inside the mask. You can select a file with 0 and 1 values (0 values will be excluded and 1 included in the computation). +There is an option to apply a mask and run **BFAST** only on areas inside the mask. You can select a file with 0 and 1 values (0 values will be excluded and 1 included in the computation). .. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/select_mask.png :group: bfastspatial -If you would like to use a mask, select the **FNF mask**. Then, select the raster file by selecting the **forest/non-forest** mask button and navigating to and selecting the mask file. +If you would like to use a mask, select the **FNF mask**. Then, select the raster file by selecting the **forest/non-forest mask** button and navigating to and selecting the mask file. .. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/fnf_mask.png :group: bfastspatial @@ -70,11 +70,11 @@ If you would like to use a mask, select the **FNF mask**. Then, select the raste .. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/browse_mask.png :group: bfastspatial -Next, change the parameters for your study area. At this stage, the BFAST explorer described in Section 2 can be very useful. You can use it to understand seasonal and interannual patterns of the land cover that you are analysing over your study area. You can do this over several pixels to have a better idea. +Next, change the **Parameters** for your study area. At this stage, the BFAST Explorer described in **Section 2** can be very useful. You can use it to understand seasonal and interannual patterns of the land cover that you are analysing over your study area. You can do this over several pixels to have a better idea. .. note:: - Remember that this module will define a historical period and a monitoring period, so it corresponds to the option “bfastmonitor” in the BFAST explorer module. + Remember that this module will define a historical period and a monitoring period, so it corresponds to the option “bfastmonitor” in the **BFAST Explorer** module. .. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/parameters.png :group: bfastspatial @@ -83,34 +83,34 @@ The parameters include: - **History beginning year** – The year that marks the start of the historical period. The actual start date will depend on the history parameter chosen. - **Monitoring start and end years** – The monitoring start year is the year that marks the end of the historical period and the start of the monitoring period. The monitoring end year marks the end of the monitoring period. -- **History parameter** – Specifies the start of a stable history period. The options are: +- **History parameter** – Specifies the start of a stable historical period. The options are: - - reverse ordered CUSUM (ROC) – looks backwards in time, using a stepwise approach, to identify a stable history period. - - Bai and Perron breakpoint estimation (BP) – identifies a stable history period and can be used to identify disturbances in the historical period. - - all – uses all available observations. - - numeric – the start date can be specified using the year (e.g. 2011). + - **reverse ordered CUSUM (ROC)** – looks backwards in time, using a stepwise approach, to identify a stable historical period. + - **Bai and Perron breakpoint estimation (BP)** – identifies a stable historical period and can be used to identify disturbances in the historical period. + - **all** – uses all available observations. + - **numeric** – the start date can be specified using the year (e.g. 2011). - **Elements of the formula** – the formula describes the type of regression model applied. The options are: - - trend + harmon – a linear trend and a harmonic season component - - harmon – a harmonic season component - - trend – a linear trend + - **trend + harmon** – a linear trend and a harmonic season component. + - **harmon** – a harmonic season component. + - **trend** – a linear trend. - **Order parameter** – Specifies the order of the harmonic term, defaulting to 3. -- **Type parameter** – Specifies the type of monitoring process (for additional documentation on the type parameter see the `strucchange package documentation <https://cran.r-project.org/web/packages/strucchange/index.html>`__). The options are: +- **Type parameter** – Specifies the type of monitoring process (for additional documentation on the type parameter, see the `strucchange package documentation <https://cran.r-project.org/web/packages/strucchange/index.html>`__). The options are: - - Moving sums of residuals (MOSUM) – residuals are calculated as the difference between expected values and actual observations in a monitoring period based on OLS residuals. - - Cumulative sum (CUSUM) – cumulative sums of standardized residuals (MOSUM uses a moving sum, while CUSUM uses a cumulative of the same residuals). - - Moving estimates (ME) – the moving estimates process is returned. - - Fluctuation – returns the recursive estimates process. + - **Moving sums of residuals (MOSUM)** – residuals are calculated as the difference between expected values and actual observations in a monitoring period based on OLS residuals. + - **Cumulative sum (CUSUM)** – cumulative sums of standardized residuals (MOSUM uses a moving sum, while CUSUM uses a cumulative of the same residuals). + - **Moving estimates (ME)** – the moving estimates process is returned. + - **Fluctuation** – returns the recursive estimates process. -- **Raster band outputs** – Result layers to be returned. Can be any combination of :code:`breakpoint`, :code:`magnitude`, :code:`error`, :code:`history`, :code:`r.squared`, :code:`adj.r.squared`, :code:`coefficients`. By default: :code:`breakpoint`, :code:`magnitude` and :code:`error` are returned by the function. It is important to know which layers have been requested and in which order they will be exported because the layer names are not specified. Note that if :code:`coefficients` is included, the output will include the following: "(Intercept)" and any trend and/or harmonic coefficients, depending on the values of formula and order. -- **Computation mode** – chose between running the calculation for the entire monitoring period (overall) or each year of the monitoring period (sequential): +- **Raster band outputs** – Result layers to be returned. Can be any combination of :code:`breakpoint`, :code:`magnitude`, :code:`error`, :code:`history`, :code:`r.squared`, :code:`adj.r.squared`, :code:`coefficients`. By default: :code:`breakpoint`, :code:`magnitude` and :code:`error` are returned by the function. It is important to know which layers have been requested and in which order they will be exported because the layer names are not specified. Note that if :code:`coefficients` is included, the output will include the following: **(Intercept)** and any trend and/or harmonic coefficients, depending on the values of formula and order. +- **Computation mode** – choose between running the calculation for the entire monitoring period (overall) or each year of the monitoring period (sequential): - - Overall – runs BFAST one time for the monitoring period and provides a maximum of one breakpoint for the entire monitoring period. - - Sequential – runs BFAST for each year of the monitoring period. The output will be per year of the monitoring period and will provide a maximum of one breakpoint per year in the monitoring period. This option does not create the thresholded output and will not display the output within the application. To view the results, use the visualizer in SEPAL or download the results to your local computer. + - **Overall** – runs BFAST one time for the monitoring period and provides a maximum of one breakpoint for the entire monitoring period. + - **Sequential** – runs BFAST for each year of the monitoring period. The output will be per year of the monitoring period and will provide a maximum of one breakpoint per year in the monitoring period. This option does not create the thresholded output and will not display the output within the application. To view the results, use the visualizer in SEPAL or download the results to your local computer. -Once you have decided on your parameters, run BFAST by selecting the Launch BFAST calculation button in the results box. +Once you have decided on your parameters, run BFAST by selecting the **Launch BFAST calculation** button in the **Results** box. .. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/launch.png :group: bfastspatial @@ -120,7 +120,7 @@ Depending on the size of your area and the size of your instance, BFAST can take .. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/log.png :group: bfastspatial -If your AOI has multiple polygons and contains many numeric folders (i.e. 1, 2, 3, etc.), it will run the BFAST calculation for each of the folders recursively. +If your AOI has multiple polygons and contains many numeric folders, it will run the BFAST calculation for each of the folders recursively. If you are running a large area or have a weak internet connection, which might cause the application to disconnect, you can go to your **User resources** in SEPAL and set the amount of time your session should stay open (see following image), which allows you to shut down SEPAL without stopping the calculation. @@ -138,20 +138,22 @@ If you have a small study area or have the time, you can wait for the algorithm When the calculation is complete, you will see the text: :code:`Done processing!!! Click on DISPLAY THE RESULTS`. Select the :guilabel:`Display BFAST results from this session` button to display the thresholded magnitude. -By default, the output from BFAST includes 3 bands: the breakpoint, magnitude and error. An additional output is calculated in this application, which is the thresholded magnitude. The thresholded magnitude is calculated using the magnitude output, calculating the mean magnitude value over the AOI and applying thresholds of up to +/- 4 standard deviations from the mean. This layer indicates the positive or negative intensity of change of each pixel. Above 2 standard deviations, you can interpret that a change has certainly occurred compared to the historical period modelled. +By default, the output from BFAST includes 3 bands: the **breakpoint**, **magnitude** and **error**. + +An additional output is calculated in this application, which is the **thresholded magnitude**. The thresholded magnitude is calculated using the magnitude output, calculating the mean magnitude value over the AOI and applying thresholds of up to +/- 4 standard deviations from the mean. This layer indicates the positive or negative intensity of change of each pixel. Above 2 standard deviations, you can interpret that a change has certainly occurred compared to the historical period modelled. .. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/preview.png :group: bfastspatial .. note:: - If you are not using the instance anymore to process additional time series, please close the instance by selecting the trashbin button. + If you are not using the instance anymore to process additional time series, please close the instance by selecting the **Trashbin** button. You can also download your results to your hard drive using FileZilla (e.g. ArcGIS). Here are some examples of how layers can be displayed: -BFAST was computed over the following area in Indonesia over the years 2013–2019. The years 2013–2016 were used as the historical period and 2016–2019 as the monitoring period. +BFAST was computed over the following area in Indonesia over the years 2013–2019 (the years 2013–2016 were used as the historical period and 2016–2019 as the monitoring period). .. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/result_rgb.png :group: bfastspatial @@ -171,9 +173,9 @@ BFAST was computed over the following area in Indonesia over the years 2013–20 .. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/result_band_3.png :group: bfastspatial -Finally, you will find an additional layer called “threshold”. The thresholded magnitude is calculated using the magnitude output, calculating the mean magnitude value over the AOI and applying thresholds of up to +/- 4 standard deviations from the mean. The layer is a thematic, classification map which has values ranging from 0–10, corresponding to the legend below (you can see how to name them in the following figure). +Finally, you will find an additional layer called **Threshold. The thresholded magnitude is calculated using the magnitude output, calculating the mean magnitude value over the AOI and applying thresholds of up to +/- 4 standard deviations from the mean. The layer is a thematic, classification map which has values ranging from 0–10, corresponding to the legend below (you can see how to name them in the following figure). .. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/result_sigma.png :group: bfastspatial -.. custom-edit:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/tutorial.rst +.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/bfastspatial/master/www/tutorial/tutorial.rst diff --git a/docs/source/modules/dwn/bootstrap_sampling_simulator.rst b/docs/source/modules/dwn/bootstrap_sampling_simulator.rst index b54a12594a..7bb796c6a6 100644 --- a/docs/source/modules/dwn/bootstrap_sampling_simulator.rst +++ b/docs/source/modules/dwn/bootstrap_sampling_simulator.rst @@ -1,6 +1,5 @@ -Bootstrap sampling simulator -============================ +.. note:: -.. include:: ../_templates/no_module.rst + This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker <https://github.com/openforis/sepal-doc/issues/new?assignees============================&labels============================&template============================documentation-needed.md>`__. .. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst diff --git a/docs/source/modules/dwn/clip-time-series.rst b/docs/source/modules/dwn/clip-time-series.rst index 9d7d721428..f6d30d4b0e 100644 --- a/docs/source/modules/dwn/clip-time-series.rst +++ b/docs/source/modules/dwn/clip-time-series.rst @@ -2,34 +2,34 @@ Clip time series ================ *Download an automatically generated time series from customizable dates as a .pdf file* -.. tip:: +This module allows users to download an automatically generated time series from customizable dates as a :code:`.pdf`. Each mosaic will be represented as a custom square around the point of interest using the band combination selected by the user (ranging in size from 500 m x 500 m to 1000 km x 10000 km). - This article should explain every step to execute the module. However, if you encounter a problem, please `report it <https://github.com/openforis/clip-time-series/issues/new>`_. +.. note:: -This module allows users to download an automatically generated time series from customizable dates as a :code:`.pdf`. Each mosaic will be represented as a custom square around the point of interest using the band combination selected by the user (ranging in size from 500 m x 500 m to 1000 km x 10000 km). + This article should explain every step to execute the module. However, if you encounter a problem, please `report it <https://github.com/openforis/clip-time-series/issues/new>`_. Select file ----------- -First the user needs to select a file, which will be the main input of the module; each page of the final :code:`.pdf` will match a geometric shape of the input. The user can use two types of inputs: +First, select a file to be the main input of the module. Each page of the final :code:`.pdf` will match a geometric shape of the input. The user can use two types of inputs: -- Table file (:code:`.csv`, :code:`.txt`), containing at least coordinates and ID columns -- Shapes (:code:`.geojson`, :code:`.shp`, :code:`.geopackage`), with at least geometry and ID columns +- **Table file** (:code:`.csv`, :code:`.txt`) containing at least coordinates and ID columns +- **Shapes** (:code:`.geojson`, :code:`.shp`, :code:`.geopackage`) with at least geometry and ID columns Table ***** Select the :guilabel:`point` radio button. -The table file can be a :code:`.csv` or :code:`.txt` file. It needs to have at least three columns, including the latitude coordinates, the longitude coordinates, and an ID. There are no restrictions for column names. +The table file can be a :code:`.csv` or :code:`.txt` file. It needs to have at least three columns, including the latitude coordinates, the longitude coordinates and an ID. There are no restrictions for column names. .. attention:: - The table coordinates need to remain unprojected (i.e. in EPSG:4326) + The table coordinates need to remain unprojected (i.e. in EPSG:4326). Select :guilabel:`Table file`. Only the matching file type will be displayed. Navigate through your **SEPAL folders** to find the appropriate table. -Once a file is selected, the widget will try to autopopulate the ID, latitude, and longitude columns. If columns are incorrectly set or if data are missing, select one of the file columns to completely describe the points (x, y, ID). +Once a file is selected, the widget will try to autopopulate the ID, latitude and longitude columns. If columns are incorrectly set or if data are missing, select one of the **File columns** to completely describe the points (x, y, ID). .. thumbnail:: https://raw.githubusercontent.com/openforis/clip-time-series/master/doc/img/input_table.png :alt: input table @@ -64,7 +64,7 @@ The ID column will be used to name the points in the final .pdf. Select it in th .. thumbnail:: https://raw.githubusercontent.com/openforis/clip-time-series/master/doc/img/input_shape.png :alt: input_shape - :title: Input selector using a shapefile dataset. "Name" has been selected as ID column. + :title: Input selector using a shapefile dataset; **Name** has been selected as ID column. :group: clip-time-serie Select :guilabel:`load your pts file` to load the shapes as a geodataframe in the app model and display them on a map. The map will be updated with the selected shapes and zoom in on the AOI. @@ -84,8 +84,8 @@ Drivers Two drivers are available in this module. You can select either: -- a GEE-based computation (images will be retreived from GEE), or -- Planet (images will be retrieved from Planet servers using the user API key). +- **GEE-based computation** (images will be retreived from GEE), or +- **Planet** (images will be retrieved from Planet servers using the user API key). If the user selects :guilabel:`gee`, the panel will ask you to select the satellites to use for thumbnails. Select any satellite imagery from the Landsat family and Sentinel programme. @@ -96,12 +96,12 @@ The best available image is then selected using the following hierarchical order - Landsat 5 - Landsat 7 -If the user selects :guilabel:`planet`, the panel will ask for the Planet API key. +If the user selects :guilabel:`planet`, the pane will ask for the **Planet API key**. Points ****** -The number of points a user wants to display can vary. If the user selects all, then all available points in the provided file will be used. It's also possible to select a subset of them using their ID names. +The number of points a user wants to display can vary. If the user selects all, all available points in the provided file will be used. It's also possible to select a subset of them using their ID names. Bands ***** @@ -110,17 +110,17 @@ Multiple band combinations can be selected: - Using the :code:`gee` driver: - - Red, Green, Blue - - Nir, Red, Green - - Nir, Swir1, Red - - Swir2, Nir, Red - - Swir2, Swir1, Red - - Swir2, Nir, Green + - **Red, Green, Blue** + - **Nir, Red, Green** + - **Nir, Swir1, Red** + - **Swir2, Nir, Red** + - **Swir2, Swir1, Red** + - **Swir2, Nir, Green** - Using the :code:`planet` driver: - - rgb - - cir + - **rgb** + - **cir** Mosaics ******* @@ -138,14 +138,14 @@ Using the :code:`gee` driver, mosaics are yearly cloudless mosaics built on the Using the :code:`planet` driver, three types of mosaics can be selected (and mixed together): -- NICFI bianual mosaics -- NICFI monthly mosaics -- Other (any other mosaics associated with the user API key) +- **NICFI biannual mosaics** +- **NICFI monthly mosaics** +- **Other** (any other mosaics associated with the user API key) Thumbnails ********** -Select a thumbnail size, which will be the minimal size of the thumbnail used. If the shape defined in the first panel is bigger, the software will try to find the smallest square around the shape, centred on its centroid. +Select a thumbnail size, which will be the minimum size of the thumbnail used. If the shape defined in the first pane is bigger, the software will try to find the smallest square around the shape, centred on its centroid. .. attention:: @@ -158,12 +158,12 @@ In the middle of the final image, the software will display a small square to vi If the used dataset is a shapefile, the square will be replaced by shape geometry. -When selecting the validation button, the module provides a summary of the download, which is a warning step to avoid downloading massive numbers of points on incorrectly defined parameters. +When selecting the **Validation** button, the module provides a summary of the download (a warning step to avoid downloading massive numbers of points on incorrectly defined parameters). .. thumbnail:: https://raw.githubusercontent.com/openforis/clip-time-series/master/doc/img/viz_gee.png :alt: viz :group: clip-time-series - :title: An example set of parameters to create a .pdf file; data summary can be found in the orange rectangle + :title: An example set of parameters to create a .pdf file; data summary can be found in the orange rectangle. Export data ----------- @@ -177,7 +177,7 @@ Select the only available button to send your images to GEE or Planet. .. thumbnail:: https://raw.githubusercontent.com/openforis/clip-time-series/master/doc/img/process_loading.png :alt: process_loading :group: clip-time-series - :title: The progress bar of a downloading process + :title: The **Progress** bar of a downloading process .. note:: @@ -204,3 +204,5 @@ Then, the module will present an active link in the green button to a preview of :title: The output preview of a table input using Landsat mosaics .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/clip-time-series/release/doc/en.rst + +.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/clip-time-series/release/doc/en.rst diff --git a/docs/source/modules/dwn/coverage_analysis.rst b/docs/source/modules/dwn/coverage_analysis.rst index c7cb9f1ea4..b6e8ebe348 100644 --- a/docs/source/modules/dwn/coverage_analysis.rst +++ b/docs/source/modules/dwn/coverage_analysis.rst @@ -4,7 +4,9 @@ Coverage analysis tool for optical data This module uses the `sepal_ui <https://github.com/12rambau/sepal_ui>`_ framework and interactive **Voila** dashboard to create maps of cloud-free observations for major optical satellites available on the Google Earth Engine (GEE) platform. -The framework follows the logic of BFAST's countObs and summaryBrick functions as described `here <http://www.loicdutrieux.net/bfastSpatial/#Data_Inventory>`_. For more information about BFAST, see `Schultz et al. (2013) <http://dx.doi.org/10.1109/JSTARS.2015.2477473>`_. +The framework follows the logic of BFAST's countObs and summaryBrick functions, as described `here <http://www.loicdutrieux.net/bfastSpatial/#Data_Inventory>`_ (BFAST refers to Breaks For Additive Season and Trend). + +For more information about BFAST, see `Schultz et al. (2013) <http://dx.doi.org/10.1109/JSTARS.2015.2477473>`_. The three-step process is described in the following sections. @@ -19,17 +21,17 @@ Using the provided **AOI** selector, select an AOI from the available methods. W .. note:: - If a custom AOI from a shape or drawing is selected, you will be able to use it directly. The upload to GEE will be launched in the background. + If a custom AOI from a shape or drawing is selected, you will be able to use it directly (the upload to GEE will be launched in the background). Select dataset parameters ------------------------- To perform BFAST pre-analysis, provide the tool with key parameters: -- **Date range**: the start and end date of your analysis +- **Date range**: the start and end dates of your analysis - **Sensors**: the list of sensors you want to use (Landsat missions and Sentinel-2) - **Tier 2**: Tier 2 images of the Landsat missions (note: this might lead to incorrect results) -- **SR**: whether to use surface reflectance (SR) images (by default, top of atmosphere [TOA]) +- **SR**: whether to use surface reflectance (SR) images (by default, TOA, referring to top of atmosphere) Once all parameters have been chosen, select the button. @@ -44,8 +46,8 @@ Select one of the statistical measures to display in the following list: - cloud-free pixel count - total pixel count (i.e. scene coverage) -- NDVI Median -- NDVI Std. Dev. +- NDVI Median (normalized difference vegetation index median) +- NDVI Std. Dev. (normalized difference vegetation index standard deviation) You can also produce stats on a yearly basis using the provided switch. @@ -58,28 +60,30 @@ You can also produce stats on a yearly basis using the provided switch. Export dataset -------------- -When you're satisifed with the displayed information, it can be exported for further use in GIS software or a GEE process. The tool provides two main exportation options: as an asset (in GEE) or a .tif file (in SEPAL). +When you're satisifed with the displayed information, it can be exported for further use in GIS software or a GEE process. The tool provides two main exportation options: + +- as an asset (in GEE), or +- a .tif file (in SEPAL). Both use the GEE export system and share the same set of parameters: -- statistical measures to export +- **Statistical measures to export** - count of cloud-free observation per pixel - NDVI's median of cloud-free observations - NDVI's std. dev. of cloud-free observations - count for all observations per pixel -- time-period +- **Time period** - full timespan calculation(s) - annual calculation(s) -- scale: the resolution (in metres) to use in the exported GEE file +- **Scale**: the resolution (in metres) to use in the exported GEE file .. figure:: https://raw.githubusercontent.com/BuddyVolly/coverage_analysis/main/doc/img/export.png .. attention:: When exporting the image to SEPAL, you cannot quit the application until the download is finished. - .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/coverage_analysis/release/doc/en.rst diff --git a/docs/source/modules/dwn/cusum.rst b/docs/source/modules/dwn/cusum.rst index 76713ca31e..a25f47d757 100644 --- a/docs/source/modules/dwn/cusum.rst +++ b/docs/source/modules/dwn/cusum.rst @@ -1,7 +1,5 @@ -cusum -===== -*Spatially cumulative sum algorithm for change detection within univariate time series (GPU-powered)* +.. note:: -.. include:: ../_templates/no_module.rst + This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker <https://github.com/openforis/sepal-doc/issues/new?assignees=====&labels=====&template=====documentation-needed.md>`__. .. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst diff --git a/docs/source/modules/dwn/damage_proxy_map.rst b/docs/source/modules/dwn/damage_proxy_map.rst index 271d9c1ddc..b535cd3c71 100644 --- a/docs/source/modules/dwn/damage_proxy_map.rst +++ b/docs/source/modules/dwn/damage_proxy_map.rst @@ -2,11 +2,9 @@ Damage proxy maps ================= *Create damage proxy maps based on the CCD method with Sentinel-1 SLC data* -This module provides a fully-automated workflow for the creation of damage proxy maps based on the method of coherent change detection (CCD) with Sentinel-1 SLC data, as described by `Tay *et al.* (2020) <https://www.nature.com/articles/s41597-020-0443-5>`_. +This module provides a fully automated workflow for the creation of damage proxy maps based on the method of coherent change detection (CCD) with Sentinel-1 SLC data, as described by `Tay et al. (2020) <https://www.nature.com/articles/s41597-020-0443-5>`_ (SLC refers to Single Look Complex). -The output data files consist of the damage proxy map as GeoTiff (*dmp_...tif*) and KMZ (*dmp_...kmz*) files, as well as the raw CCD values in GeoTiff (*CCD_...tif*) and GeoJSON (*CCD_...geojson*) formats. - -The files are found within a newly created folder. The folder name is based on the name of your AOI and the event date. +The output data files consist of the damage proxy map as GeoTiff (*dmp_...tif*) and KMZ (*dmp_...kmz*) files, as well as the raw CCD values in GeoTiff (*CCD_...tif*) and GeoJSON (*CCD_...geojson*) formats. The files are found within a newly created folder. The folder name is based on the name of your AOI and the event date. .. attention:: @@ -20,7 +18,7 @@ The two steps of the process are explained in the following section. Select an AOI ------------- -Using the provided AOI selector, select an AOI of your choice between the different methods available in the tool. We provide three administration descriptions (from Level 0 to Level 2) and three custom shapes (drawn directly on the map or OGR-compatible files). +Using the provided **AOI selector**, select an AOI of your choice between the different methods available in the tool. We provide three administration descriptions (from Level 0 to Level 2) and three custom shapes (drawn directly on the map or OGR-compatible files). .. figure:: https://raw.githubusercontent.com/sepal-contrib/damage_proxy_maps/main/doc/img/aoi_select.png @@ -29,19 +27,16 @@ Using the provided AOI selector, select an AOI of your choice between the differ Parameters ---------- -- Disaster event date: Pick the date where the disaster event happened. -- Copernicus credentials: Provide your Sci-Hub credentials for search and download of the relevant Sentinel-1 scenes. If you do not have an account, register with `Copernicus Sci-Hub <https://scihub.copernicus.eu/>`_. +- **Disaster event date**: Choose the date where the disaster event happened. +- **Copernicus credentials**: Provide your Sci-Hub credentials for searching and downloading relevant Sentinel-1 scenes. If you do not have an account, register with `Copernicus Sci-Hub <https://scihub.copernicus.eu/>`_. -Selecting this button will trigger the full workflow (Note: Some of the steps may take a while, such as downloading and processing, so if you have an unstable internet connection, set the minimum runtime of your instance to two hours; otherwise, stay connected to the SEPAL website by neither closing your browser or browser tab.) +Selecting this button will trigger the full workflow (Note: Some of the steps may take a while, such as downloading and processing, so if you have an unstable internet connection, set the minimum runtime of your instance to two hours; otherwise, stay connected to the SEPAL website by neither closing your browser nor browser tab.) .. note:: - If the processing does not finish, you can rerun the module with the same parameters, and the processing will continue from where it stopped. + If the processing does not finish, you can rerun the module with the same parameters and it will continue from where it stopped. -Once the computation is finished, the result files will be stored in the :code:`module_results/Damage_proxy_map/<aoi name>_<event date>/` folder. +Once the computation has finished, the result files will be stored in the :code:`module_results/Damage_proxy_map/<aoi name>_<event date>/` folder. .. figure:: https://raw.githubusercontent.com/sepal-contrib/damage_proxy_maps/main/doc/img/complete.png - -.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/damage_proxy_maps/release/doc/en.rst - .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/damage_proxy_maps/release/doc/en.rst diff --git a/docs/source/modules/dwn/fcdm.rst b/docs/source/modules/dwn/fcdm.rst index e1b9e9b664..e98492f486 100644 --- a/docs/source/modules/dwn/fcdm.rst +++ b/docs/source/modules/dwn/fcdm.rst @@ -12,11 +12,11 @@ FCDM tool Overview ^^^^^^^^ -The **FCDM** tool supports the detection of forest canopy disturbance from remote sensing satellites, providing indications of forest degradation processes. +The **Forest Canopy Disturbance Monitoring (FCDM)** tool supports the detection of forest canopy disturbance from remote sensing satellites, providing indications of forest degradation processes. -Reporting on forest degradation is required by many tropical countries participating in the programme, Reducing Emissions from Deforestation and Forest Degradation and the role of conservation, sustainable management of forests and enhancement of forest carbon stocks in developing countries (REDD+). However, compared to deforestation, the mapping of forest degradation has proven to be much more challenging technically. In particular, signs of a forest canopy disturbance is less prominent, as it does not result in a change of land cover. +Reporting on forest degradation is required by many tropical countries participating in the REDD+ programme (REDD+ refers to Reducing Emissions from Deforestation and Forest Degradation and the role of conservation, sustainable management of forests and enhancement of forest carbon stocks in developing countries). However, compared to deforestation, the mapping of forest degradation has proven to be much more challenging technically. In particular, signs of a forest canopy disturbance is less prominent, as it does not result in a change of land cover. -The FCDM tool has been developed at the Joint Research Centre (JRC) within the ReCaREDD Project. It uses a change detection approach based on the difference (delta) of the self-referenced "Normalized Burn Ratio" index (Delta-rNBR) (`Langner et al. [2018] <https://doi.org/10.3390/rs10040544>`_), in order to detect forest canopy change over defined periods at the pixel and sub-pixel level. The underlying Delta-rNBR index allows the detection of forest canopy disturbance within tropical (semi-)evergreen forest canopies ("forest remaining forest"), resulting from certain actions, such as tree removal, felling damages, logging trails, and leading. +The **FCDM** tool has been developed at the Joint Research Centre (JRC) within the ReCaREDD Project. It uses a change detection approach based on the difference (delta) of the self-referenced "Normalized Burn Ratio" index (Delta-rNBR) (`Langner et al. [2018] <https://doi.org/10.3390/rs10040544>`_), in order to detect forest canopy change over defined periods at the pixel and sub-pixel level. The underlying Delta-rNBR index allows the detection of forest canopy disturbance within tropical (semi-)evergreen forest canopies ("forest remaining forest"), resulting from certain actions (e.g. tree removal, felling damages, logging trails, and leading). .. thumbnail:: https://forobs.jrc.ec.europa.eu/iforce/images/fcdm_process.jpg :title: Processing steps of the FCDM tool @@ -25,16 +25,16 @@ The FCDM tool has been developed at the Joint Research Centre (JRC) within the R General purpose ^^^^^^^^^^^^^^^ -- detection of all kinds of tree canopy disturbances (natural or human-induced) within evergreen and semi-evergreen forests -- manual screening of data by an experienced human interpreter in order to separate natural disturbances from human disturbances -- near real-time monitoring of possible canopy cover changes +- detection of all kinds of tree canopy disturbances (natural or human-induced) within evergreen and semi-evergreen forests; +- manual screening of data by an experienced human interpreter in order to separate natural disturbances from human disturbances; and +- near real-time (NRT) monitoring of possible canopy cover changes. Citation ^^^^^^^^ Publications, models and data products that make use of this tool must include proper acknowledgement, including citing datasets and presenting the following reference for the source: -- Langner, A., Miettinen, J., Kukkonen, M., Vancutsem, C., Simonetti, D., Vieilledent, G., Verhegghen, A., Gallego, J. & Stibig, H-J. 2018. Towards Operational Monitoring of Forest Canopy Disturbance in Evergreen Rain Forests: A Test Case in Continental Southeast Asia. *Remote Sensing* (10, 4): 544. https://doi.org/10.3390/rs10040544 +- Langner, A., Miettinen, J., Kukkonen, M., Vancutsem, C., Simonetti, D., Vieilledent, G., Verhegghen, A., Gallego, J. & Stibig, H-J. 2018. Towards Operational Monitoring of Forest Canopy Disturbance in Evergreen Rain Forests: A Test Case in Continental Southeast Asia. *Remote Sensing*, 10(4): 544. https://doi.org/10.3390/rs10040544 Contact ^^^^^^^ @@ -50,10 +50,10 @@ Contact Usage ----- -Select an area of interest (AOI) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Select an area of interest +^^^^^^^^^^^^^^^^^^^^^^^^^^ -*Delta-rNBR* will be calculated based on user inputs. The first mandatory input is the AOI. In this step, you’ll have the possibility to choose from a predefined list of administrative layers or use your own datasets. The available options are: +*Delta-rNBR* will be calculated based on user inputs. The first mandatory input is the area of interest (AOI). In this step, you’ll have the possibility to choose from a pre-defined list of administrative layers or use your own datasets. The available options are: **Pre-defined layers** @@ -80,14 +80,14 @@ After choosing the desired area, select the :code:`Select these inputs` button; Workflow parameters ^^^^^^^^^^^^^^^^^^^ -Select :guilabel:`process` to display the process panel. In this section, each parameter you can set in the app to customize your analysis will be described. +Select :guilabel:`process` to display the **Process** pane. In this subsection, we will describe the parameters available in the app to customize your analysis. Select time periods ******************* Selected time periods are periods that will be used as **Reference** and **Analysis** periods. -Use the :code:`datepicker` to select the start date and end date of these time periods. +Use the :code:`datepicker` to select the start and end dates of these time periods. .. thumbnail:: https://raw.githubusercontent.com/12rambau/fcdm/master/doc/img/datepicker-demo.gif :title: Demo of datepicker usage @@ -114,11 +114,11 @@ Sensors The **Sensor** list is updated with the available satellite dataset for the selected time periods. The user is thus forced to select the dates first. -Sensors can be selected in the dropdown menu. This list is only showing satellite datasets that are available for the selected time period. The user needs to select at least one. +Sensors can be selected in the dropdown menu. This list is only showing satellite datasets that are available for the selected time period. Select at least one. .. note:: - Data from Sentinel and Landsat programme cannot be mixed. + Data from Sentinel and Landsat programmes cannot be mixed. .. thumbnail:: https://raw.githubusercontent.com/12rambau/fcdm/master/doc/img/sensor.png :title: Select the Landsat family (L7 and L8) without thresholding L7 data @@ -137,7 +137,7 @@ Value of the cloud buffering used in the cloud masking operation of the FCDM pro Basemap ******* -The FCDM process needs to create a forest/non-forest mask to produce results, which is derived from data provided by the user. +The FCDM process needs to create a **Forest/non-forest** mask to produce results, which is derived from data provided by the user. Three default datasets can be selected: @@ -147,15 +147,15 @@ Three default datasets can be selected: The year is automatically set to the start year of the **Reference** period. -- **TMF**: This mask will be based on the `Tropical Moist Forest product from the JRC<https://forobs.jrc.ec.europa.eu/TMF/gee_tutorial/>`. The user will also need to provide the year of analysis. +- **TMF**: This mask will be based on the `Tropical Moist Forest product from the JRC <https://forobs.jrc.ec.europa.eu/TMF/gee_tutorial/>`. The user will also need to provide the year of analysis. .. tip:: - The year is automatically set to the start year of the **Reference** period. + The year is automatically set to the start year of the **Reference period**. - **No forest map**: There will be no forest masking. -The user can also use any GEE asset by setting it's value in the :code:`textfield` or selecting an image in the raster list. The image needs to be a mask with values of the first band set to: +The user can also use any GEE asset by setting its value in the :code:`textfield` or selecting an image in the **Raster list**. The image needs to be a mask with values of the first band set to: - 0 for non-forest - 1 for forest @@ -167,12 +167,14 @@ The user can also use any GEE asset by setting it's value in the :code:`textfiel Advanced parameters ******************* -These are the advanced parameters of the FCDM process. Please read this section carefully to understand their objectives. +These are the advanced parameters of the FCDM process. + +Please read this section carefully to understand their objectives. -Self referencing +Self-referencing ################ -For the self-referencing kernel, set one parameter, **Radius of circular kernel**, which will define the buffer used for the self-referencing operation (in metres; by default, set to: code:`150`). +For the self-referencing kernel, set one parameter – **Radius of circular kernel** – which will define the buffer used for the self-referencing operation (in metres; by default, set to: code:`150`). DDR ### @@ -196,12 +198,12 @@ Compute Select :guilabel:`Run FCDM Computation` to launch the process in GEE. The layers will automatically be displayed on the visualization map. -.. attention:: +.. note:: This operation takes very little time since the actual computation is done when the map refreshes itself. .. thumbnail:: https://raw.githubusercontent.com/12rambau/fcdm/master/doc/img/run_fcdm.png - :title: The run panel + :title: The **Run** pane :group: fcdm Map @@ -210,7 +212,7 @@ Map In this map, different layers of the computation will be displayed: - the forest mask (in green) -- the delta-rNBR (in red, where there are disturbances) +- the Delta-rNBR (in red, where there are disturbances) - the AOI (in light blue) .. note:: @@ -219,7 +221,7 @@ In this map, different layers of the computation will be displayed: .. attention:: - Every time the user zooms in, GEE will recompute all values on the fly. This operation is time consuming, so be patient. The forest mask is a simple image; when the delta-rNBR finishes refreshing, it will be perfectly aligned with the image. If it's blurry, GEE is still computing. + Every time the user zooms in, GEE will recompute all values on the fly. This operation is time consuming, so be patient. The forest mask is a simple image; when the Delta-rNBR finishes refreshing, it will be perfectly aligned with the image (if it's blurry, GEE is still computing). .. thumbnail:: https://raw.githubusercontent.com/12rambau/fcdm/master/doc/img/result_map.png :title: Vizualization of the Sandan province with all default parameters with the reference period of 2019 and 2020 analysis @@ -228,7 +230,7 @@ In this map, different layers of the computation will be displayed: Download images ^^^^^^^^^^^^^^^ -Select the **cloud** in the upper-left corner of the map to open the following pop-up window, where you will be able to customize exportation parameters. +Select the cloud in the upper-left corner of the map to open the following pop-up window, where you will be able to customize exportation parameters. .. thumbnail:: https://raw.githubusercontent.com/12rambau/fcdm/master/doc/img/export_panel.png :title: The downloading pop-up window @@ -238,8 +240,8 @@ Select the **cloud** in the upper-left corner of the map to open the following p - **Filename prefix**: The prefix used to describe the file (in SEPAL) or asset (in GEE) (by default, :code:`<aoi_anme>_<referenced perdiod year>_<analysis_period_year`); it can be customized to anything, but every non-UTF8 character will automatically be changed to "_". - **Select dataset**: The user can export any of the following datasets: :code:`Delta-rNBR`, :code:`Delta-rNBR wihthout DDR`, :code:`anaysis rNBR`, :code:`reference rNBR`, and :code:`forest mask` (by default, :code:`Delta-rNBR`). -- **Scale**: The user can select any exportation scale (from 10 metres to 300 metres). -- **Select export method**: as a SEPAL file or GEE asset +- **Scale**: The user can select any exportation scale (from 10–300 m). +- **Select export method**: SEPAL file or GEE asset .. attention:: @@ -248,5 +250,4 @@ Select the **cloud** in the upper-left corner of the map to open the following p If you choose to export to GEE, the process can be monitored from the GEE **Task manager**. Select :guilabel:`Apply` to start the exportation process. - .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/fcdm/release/doc/en.rst diff --git a/docs/source/modules/dwn/gee-source.rst b/docs/source/modules/dwn/gee-source.rst index 89ec7feaa7..b1a9a00155 100644 --- a/docs/source/modules/dwn/gee-source.rst +++ b/docs/source/modules/dwn/gee-source.rst @@ -20,3 +20,5 @@ Here is an example computing the `GLAD_S2 application <https://glad.earthengine. :group: module-gee-source .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/gee_source/release/doc/en.rst + +.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/gee_source/release/doc/en.rst diff --git a/docs/source/modules/dwn/geo_processing.rst b/docs/source/modules/dwn/geo_processing.rst index 683df798d5..c2edbca606 100644 --- a/docs/source/modules/dwn/geo_processing.rst +++ b/docs/source/modules/dwn/geo_processing.rst @@ -1,6 +1,5 @@ -GEO-processing -============== +.. note:: -.. include:: ../_templates/no_module.rst + This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker <https://github.com/openforis/sepal-doc/issues/new?assignees==============&labels==============&template==============documentation-needed.md>`__. .. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst diff --git a/docs/source/modules/dwn/gfc_wrapper_R.rst b/docs/source/modules/dwn/gfc_wrapper_R.rst index d27de1af36..079358e816 100644 --- a/docs/source/modules/dwn/gfc_wrapper_R.rst +++ b/docs/source/modules/dwn/gfc_wrapper_R.rst @@ -1,6 +1,5 @@ -GFC-wrapper R -============= +.. note:: -.. include:: ../_templates/no_module.rst + This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker <https://github.com/openforis/sepal-doc/issues/new?assignees=============&labels=============&template=============documentation-needed.md>`__. .. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst diff --git a/docs/source/modules/dwn/gfc_wrapper_python.rst b/docs/source/modules/dwn/gfc_wrapper_python.rst index 94ea8dd1fb..2e8986be5d 100644 --- a/docs/source/modules/dwn/gfc_wrapper_python.rst +++ b/docs/source/modules/dwn/gfc_wrapper_python.rst @@ -2,24 +2,24 @@ Forest change mask ================== *Base forest mask and fragmentation tool* -This application allows users to: +As a base forest mask and fragmentation tool, this application allows users to: - define an area of interest (AOI); - retrieve tree cover change data from the `Hansen et al. (2013) dataset <https://science.sciencemag.org/content/342/6160/850>`_; and - combine layers to produce a forest change map for a given canopy cover threshold. -Background information on global forest change (GFC) ----------------------------------------------------- +Background information on Global Forest Change +---------------------------------------------- -GFC provides global layers of information on tree cover and tree cover change since 2000, at 30 metre spatial resolution, consisting of: +Global forest change (GFC) provides global layers of information on tree cover and tree cover change since 2000 (at 30 m spatial resolution), consisting of: -- tree canopy cover for the year 2000 (treecover2000); -- global forest cover gain for 2000–2012 (gain); and -- year of gross forest cover loss event (lossyear). +- tree canopy cover for the year 2000 (**treecover2000**); +- global forest cover gain for 2000–2012 (**gain**); and +- year of gross forest cover loss event (**lossyear**). -For more information please refer to: +For more information, please refer to: -- Hansen, M.C. et al. 2013. High-Resolution Global Maps of 21st-Century Forest Cover Change. *Science* 342: 850–53. https://science.sciencemag.org/content/342/6160/850 +- Hansen, M.C. *et al.* 2013. High-Resolution Global Maps of 21st-Century Forest Cover Change. *Science*, 342: 850–53. https://science.sciencemag.org/content/342/6160/850 - University of Maryland, `Global forest change dataset <http://earthenginepartners.appspot.com/science-2013-global-forest>`_ .. thumbnail:: https://earthengine.google.com/static/images/hansen.jpg @@ -34,7 +34,9 @@ Usage Select an AOI ^^^^^^^^^^^^^ -Using the provided **AOI selector**, choose an AOI of your choice between different methods available in the tool. We provide three administrative descriptors (from level 0 to 2) and three custom shapes (drawn directly on the map, asset or shapefile). +Using the provided **AOI selector**, choose an AOI of your choice between different methods available in the tool. + +We provide three administrative descriptors (from level 0 to 2) and three custom shapes (drawn directly on the map, asset, or shapefile). .. thumbnail:: https://raw.githubusercontent.com/openforis/gfc_wrapper_python/master/doc/img/select_aoi.png :group: gfc_wrapper @@ -49,10 +51,10 @@ GFC visualization Two parameters are available to select the data: -- Use the slider to change the threshold to consider between forest and non-forest areas. Once you've chosen a value, select :code:`update map` to update the interactive map layers. +- Use the slider to change the threshold to consider (between forest and non-forest areas). Once you've chosen a value, select :code:`update map` to update the interactive map layers. - Use the range slider to move the dates to consider in the analysis. -The new layer is a combination of GFC layers to produce a forest change map for a given canopy cover threshold. Only pixels that have tree cover above the threshold will be considered forest. Every tree-covered pixel prior to the start date will be considered as **non forest** and every changed that occurs after the end date will be considered **stable forest**. The legend is displayed in the map. You're allowed to zoom in and out; the data will be dynamically recomputed in GEE. +The new layer is a combination of GFC layers to produce a forest change map for a given canopy cover threshold. Only pixels that have tree cover above the threshold will be considered forest. Every tree-covered pixel prior to the start date will be considered as **non-forest** and every changed that occurs after the end date will be considered **stable forest**. The legend is displayed in the map. You're allowed to zoom in and out; the data will be recomputed dynamically in GEE. When changing the value of the threshold or the dates, a new layer will be added to the map, so you can compare and select the most appropriate parameters for your analysis. @@ -74,7 +76,9 @@ Three results will be produced: - the distribution of each defined zone (:code:`..._gfc_stat.csv`); and - the legend of the raster (:code:`..._gfc_legend.pd```). -You can download these three files directly from the interface using the green buttons. The files are named after your parameters, following this convention: :code:`<threshold>_<start_date>_<end_date>_<file>.<suffix>` +Download these three files directly from the interface using the green buttons. + +The files are named after your parameters, following this convention: :code:`<threshold>_<start_date>_<end_date>_<file>.<suffix>` .. attention:: @@ -85,5 +89,4 @@ You can download these three files directly from the interface using the green b .. thumbnail:: https://raw.githubusercontent.com/openforis/gfc_wrapper_python/master/doc/img/results.png :group: gfc_wrapper - .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/gfc_wrapper_python/release/doc/en.rst diff --git a/docs/source/modules/dwn/gwb.rst b/docs/source/modules/dwn/gwb.rst index b484283eef..165307640c 100644 --- a/docs/source/modules/dwn/gwb.rst +++ b/docs/source/modules/dwn/gwb.rst @@ -2,25 +2,25 @@ GWB === *Suite of various geospatial image analysis tools* -This article of SEPAL documentation provides usage instructions for the image analysis module **GWB** (`GuidosToolbox Workbench <https://forest.jrc.ec.europa.eu/en/activities/lpa/gwb/>`_) implemented as a Jupyter dashboard on the SEPAL platform. +This article provides usage instructions for the image analysis module **GuidosToolbox Workbench (GWB)**, implemented as a Jupyter dashboard on the SEPAL platform (for more information on GWB), see `<https://forest.jrc.ec.europa.eu/en/activities/lpa/gwb/>`_). Introduction ------------ -In 2008, `GuidosToolbox (`GTB <https://forest.jrc.ec.europa.eu/en/activities/lpa/gtb/>`_) (`Vogt and Riitters, 2017 <https://doi.org/10.1080/22797254.2017.1330650>`_) was developed as a graphical user interface (GUI) to the Morphological Spatial Pattern Analysis `(MSPA <https://forest.jrc.ec.europa.eu/en/activities/lpa/mspa/>`_) of raster data (`Soille and Vogt, 2009 <https://doi.org/10.1016/j.patrec.2008.10.015>`_). +In 2008, `GuidosToolbox (GTB) <https://forest.jrc.ec.europa.eu/en/activities/lpa/gtb/>`_) (Vogt and Riitters, 2017) was developed as a graphical user interface (GUI) to the `Morphological Spatial Pattern Analysis (MSPA) <https://forest.jrc.ec.europa.eu/en/activities/lpa/mspa/>`_ of raster data (Soille and Vogt, 2009). -GTB has since been enhanced with numerous modules for analysis of landscape objects, patterns, and networks, as well as specialized modules for assessing fragmentation and restoration. +GTB has since been enhanced with numerous modules for analysis of landscape objects, patterns and networks, as well as specialized modules for assessing fragmentation and restoration. -GWB provides the most popular GTB modules as a set of command-line applications for 64bit Linux systems. +**GWB** provides the most popular GTB modules as a set of command-line applications for 64bit Linux systems. -In this article, we describe the implementation of GWB on the SEPAL platform as a Jupyter dashboard based on the `GWB CLI tool <https://docs.sepal.io/en/latest/cli/gwb.html>`_. +In this article, we describe the implementation of **GWB** on the SEPAL platform as a Jupyter dashboard based on the `GWB CLI tool <https://docs.sepal.io/en/latest/cli/gwb.html>`_. Presentation ^^^^^^^^^^^^ To launch the app, `register to SEPAL <https://docs.sepal.io/en/latest/setup/register.html>`_. -Then, navigate to the SEPAL **Apps** dashboard (purple wrench icon in the left panel). +Then, navigate to the SEPAL **Apps** dashboard (purple wrench icon in the left pane). Finally, search for and select **GWB ANALYSIS**. @@ -28,7 +28,9 @@ Finally, search for and select **GWB ANALYSIS**. :title: SEPAL dashboard :group: gwb-module -The application should launch itself and display the **About** section. Select the tool you want to use. +The application should launch itself and display the **About** section. + +Select the tool you want to use. .. note:: @@ -39,7 +41,7 @@ The application should launch itself and display the **About** section. Select t :group: gwb-module This licence needs to be accepted to use the **GWB** modules. It is also available in the :code:`Licence` section of the app. - If you don't want to accept the licence, close the **App** tab. + If you don't want to accept the licence, close the app tab. Usage ^^^^^ @@ -49,11 +51,11 @@ General structure The application is structured as follows: -On the left side you will find a navigation drawer that you can open and close using the :btn:`<fa-solid fa-ellipsis-vertical>` (upper-left side of the window). +On the left, there is a navigation drawer that you can open and close using the :btn:`<fa-solid fa-ellipsis-vertical>` (upper-left side of the window). .. tip:: - On small devices such as tablets or phones, the navigation drawer will be hidden by default. Select the :btn:`<fa-solid fa-ellipsis-vertical>` (upper-left side of the window) to display the full extent of the app. + On small devices such as tablets or phones, the navigation drawer will be hidden by default. Select the :btn:`<fa-solid fa-ellipsis-vertical>` (upper-left side) to display the full extent of the app. .. thumbnail:: https://raw.githubusercontent.com/12rambau/gwb/master/doc/img/small_device_without_menu.png :title: Small screen without drawer @@ -65,7 +67,7 @@ On the left side you will find a navigation drawer that you can open and close u :width: 49% :group: gwb-module -Each name in the list corresponds to one **GWB** module, presented separately in the following sections. By selecting a name, the panels relative to the function will be displayed. +Each name in the list corresponds to one **GWB** module, presented separately in the following sections. By selecting a name, the panes relative to the function will be displayed. .. thumbnail:: https://raw.githubusercontent.com/12rambau/gwb/master/doc/img/landing.png :title: Presentation of the structure @@ -91,7 +93,7 @@ In the next section, each module and its specificities will be described. Modules ------- -Each module is presented individually in this article. You can directly jump to the module of interest by selecting the related link under the **Modules** section in the right panel of this page – the documentation will guide you through the respective processing steps. +Each module is presented individually in this article. You can directly jump to the module of interest by selecting the related link under the **Modules** section in the right pane of this page – the documentation will guide you through the respective processing steps. Accounting (ACC) ^^^^^^^^^^^^^^^^ @@ -103,7 +105,7 @@ Set up the input image .. tip:: - You can use the default dataset to test the module. Select the :code:`Download test dataset` button on the top of the second panel to add the following files to your :code:`downloads` folder: + You can use the default dataset to test the module. Select the :code:`Download test dataset` button on the top of the second pane to add the following files to your :code:`downloads` folder: - :code:`example.tif`: 0 bytes - Missing, 1 byte - Background, 2 bytes - Foreground - :code:`clc3class.tif`: 1 byte - Agriculture, 2 bytes - Natural, 3 bytes - Developed @@ -114,7 +116,7 @@ Set up the input image Once the files are downloaded, follow the normal process using the :code:`downloads/example.tif` file (two classes). -The first step requires reclassifying your image. Using the **Reclassifying** panel, select your image in your SEPAL folder. +The first step requires reclassifying your image. Using the **Reclassifying** pane, select your image in your **SEPAL folders**. .. attention:: @@ -124,10 +126,10 @@ The dropdown menus will list the discrete values of your raster input image. Select each class in your image and place them in one of the following categories: -- background -- foreground -- special background 1 (optional) -- special background 2 (optional) +- **background** +- **foreground** +- **special background 1** (optional) +- **special background 2** (optional) Every class that is not set to a reclassifying category will be considered "missing data" (0 byte). @@ -199,7 +201,7 @@ Two options are available: Run the analysis """""""""""""""" -Once your parameters are set, launch the analysis. The blue rectangle will display information about the computation. Upon completion, it will turn green and display the computation log. +Once your parameters are set, launch the analysis. The blue rectangle will display information about the computation. Upon completion, it will turn green and display the **Computation log**. .. thumbnail:: https://raw.githubusercontent.com/12rambau/gwb/master/doc/img/acc_results.png :title: Information logs @@ -214,7 +216,7 @@ The resulting files are stored in the folder :code:`module_results/gwb/acc/`. Fo .. attention:: - If the rectangle turns red, carefully read the information in the log. For example, your current instance may be too small to handle the file you want to analyse. In this case, close the app, open a bigger instance, and run your analysis again. + If the rectangle turns red, carefully read the information in the log. For example, your current instance may be too small to handle the file you want to analyse. In this case, close the app, open a bigger instance and run your analysis again. Here is the result of the computation using the default parameters on the :code:`example.tif` file. @@ -235,7 +237,7 @@ Set up the input image .. tip:: - You can use the default dataset to test the module. Select the :code:`Download test dataset` button on the top of the second panel to add the following files to your :code:`downloads` folder: + You can use the default dataset to test the module. Select the :code:`Download test dataset` button on the top of the second pane to add the following files to your :code:`downloads` folder: - :code:`example.tif`: 0 bytes - Missing, 1 byte - Background, 2 bytes - Foreground - :code:`clc3class.tif`: 1 byte - Agriculture, 2 bytes - Natural, 3 bytes - Developed @@ -246,7 +248,7 @@ Set up the input image Once the files are downloaded, follow the normal process using the :code:`downloads/example.tif` file (two classes). -The first step requires reclassifying your image. Using the **Reclassifying** panel, select the image in your **SEPAL folder**. +The first step requires reclassifying your image. Using the **Reclassifying** pane, select the image in your **SEPAL folder**. .. attention:: @@ -254,8 +256,8 @@ The first step requires reclassifying your image. Using the **Reclassifying** pa The dropdown menus will list the discrete values of your raster input image. Select each class in your image and place them in one of the following categories: -- background -- foreground +- **background** +- **foreground** Every class that is not set to a reclassifying category will be considered "missing data" (0 bytes). @@ -285,7 +287,7 @@ You will need to select parameters for your computation: Foreground connectivity ####################### -This sets the foreground connectivity of your analysis. Specifically, +This sets the foreground connectivity of your analysis. Specifically: - 8 neighbors (default) will use every pixel in the vicinity (including diagonals) - 4 neighbors will only use the vertical and horizontal one @@ -322,7 +324,7 @@ The resulting files are stored in the folder :code:`module_results/gwb/dist/`. F .. attention:: - If the rectangle turns red, carefully read the information in the log. For example, your current instance may be too small to handle the file you want to analyse. In this case, close the app, open a bigger instance, and run your analysis again. + If the rectangle turns red, carefully read the information in the log. For example, your current instance may be too small to handle the file you want to analyse. In this case, close the app, open a bigger instance and run your analysis again. Here is the result of the computation using the default parameters on the :code:`example.tif` file. @@ -337,20 +339,20 @@ Here is the result of the computation using the default parameters on the :code: Forest area density (FAD) ^^^^^^^^^^^^^^^^^^^^^^^^^ -This module will conduct the **fragmentation** analysis at **five fixed observation scales**. +This module will conduct the **Fragmentation** analysis at **five fixed observation scales**. -Since forest fragmentation is scale-dependent, fragmentation is reported at five observation scales, allowing different observers to make their own choice about scales and threshold of concern. +Since forest fragmentation is scale-dependent, fragmentation is reported at five observation scales, allowing different observers to make their own choice about scales and threshold of concern. The change of fragmentation across different observation scales provides additional information of interest. -Fragmentation is measured by determining forest area density (**FAD**) within a shifting, local neighbourhood. It can be measured at pixel or patch level. The results are spatially explicit maps and tabular summary statistics. Details on the methodology and input/output options can be found in the `Fragmentation product sheet <https://ies-ows.jrc.ec.europa.eu/gtb/GTB/psheets/GTB-Fragmentation-FADFOS.pdf>`_. +Fragmentation is measured by determining forest area density (**FAD**) within a shifting, local neighbourhood. It can be measured at pixel or patch level. The results are spatially explicit maps and tabular summary statistics (details on the methodology and input/output options can be found in the `Fragmentation product sheet <https://ies-ows.jrc.ec.europa.eu/gtb/GTB/psheets/GTB-Fragmentation-FADFOS.pdf>`_). Set up the input image """""""""""""""""""""" .. tip:: - You can use the default dataset to test the module. Select the :code:`Download test dataset` button on the top of the second panel, which will add the following files to your :code:`downloads` folder: + You can use the default dataset to test the module. Select the :code:`Download test dataset` button on the top of the second pane, which will add the following files to your :code:`downloads` folder: - :code:`example.tif`: 0 bytes - Missing, 1 byte - Background, 2 bytes - Foreground - :code:`clc3class.tif`: 1 byte - Agriculture, 2 bytes - Natural, 3 bytes - Developed @@ -361,7 +363,7 @@ Set up the input image Once the files are downloaded, follow the normal process using the :code:`downloads/example.tif` file (two classes). -The first step requires reclassifying your image. Using the **Reclassifying** panel, select the image in your **SEPAL folder**. +The first step requires reclassifying your image. Using the **Reclassifying** pane, select the image in your **SEPAL folders**. .. attention:: @@ -427,14 +429,14 @@ Options Three computation options are available: -- FAD: per-pixel density, color-coded into 6 fragmentation classes -- FAD-APP2: average per-patch density, color-coded into 2 classes -- FAD-APP5: average per-patch density, color-coded into 5 classes +- **FAD**: per-pixel density, color-coded into 6 fragmentation classes +- **FAD-APP2**: average per-patch density, color-coded into 2 classes +- **FAD-APP5**: average per-patch density, color-coded into 5 classes Run the analysis """""""""""""""" -Once your parameters are all set you can launch the analysis. The blue rectangle will display information about the computation. Upon completion, it will turn green and display the computation log. +Once your parameters are all set, you can launch the analysis. The blue rectangle will display information about the computation. Upon completion, it will turn green and display the **Computation** log. .. thumbnail:: https://raw.githubusercontent.com/12rambau/gwb/master/doc/img/fad_results.png :title: Information logs @@ -467,14 +469,16 @@ Here is the result of the computation using the default parameters on the :code: Fragmentation (FRAG) ^^^^^^^^^^^^^^^^^^^^ -This module will conduct the **Fragmentation** analysis at a **user-selected observation scale**. This module and its option are similar to :code:`fad`, but allow the user to specify a single (or multiple) specific observation scale. The results are spatially explicit maps and tabular summary statistics. Details on the methodology and input/output options can be found in the `Fragmentation product sheet <https://ies-ows.jrc.ec.europa.eu/gtb/GTB/psheets/GTB-Fragmentation-FADFOS.pdf>`_. +This module will conduct the **Fragmentation** analysis at a **user-selected observation scale**. + +This module and its option are similar to :code:`fad`, but allow the user to specify a single (or multiple) specific observation scale. The results are spatially explicit maps and tabular summary statistics. Details on the methodology and input/output options can be found in the `Fragmentation product sheet <https://ies-ows.jrc.ec.europa.eu/gtb/GTB/psheets/GTB-Fragmentation-FADFOS.pdf>`_. Set up the input image """""""""""""""""""""" .. tip:: - You can use the default dataset to test the module. Select the :code:`Download test dataset` button on the top of the second panel, which will add the following files to your :code:`downloads` folder: + You can use the default dataset to test the module. Select the :code:`Download test dataset` button on the top of the second pane, which will add the following files to your :code:`downloads` folder: - :code:`example.tif`: 0 bytes - Missing, 1 byte - Background, 2 bytes - Foreground - :code:`clc3class.tif`: 1 byte - Agriculture, 2 bytes - Natural, 3 bytes - Developed @@ -485,7 +489,7 @@ Set up the input image Once the files are downloaded, follow the normal process using the :code:`downloads/example.tif` file (two classes). -The first step requires reclassifying your image. Using the **Reclassifying** panel, select the image in your **SEPAL folder**. +The first step requires reclassifying your image. Using the **Reclassifying** pane, select the image in your **SEPAL folders**. .. attention:: @@ -529,7 +533,7 @@ You will need to select parameters for your computation: - Spatial pixel resolution: 25 - Computation precision: float-precision - Window size: 23 - - Options: fragmentation at pixel or at patch level with various number of color-coded classes + - Options: fragmentation at pixel- or patch- level with various number of color-coded classes Foreground connectivity ####################### @@ -567,7 +571,7 @@ Four computation options are available: Run the analysis """""""""""""""" -Once your parameters are all set, you can launch the analysis. The blue rectangle will display information about the computation. Upon completion, it will turn green and display the computation log. +Once your parameters are all set, you can launch the analysis. The blue rectangle will display information about the computation. Upon completion, it will turn green and display the **Computation** log. .. thumbnail:: https://raw.githubusercontent.com/12rambau/gwb/master/doc/img/frag_results.png :title: Information logs @@ -583,9 +587,9 @@ The resulting files are stored in the folder :code:`module_results/gwb/frag/`. F .. attention:: - If the rectangle turns red, carefully read the information in the log. For example, your current instance may be too small to handle the file you want to analyse. In this case, close the app, open a bigger instance, and run your analysis again. + If the rectangle turns red, carefully read the information in the log. For example, your current instance may be too small to handle the file you want to analyse. In this case, close the app, open a bigger instance and run your analysis again. -Here is the result of the computation using the FAD-APP2 option on the :code:`example.tif` file: +Here is the result of the computation using the **FAD-APP2** option on the :code:`example.tif` file: .. thumbnail:: https://raw.githubusercontent.com/openforis/sepal-doc/master/docs/source/img/cli/gwb/example_fad-app2_23.png :width: 50% @@ -605,7 +609,7 @@ Set up the input image .. tip:: - You can use the default dataset to test the module. Select the :code:`Download test dataset` button on the top of the second panel, which will add the following files to your :code:`downloads` folder: + You can use the default dataset to test the module. Select the :code:`Download test dataset` button on the top of the second pane, which will add the following files to your :code:`downloads` folder: - :code:`example.tif`: 0 bytes - Missing, 1 byte - Background, 2 bytes - Foreground - :code:`clc3class.tif`: 1 byte - Agriculture, 2 bytes - Natural, 3 bytes - Developed @@ -616,7 +620,7 @@ Set up the input image Once the files are downloaded, follow the normal process using the :code:`downloads/clc3class.tif` file (three classes). -The first step requires reclassifying your image. Using the **Reclassifying** panel, select the image in your **SEPAL folder**. +The first step requires reclassifying your image. Using the **Reclassifying** pane, select the image in your **SEPAL folders**. .. attention:: @@ -658,7 +662,7 @@ Set the square window size (in pixels). It should be an odd number in [3, 5, ... obs_scale = (pixres * kdim)^2 / 10000 -with +Also note the following: - :math:`obs_scale` in hectares - :math:`pixres` in metres @@ -667,7 +671,7 @@ with Run the analysis """""""""""""""" -Once your parameters are all set, you can launch the analysis. The blue rectangle will display information about the computation. Upon completion, it will turn green and display the computation log. +Once your parameters are all set, you can launch the analysis. The blue rectangle will display information about the computation. Upon completion, it will turn green and display the **Computation log**. .. thumbnail:: https://raw.githubusercontent.com/12rambau/gwb/master/doc/img/lm_results.png :title: Information logs @@ -686,7 +690,7 @@ The resulting files are stored in the folder :code:`module_results/gwb/lm/`. For .. attention:: - If the rectangle turns red, carefully read the information in the log. For example, your current instance may be too small to handle the file you want to analyse. In this case, close the app, open a bigger instance, and run your analysis again. + If the rectangle turns red, carefully read the information in the log. For example, your current instance may be too small to handle the file you want to analyse. In this case, close the app, open a bigger instance and run your analysis again. Here is the result of the computation using the default parameters on the :code:`clc3classes.tif` file: @@ -712,7 +716,7 @@ Set up the input image .. tip:: - You can use the default dataset to test the module. Select the :code:`Download test dataset` button on the top of the second panel, which will add the following files to your :code:`downloads` folder: + You can use the default dataset to test the module. Select the :code:`Download test dataset` button on the top of the second pane, which will add the following files to your :code:`downloads` folder: - :code:`example.tif`: 0 byte - Missing, 1 byte - Background, 2 bytes - Foreground - :code:`clc3class.tif`: 1 byte - Agriculture, 2 bytes - Natural, 3 bytes - Developed @@ -723,11 +727,11 @@ Set up the input image Once the files are downloaded, follow the normal process using the :code:`downloads/example.tif` file (two classes). -The first step requires reclassifying your image. Using the **Reclassifying** panel, select the image in your **SEPAL folder**. +The first step requires reclassifying your image. Using the **Reclassifying** pane, select the image in your **SEPAL folders**. .. attention:: - If the image is on your local computer and not in your SEPAL folders, see `Exchange files with SEPAL <https://docs.sepal.io/en/latest/setup/filezilla.html>`_. + If the image is on your local computer and not in your **SEPAL folders**, see `Exchange files with SEPAL <https://docs.sepal.io/en/latest/setup/filezilla.html>`_. The dropdown menus will list the discrete values of your raster input image. Select each class in your image and place them in one of the following categories: @@ -779,7 +783,7 @@ This sets the foreground connectivity of your analysis: Edge width ########## -Define the width (measured in pixels) of the core-boundaries (Edges and Perforations). +Define the width (measured in pixels) of the core-boundaries (edges and perforations). Transition ########## @@ -818,7 +822,7 @@ The resulting files are stored in the folder :code:`module_results/gwb/mspa/`. F .. attention:: - If the rectangle turns red, carefully read the information in the log. For example, your current instance may be too small to handle the file you want to analyse. In this case, close the app, open a bigger instance, and run your analysis again. + If the rectangle turns red, carefully read the information in the log. For example, your current instance may be too small to handle the file you want to analyse. In this case, close the app, open a bigger instance and run your analysis again. Here is the result of the computation using the default parameters on the :code:`example.tif` file. @@ -833,18 +837,18 @@ Here is the result of the computation using the default parameters on the :code: Density, Contagion or Adjacency Analysis (P223) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -This module will conduct the **Density** (P2), **Contagion** (P22) or **Adjacency** (P23) analysis of foreground (**FG**) objects at a user-selected observation scale (`Riitters et al., 2000 <https://www.srs.fs.usda.gov/pubs/ja/ja_riitters006.pdf>`_). +This module will conduct the **Density** (P2), **Contagion** (P22) or **Adjacency** (P23) analysis of foreground (**FG**) objects at a user-selected observation scale (Riitters *et al.*, 2000). The results are spatially explicit maps and tabular summary statistics. -The classification is determined by measurements of forest amount (P2) and connectivity (P22) within the neighbourhood that is centred on a subject forest pixel. P2 is the probability that a pixel in the neighborhood is forest; P22 is the probability that a pixel next to a forest pixel is also forest. +The classification is determined by measurements of forest amount (P2) and connectivity (P22) within the neighbourhood that is centred on a subject forest pixel. P2 is the probability that a pixel in the neighbourhood is forest; P22 is the probability that a pixel next to a forest pixel is also forest. Set up the input image """""""""""""""""""""" .. tip:: - You can use the default dataset to test the module. Select the :code:`Download test dataset` button on the top of the second panel, which will add the following files to your :code:`downloads` folder: + You can use the default dataset to test the module. Select the :code:`Download test dataset` button on the top of the second pane, which will add the following files to your :code:`downloads` folder: - :code:`example.tif`: 0 byte - Missing, 1 byte - Background, 2 bytes - Foreground - :code:`clc3class.tif`: 1 byte - Agriculture, 2 bytes - Natural, 3 bytes - Developed @@ -855,11 +859,11 @@ Set up the input image Once the files are downloaded, follow the normal process using the :code:`downloads/example.tif` file (two classes). -The first step requires reclassifying your image. Using the **Reclassifying** panel, select the image in your **SEPAL folder**. +The first step requires reclassifying your image. Using the **Reclassifying** pane, select the image in your **SEPAL folders**. .. attention:: - If the image is on your local computer but not in your **SEPAL folders**, consider reading `Exchange files with SEPAL <https://docs.sepal.io/en/latest/setup/filezilla.html>`_. + If the image is on your local computer but not in your **SEPAL folders**, see `Exchange files with SEPAL <https://docs.sepal.io/en/latest/setup/filezilla.html>`_. The dropdown menus will list the discrete values of your raster input image. Select each class in your image and place them in one of the following categories: @@ -903,7 +907,7 @@ Set the square window size (in pixels). It should be an odd number in [3, 5, ... obs_scale = (pixres * kdim)^2 / 10000 -with +Also note that: - :math:`obs_scale` in hectares - :math:`pixres` in metres @@ -917,9 +921,9 @@ Set the precision used to compute your image. **Float precision** (default) will Algorithm ######### -The **P223** module can run: **FG-Density** (P2), **FG-Contagion** (P22), or **FG-Adjacency** (P23) +The **P223** module can run: **FG-Density** (P2), **FG-Contagion** (P22), or **FG-Adjacency** (P23). -**P223** will provide a color-coded image showing [0,100]% for either **FG-Density**, **FG-Contagion**, or **FG-Adjacency** masked for the foreground cover. Use the alternative options to obtain the original spatcon output without normalization, masking, or color-coding. +**P223** will provide a color-coded image showing [0,100]% for either **FG-Density**, **FG-Contagion**, or **FG-Adjacency** masked for the foreground cover. Use the alternative options to obtain the original spatcon output without normalization, masking or color-coding. .. tip:: @@ -947,7 +951,7 @@ The options are displayed with the following names in the dropdown menu: Run the analysis """""""""""""""" -Once your parameters are set, you can launch the analysis. The blue rectangle will display information about the computation. Upon completion, it will turn green and display the computation log. +Once your parameters are set, you can launch the analysis. The blue rectangle will display information about the computation. Upon completion, it will turn green and display the **Computation log**. .. thumbnail:: https://raw.githubusercontent.com/12rambau/gwb/master/doc/img/p223_results.png :title: Information logs @@ -961,7 +965,7 @@ The resulting files are stored in the folder :code:`module_results/gwb/p223/`. F .. attention:: - If the rectangle turns red, carefully read the information in the log. For example, your current instance may be too small to handle the file you want to analyse. In this case, close the app, open a bigger instance, and run your analysis again. + If the rectangle turns red, carefully read the information in the log. For example, your current instance may be too small to handle the file you want to analyse. In this case, close the app, open a bigger instance and run your analysis again. Here is the result of the computation using the P2 (Foreground-Density) option on the :code:`example.tif` file. @@ -972,7 +976,7 @@ Here is the result of the computation using the P2 (Foreground-Density) option o Parcellation (PARC) ^^^^^^^^^^^^^^^^^^^ -This module will conduct the **Parcellation** analysis, providing a statistical summary file (.txt/.csv format) with details for each unique class found in the image, as well as the full image content: class value, total number of objects, total area, and degree of parcellation. +This module will conduct the **Parcellation** analysis, providing a statistical summary file (.txt/.csv format) with details for each unique class found in the image, as well as the full image content: class value, total number of objects, total area and degree of parcellation. Details on the methodology and input/output options can be found in the `Parcellation product sheet <https://ies-ows.jrc.ec.europa.eu/gtb/GTB/psheets/GTB-Objects-Parcellation.pdf>`_. @@ -981,7 +985,7 @@ Set up the input image .. tip:: - You can use the default dataset to test the module. Select the :code:`Download test dataset` button on the top of the second panel, which will add following files to your :code:`downloads` folder: + You can use the default dataset to test the module. Select the :code:`Download test dataset` button on the top of the second pane, which will add the following files to your :code:`downloads` folder: - :code:`example.tif`: 0 bytes - Missing, 1 byte - Background, 2 bytes - Foreground - :code:`clc3class.tif`: 1 byte - Agriculture, 2 bytes - Natural, 3 bytes - Developed @@ -992,7 +996,7 @@ Set up the input image Once the files are downloaded, follow the normal process using the :code:`downloads/clc3classes.tif` file (three classes). -The first step requires selecting your image in your **SEPAL folder**. The image must be a categorical .tif raster. +The first step requires selecting your image in your **SEPAL folders**. The image must be a categorical .tif raster. .. attention:: @@ -1032,7 +1036,7 @@ This sets the foreground connectivity of your analysis: Run the analysis """""""""""""""" -Once your parameters are all set, you can launch the analysis. The blue rectangle will display information about the computation. Upon completion, it will turn green and display the computation log. +Once your parameters are all set, you can launch the analysis. The blue rectangle will display information about the computation. Upon completion, it will turn green and display the **Computation** log. .. thumbnail:: https://raw.githubusercontent.com/12rambau/gwb/master/doc/img/parc_results.png :title: Information logs @@ -1046,7 +1050,7 @@ The resulting files are stored in the folder :code:`module_results/gwb/parc/`. F .. attention:: - If the rectangle turns red, carefully read the information in the log. For example, your current instance may be too small to handle the file you want to analyse. In this case, close the app, open a bigger instance, and run your analysis again. + If the rectangle turns red, carefully read the information in the log. For example, your current instance may be too small to handle the file you want to analyse. In this case, close the app, open a bigger instance and run your analysis again. Here is the result of the computation using the default parameters on the :code:`clc3classes.tif` file: @@ -1072,7 +1076,7 @@ Set up the input image .. tip:: - You can use the default dataset to test the module. Select the :code:`Download test dataset` button on the top of the second panel, which will add the following files to your :code:`downloads` folder: + You can use the default dataset to test the module. Select the :code:`Download test dataset` button on the top of the second pane, which will add the following files to your :code:`downloads` folder: - :code:`example.tif`: 0 byte - Missing, 1 byte - Background, 2 bytes - Foreground - :code:`clc3class.tif`: 1 byte - Agriculture, 2 bytes - Natural, 3 bytes - Developed @@ -1083,7 +1087,7 @@ Set up the input image Once the files are downloaded, follow the normal process using the :code:`downloads/example.tif` file (two classes). -The first step requires reclassifying your image. Using the **Reclassifying** panel, select the image in your **SEPAL folder**. +The first step requires reclassifying your image. Using the **Reclassifying** pane, select the image in your **SEPAL folders**. .. attention:: @@ -1148,19 +1152,19 @@ The resulting files are stored in the folder :code:`module_results/gwb/rss/`. Fo .. attention:: - If the rectangle turns red, carefully read the information in the log. For example, your current instance may be too small to handle the file you want to analyse. In this case, close the app, open a bigger instance, and run your analysis again. + If the rectangle turns red, carefully read the information in the log. For example, your current instance may be too small to handle the file you want to analyse. In this case, close the app, open a bigger instance and run your analysis again. Here is the result of the computation using the default parameters on the :code:`example.tif` file: .. csv-table:: :header: FNAME, AREA, RAC[%], NR_OBJ, LARG_OBJ, APS, CNOA, ECA, COH[%], REST_POT[%] - example_bin_map.tif,428490.00,42.860572,2850,214811,150.34737,311712,221292.76,51.644789,48.355211 +example_bin_map.tif,428490.00,42.860572,2850,214811,150.34737,311712,221292.76,51.644789,48.355211 Simplified pattern analysis (SPA) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -This module will conduct the **Simplified pattern analysis**, which shapes and conducts a segmentation of foreground patches into two, three, five, or six feature classes. +This module will conduct the **Simplified pattern analysis**, which shapes and conducts a segmentation of foreground patches into two, three, five or six feature classes. The results are spatially explicit maps and tabular summary statistics. @@ -1173,7 +1177,7 @@ Set up the input image .. tip:: - You can use the default dataset to test the module. Select the :code:`Download test dataset` button on the top of the second panel, which will add the following files to your :code:`downloads` folder: + You can use the default dataset to test the module. Select the :code:`Download test dataset` button on the top of the second pane, which will add the following files to your :code:`downloads` folder: - :code:`example.tif`: 0 bytes - Missing, 1 byte - Background, 2 bytes - Foreground - :code:`clc3class.tif`: 1 byte - Agriculture, 2 bytes - Natural, 3 bytes - Developed @@ -1184,7 +1188,7 @@ Set up the input image Once the files are downloaded, follow the normal process using the :code:`downloads/example.tif` file (two classes). -The first step requires reclassifying your image. Using the **Reclassifying** panel, select the image in your **SEPAL folder**. +The first step requires reclassifying your image. Using the **Reclassifying** pane, select the image in your **SEPAL folders**. .. attention:: @@ -1233,7 +1237,7 @@ Set the number of pattern classes you want to compute: Run the analysis """""""""""""""" -Once your parameters are set, you can launch the analysis. The blue rectangle will display information about the computation. Upon completion, it will turn green and display the computation log. +Once your parameters are set, you can launch the analysis. The blue rectangle will display information about the computation. Upon completion, it will turn green and display the **Computation** log. .. thumbnail:: https://raw.githubusercontent.com/12rambau/gwb/master/doc/img/spa_results.png :title: Information logs @@ -1247,7 +1251,7 @@ The resulting files are stored in the folder :code:`module_results/gwb/spa/`. Fo .. attention:: - If the rectangle turns red, carefully read the information in the log. For example, your current instance may be too small to handle the file you want to analyse. In this case, close the app, open a bigger instance, and run your analysis again. + If the rectangle turns red, carefully read the information in the log. For example, your current instance may be too small to handle the file you want to analyse. In this case, close the app, open a bigger instance and run your analysis again. Here is the result of the computation using SPA2 (two classes) on the :code:`example.tif` file: @@ -1255,9 +1259,10 @@ Here is the result of the computation using SPA2 (two classes) on the :code:`exa :width: 50% :group: gwb-module + + References ---------- `GuidosToolbox Workbench: Spatial analysis of raster maps for ecological applications <https://doi.org/10.1111/ecog.05864>`_ - .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/gwb/release/doc/en.rst diff --git a/docs/source/modules/dwn/gwl_analysis.rst b/docs/source/modules/dwn/gwl_analysis.rst index dcec9ae073..4569949853 100644 --- a/docs/source/modules/dwn/gwl_analysis.rst +++ b/docs/source/modules/dwn/gwl_analysis.rst @@ -1,6 +1,5 @@ -GWL analysis -============ +.. note:: -.. include:: ../_templates/no_module.rst + This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker <https://github.com/openforis/sepal-doc/issues/new?assignees============&labels============&template============documentation-needed.md>`__. .. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst diff --git a/docs/source/modules/dwn/planet_order.rst b/docs/source/modules/dwn/planet_order.rst index 7843a9330f..03bd420489 100644 --- a/docs/source/modules/dwn/planet_order.rst +++ b/docs/source/modules/dwn/planet_order.rst @@ -9,13 +9,13 @@ This dasboard application, based on the `SEPAL-UI <https://sepal-ui.readthedocs. .. attention:: - To start this module, you need to (`sign up for NICFI <https://docs.sepal.io/en/latest/setup/nicfi.html#access-nicfi-through-gee>`_) and (`connect your GEE account to SEPAL <https://docs.sepal.io/en/latest/setup/gee.html#connection-between-gee-and-sepal>`_). + To start this module, `sign up for NICFI <https://docs.sepal.io/en/latest/setup/nicfi.html#access-nicfi-through-gee>`_ and `connect your GEE account to SEPAL <https://docs.sepal.io/en/latest/setup/gee.html#connection-between-gee-and-sepal>`_. On the landing page of our module, in the lower left of the window, you will find three buttons: -- :btn:`<fa-solid fa-file-code>`: Opens the GitHub repository that is used to create this module in a new tab (our code is open-source and distributed under the MIT license). -- :btn:`<fa-solid fa-book-open>`: Leads to the wiki page. -- :btn:`<fa-solid fa-bug>`: Opens the issue tracker of our GitHub repository in a new tab (you can write here if you experience bugs or if you have any feature requests; the SEPAL team will answer as quickly as possible). +- :btn:`<fa-solid fa-file-code>`: Opens the **GitHub repository** that is used to create this module in a new tab (our code is open-source and distributed under the MIT license). +- :btn:`<fa-solid fa-book-open>`: Leads to the **Wiki page**. +- :btn:`<fa-solid fa-bug>`: Opens the **Issue tracker** of our GitHub repository in a new tab (you can write here if you experience bugs or if you have any feature requests; the SEPAL team will answer as quickly as possible). Parameters ---------- @@ -27,19 +27,19 @@ In the lower-right corner, two tabs are available: In the upper-left corner, three other tabs will allow you to interact with data: -- :btn:`<fa-solid fa-magnifying-glass>`: the Planet order manager -- :btn:`<fa-solid fa-palette>`: color management -- :btn:`<fa-solid fa-cloud-arrow-down>`: download panel +- :btn:`<fa-solid fa-magnifying-glass>`: the **Planet order manager** +- :btn:`<fa-solid fa-palette>`: **Colour management** +- :btn:`<fa-solid fa-cloud-arrow-down>`: **Download** pane Select an AOI ------------- -The application uses the same AOI selector that you will find in many other SEPAL applications (see the `Module AOI section <https://docs.sepal.io/en/latest/feature/aoi_selector.html#module-aoi>`__ for more information). +The application uses the same **AOI selector** that you will find in many other SEPAL applications (for more information, see the `Module AOI section <https://docs.sepal.io/en/latest/feature/aoi_selector.html#module-aoi>`__). Planet Lab authentication ------------------------- -To authenticate the user, complete the form in the second tab with either your credentials or a Planet API key, which you can find in the settings section in your Planet profile page. Once the values are set, select :btn:`Validate`. If your Planet credentials are valid, the :btn:`NICFI` button should turn green. You can now select a mosaic from the provided list. +To authenticate the user, complete the form in the second tab with either your credentials or a Planet API key, which you can find in the **Settings** section in your **Planet profile page**. Once the values are set, select :btn:`Validate`. If your Planet credentials are valid, the :btn:`NICFI` button should turn green. You can now select a mosaic from the provided list. .. thumbnail:: https://raw.githubusercontent.com/12rambau/planet-order/master/doc/img/planet_auth.png :group: planet-order @@ -61,16 +61,16 @@ Once a mosaic is selected, the module will display basemaps on the map. Manage color combination ------------------------ -Select :btn:`<fa-solid fa-palette>` on the upper-left side of the map, which will show the different color combinations available, including: +Select :btn:`<fa-solid fa-palette>` on the upper-left side of the map, which will show the different colour combinations available, including: -- Red-green-blue (RGB) -- Color-infrared (CIR) -- Normalized difference vegetation index (NDVI) -- Normalized difference water index (NDWI) -- Visual atmosphere resistance index (VARI) -- Modified soil-adjusted vegetation index (MSAVI2) -- Modified triangular vegetation index (MTVI2) -- Triangular greenness index (TGI) +- Red-green-blue (**RGB**) +- Color-infrared (**CIR**) +- Normalized difference vegetation index (**NDVI**) +- Normalized difference water index (**NDWI**) +- Visual atmosphere resistance index (**VARI**) +- Modified soil-adjusted vegetation index (**MSAVI2**) +- Modified triangular vegetation index (**MTVI2**) +- Triangular greenness index (**TGI**) Selecting one will update the displayed basemap. @@ -129,5 +129,4 @@ The images will be stored in the following folder: :code:`~/module_results/plane If the requested image is not available (e.g. the grid points to water area, the image was too cloudy and filtered by Planet, you don't have the rights to download it, etc.) the image will fail. If the image already exists in your folder, it will be skipped. This behaviour allows you to restart a process if your SEPAL connection crashes without needing to restart all downloads. - .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/planet-order/release/doc/en.rst diff --git a/docs/source/modules/dwn/plot_generator.rst b/docs/source/modules/dwn/plot_generator.rst index 7080f1c416..c2edbca606 100644 --- a/docs/source/modules/dwn/plot_generator.rst +++ b/docs/source/modules/dwn/plot_generator.rst @@ -1,6 +1,5 @@ -Plot generator -============== +.. note:: -.. include:: ../_templates/no_module.rst + This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker <https://github.com/openforis/sepal-doc/issues/new?assignees==============&labels==============&template==============documentation-needed.md>`__. .. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst diff --git a/docs/source/modules/dwn/sae_analysis.rst b/docs/source/modules/dwn/sae_analysis.rst index e3aa4191d5..367bbb591c 100644 --- a/docs/source/modules/dwn/sae_analysis.rst +++ b/docs/source/modules/dwn/sae_analysis.rst @@ -1,17 +1,19 @@ -SAE Analysis +SAE analysis ============ -*Analyse results from a stratified sampling design for area estimates* + +Analyse results from a stratified sampling design for area estimates +-------------------------------------------------------------------- The aim of this stratified sampling design tool is to analyse results from a stratified sampling design that can be used for area estimates by combining a map (used as a stratification of the landscape of interest) with a visual map interpretation of samples to produce an area estimation. The concept is derived from map accuracy assessment principles. Characterized frequency of errors (i.e. omission and commission) for each map class may be used to compute area estimates and estimate the uncertainties (i.e. confidence intervals) for the areas on each class. -First, open the tool by selecting **Stratified Area Estimator - Analysis** in the **Apps** window. +First, open the tool by selecting **Stratified Area Estimator (SAE) - Analysis** in the **Apps** window. -You will land on the **Introduction** page which allows you to choose your language and provides background information on the tool. Note that **Reference and Documents** are in the same place as the **Design** tool. The pages that contain the necessary steps for the workflow are on the left side of the screen and need to be completed sequentially. +You will land on the **Introduction** page which allows you to choose your language and provides background information on the tool. Note that **Reference and documents** are in the same place as the **Design** tool. The pages that contain the necessary steps for the workflow are on the left side of the screen and need to be completed sequentially. .. figure:: https://raw.githubusercontent.com/openforis/accuracy-assessment/master/aa_analysis/img/stratified_estimator_analysis_tool.png - :alt: The stratified estimator analysis tool. + :alt: The SAE tool :align: center Select the **Inputs** page on the left side of the screen. You will see two data requirements under the **Select input files** section. @@ -21,10 +23,10 @@ Select the **Inputs** page on the left side of the screen. You will see two data - For projects completed in Collect Earth Online (CEO): Select the **Reference data** button and navigate to the .csv file you downloaded from CEO and uploaded to SEPAL. - For projects completed in the CEO-SEPAL bridge: - Check that you are logged out of the CEO website. - - Paste the URL from your CEO-SEPAL bridge project into the field marked **CEO url**, or simply select the **Paste CEO url from clipboard** button. + - Paste the URL from your CEO-SEPAL bridge project into the field marked **CEO URL**, or simply select the **Paste CEO URL from clipboard** button. - Select :code:`Import CEO project`, which will populate the input file for the **Reference data** as well as the column names. -- **Area data**: This is a .csv file that was automatically created during the Stratified Area Estimator – Design workflow. It contains area values for each mapped land cover class. +- **Area data**: This is a .csv file that was automatically created during the SAE – Design workflow. It contains area values for each mapped land cover class. - Select the **Area data** button. - Open the folder starting with :code:`sae_design_`. As a reminder, if you exported your classification to the SEPAL workspace, the file will be in your SEPAL **Downloads** folder. Within this folder, select **area_rast.csv** (see image below). @@ -34,21 +36,21 @@ Select the **Inputs** page on the left side of the screen. You will see two data :width: 450 :align: center -Next, you will need to adjust some parameters so that the tool recognizes the column names for your reference data and area data that contain the necessary information for your accuracy assessment. You should now see a populated **Required input** panel on the right side of the screen. +Next, you will need to adjust some parameters so that the tool recognizes the column names for your reference data and area data that contain the necessary information for your accuracy assessment. You should now see a populated **Required input** pane on the right side of the screen. Choose the column with the reference data information. .. note:: - - For projects completed in CEO: This will either be your question name or the new column name you created in Part 2 above. Here, it is COLLECTED_CLASS following the directions. - - For projects completed in CEO-SEPAL: ref_code + - **For projects completed in CEO**: This will either be your question name or the new column name you created in **Part 2** above. Here, it is **COLLECTED_CLASS**, following the directions. + - **For projects completed in CEO-SEPAL**: **ref_code** Choose the column with the map data information. .. note:: - - For projects completed in CEO: PL_MAP_CLASS - - For projects completed in CEO-SEPAL: map_code + - **For projects completed in CEO**: **PL_MAP_CLASS** + - **For projects completed in CEO-SEPAL**: **map_code** Select the map area column from the area file—map_area. @@ -56,17 +58,17 @@ Choose the class column from the area **file—map_code** or **map_edited_class* .. note:: - - For projects completed in CEO: Use **map_code** if you have a column in your reference data. If you use **map_edited_class** you must make sure that capitalization is correct. - - For projects completed in CEO-SEPAL, use **map_code**. + - **For projects completed in CEO**: Use **map_code** if you have a column in your reference data. If you use **map_edited_class** you must make sure that capitalization is correct. + - **For projects completed in CEO-SEPAL**: Use **map_code**. -You can add a **Display data** column to enable validation on-the-fly. You can choose any column from your CEO or CEO-SEPAL project. We recommend either your map class (e.g. PL_MAP_CLASS) or your reference data class (e.g. question name column). This example uses a CEO project. +You can add a **Display data** column to enable validation on the fly. You can choose any column from your CEO or CEO-SEPAL project. We recommend either your map class (e.g. PL_MAP_CLASS) or your reference data class (e.g. question name column). This example uses a CEO project. .. figure:: https://raw.githubusercontent.com/openforis/accuracy-assessment/master/aa_analysis/img/required_input_fields.png :alt: The required input fields. :width: 450 :align: center -Once you have set these input parameters, select :code:`Check` on the left side of the window. This page will plot your samples on a world map. Fix the location of your plots by specifying the correct columns to use as the X and Y coordinates in the map. Select the dropdown menus and choose the appropriate coordinate columns for X and Y coordinates (the X coordinate should be LON; the Y coordinate should be LAT). +Once you have set these input parameters, select :code:`Check` on the left side of the window. This page will plot your samples on a world map. Fix the location of your plots by specifying the correct columns to use as the X and Y coordinates in the map. Select the dropdown menus and choose the appropriate coordinate columns for X and Y coordinates (the X coordinate should be **LON**; the Y coordinate should be **LAT**). Next, select the :code:`Results` page on the left side of the screen. @@ -75,26 +77,26 @@ The **Results** page will display a few different accuracy statistics, including The rows represent your assignments while the columns represent the map classifiers. The diagonal represents the number of samples that are in agreement, while the off-diagonal cells represent points that were not mapped correctly (or potentially not interpreted correctly). .. figure:: https://raw.githubusercontent.com/openforis/accuracy-assessment/master/aa_analysis/img/confusion_matrix_output_sepal.png - :alt: The Confusion matrix output by SEPAL. + :alt: The **Confusion matrix** output by SEPAL :width: 450 :align: center -Typically you would have to create the confusion table yourself and calculate the accuracies; however, the SAE-Analysis tool does this for you. +Typically you would have to create the confusion table yourself and calculate the accuracies; however, the **SAE analysis** tool does this for you. .. seealso:: - - If you completed previous sections, how does the SAE-Analysis tool's calculations compare with your own? + - If you completed previous sections, how does the **SAE analysis** tool's calculations compare with your own? - You can download confusion matrices as tabular data (.csv) using the button. Under **Area estimates**, the table shows you the area estimates, as well as producers' and users' accuracies, all of which were calculated from the error matrix and the class areas (sample weights) from the map product you are assessing. -Estimations are broken up into simple and stratified estimates, each of which has its own confidence interval. In this exercise, we collected validation data using a stratified sample, so the values we need to use are the stratified random values. Note that all area estimates are in map units. You can change your desired **confidence interval** using the slider at the top of the panel. You can download area estimates as tabular data (.csv) using the button. +Estimations are broken up into simple and stratified estimates, each of which has its own confidence interval. In this exercise, we collected validation data using a stratified sample, so the values we need to use are the stratified random values. Note that all area estimates are in map units. You can change your desired **Confidence interval** using the slider at the top of the panel. You can download area estimates as tabular data (.csv) using the button. .. figure:: https://raw.githubusercontent.com/openforis/accuracy-assessment/master/aa_analysis/img/area_estimate.png - :alt: The Area estimates screen in SEPAL. + :alt: The **Area estimates** screen in SEPAL :align: center -The **Graph** plots area estimates based on map pixel count, stratified random sample, simple random sample, unbiased stratified random, and direct estimate stratified random. +The **Graph** plots area estimates based on map pixel count, stratified random sample, simple random sample, unbiased stratified random and direct estimate stratified random. In this exercise, we collected validation data using a stratified sample, so the values we need to use are the stratified random values. We also need to define unbiased stratified random and direct estimate stratified random. @@ -103,10 +105,12 @@ In this exercise, we collected validation data using a stratified sample, so the Note that the **Map pixel count** value differs from these stratified random sample estimates. This shows how using a map pixel count is a poor estimation of actual area. .. figure:: https://raw.githubusercontent.com/openforis/accuracy-assessment/master/aa_analysis/img/area_estimate_graph.png - :alt: A graph of the area estimates based on different sample designs. + :alt: A graph of the area estimates based on different sample designs :width: 450 :align: center For support, `ask the community <https://groups.google.com/g/sepal-users>`__. .. custom-edit:: https://raw.githubusercontent.com/openforis/accuracy-assessment/master/aa_analysis/doc.rst + +.. custom-edit:: https://raw.githubusercontent.com/openforis/accuracy-assessment/master/aa_analysis/doc.rst diff --git a/docs/source/modules/dwn/sae_design.rst b/docs/source/modules/dwn/sae_design.rst index 0c76ab7b5e..558be81074 100644 --- a/docs/source/modules/dwn/sae_design.rst +++ b/docs/source/modules/dwn/sae_design.rst @@ -1,6 +1,5 @@ -SAE design -========== +.. note:: -.. include:: ../_templates/no_module.rst + This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker <https://github.com/openforis/sepal-doc/issues/new?assignees==========&labels==========&template==========documentation-needed.md>`__. .. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst diff --git a/docs/source/modules/dwn/sar_time_series.rst b/docs/source/modules/dwn/sar_time_series.rst index 253f6509a6..eaf4a60a14 100644 --- a/docs/source/modules/dwn/sar_time_series.rst +++ b/docs/source/modules/dwn/sar_time_series.rst @@ -1,6 +1,5 @@ -SAR time series -=============== +.. note:: -.. include:: ../_templates/no_module.rst + This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker <https://github.com/openforis/sepal-doc/issues/new?assignees===============&labels===============&template===============documentation-needed.md>`__. .. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst diff --git a/docs/source/modules/dwn/sdg_indicator.rst b/docs/source/modules/dwn/sdg_indicator.rst index cc5d61ec66..b7ca2bf137 100644 --- a/docs/source/modules/dwn/sdg_indicator.rst +++ b/docs/source/modules/dwn/sdg_indicator.rst @@ -2,6 +2,7 @@ SDG Indicator 15.3.1 ==================== *Generate data for reporting on SDG Indicator 15.3.1* + The amount of degraded land relative to the total amount of land is measured by Sustainable Development Goal (SDG) Indicator 15.3.1. Target 15.3 of SDG 15: Life on Land aims to "combat desertification by 2030, restore degraded land and soil, including those damaged by droughts, floods, and desertification, and work towards a world free of land degradation". @@ -10,7 +11,7 @@ To help achieve Target 15.3 of the SDGs, governments, international organization This module provides guidance for generating data for reporting on SDG Indicator 15.3.1. It follows `Good practice guidance: SDG Indicator 15.3.1 – Proportion of land that is degraded over total land area (Version 2.0) <https://www.unccd.int/sites/default/files/documents/2021-09/UNCCD_GPG_SDG-Indicator-15.3.1_version2_2021.pdf>`_. -The methodology for the module (`Good practice guidance: SDG Indicator 15.3.1 – Proportion of land that is degraded over total land area [Version 1.0] <https://prais.unccd.int/sites/default/files/helper_documents/4-GPG_15.3.1_EN.pdf>`_) was implemented in consultation with the `Trends.Earth <https://trends.earth/docs/en/index.html>`_ team and `Conservation International <https://www.conservation.org>`_. +The methodology for the module, `Good practice guidance: SDG Indicator 15.3.1 – Proportion of land that is degraded over total land area (Version 1.0) <https://prais.unccd.int/sites/default/files/helper_documents/4-GPG_15.3.1_EN.pdf>`_, was implemented in consultation with the `Trends.Earth <https://trends.earth/docs/en/index.html>`_ team and `Conservation International <https://www.conservation.org>`_. Methodology ----------- @@ -27,7 +28,7 @@ In 2017, the UNCCD released `the first version of their guidance <https://prais. In 2021, `a revised version <https://www.unccd.int/sites/default/files/documents/2021-09/UNCCD_GPG_SDG-Indicator-15.3.1_version2_2021.pdf>`_ was published. -The module is based on the most recent version of their guidance (Version 2), which outlines a comprehensive approach to land degradation and suggests methods for restoring degraded land by providing guidance for governments, businesses, local communities, and other stakeholders. +The module is based on the most recent version of their guidance (Version 2), which outlines a comprehensive approach to land degradation and suggests methods for restoring degraded land by providing guidance for governments, businesses, local communities and other stakeholders. Approach """""""" @@ -52,7 +53,7 @@ Three matrices are used to detect such changes in productivity: **Productivity trend** -The *productivity trend* measures the trajectory of change in productivity over time. +**Productivity trend** measures the trajectory of change in productivity over time. The `Mann–Kendall trend test <https://en.wikipedia.org/wiki/Kendall_rank_correlation_coefficient>`_ is used to describe the monotonic trend or trajectory (increasing or decreasing) of the productivity for a given time period. @@ -66,7 +67,7 @@ To identify the scale and direction of the trend, a five-level scale is proposed - Z score > 1.28 AND ≤ 1.96 = **Potentially improving**, or -- Z score > 1.96 = Improving, as indicated by a significant increasing trend +- Z score > 1.96 = **Improving**, as indicated by a significant increasing trend The area of the lowest negative Z score level (< -1.96) is considered **degraded**, the area between Z score -1.96 to 1.96 is considered **stable**, and the area above 1.96 is considered **improved** for calculating the sub-indicator. @@ -85,7 +86,7 @@ It is measured as follows: \sigma = \sqrt{\frac{\sum_{n-15}^{n-3}(x_n-\mu)^2}{13}} -where, :math:`x` is the productivity and :math:`n` is the year of analysis. +where :math:`x` is the productivity and :math:`n` is the year of analysis. The mean productivity of the current period is given as: @@ -107,9 +108,9 @@ The area of the lowest negative Z score level (< -1.96) is considered **degraded **Productivity performance** -*Productivity performance* indicates the level of local land productivity relative to other regions with similar productivity potential. +**Productivity performance** indicates the level of local land productivity relative to other regions with similar productivity potential. -The maximum productivity index, :math:`NPP_{max}` value (90 :sup:`th` percentile) observed within the similar eco-region is compared to the observed productivity value (observed *NPP*). It is given as: +The maximum productivity index, :math:`NPP_{max}` value (90:sup:`th` percentile) observed within the similar eco-region is compared to the observed productivity value (observed *NPP*). It is given as: .. math:: \text{performance} = \frac{NPP_{observed}}{NPP_{max}} @@ -168,7 +169,7 @@ Either of the following "look-up" tables can be used to calculate the sub-indica Available Dataset: -Sensors: MODIS; Landsat 4, 5, 7 and 8; Sentinel 2 +Sensors: MODIS; Landsat 4, 5, 7 and 8; Sentinel-2 NPP metric: NDVI; EVI and MSVI; Terra NPP @@ -181,7 +182,7 @@ Default land cover dataset: ESA CCI land cover (1992–2020) **Transition matrix for custom land cover legends** -A custom transition matrix can be used in combination with the custom land cover legend. The matrix needs to be a comma-separated value (.csv) file in the following form: +A custom transition matrix can be used in combination with the custom land cover legend. The matrix needs to be a .csv file in the following form: The first two columns, excluding the first two cells (:math:`a_{31}...a_{n1} \text{and } a_{32}...a_{n2}`), must contain class labels and pixel values for the initial land cover, respectively. @@ -271,7 +272,7 @@ Mandatory parameters - **Vegetation index**: The vegetation index will be used to compute the trend trajectory (by default: **NDVI**). -- **Trajectory**: There are three options available to calculate the productivity trend that describe the trajectory of change (by default, **productivity (VI) trend**). +- **Trajectory**: There are three options available to calculate the productivity trend that describe the trajectory of change (by default, **Productivity (VI) trend**). - **Land ecosystem functional unit**: Defaults to **Global Agro-Environmental Stratification (GAES)**; other available options include: @@ -280,7 +281,7 @@ Mandatory parameters - `Global Homogeneous Response Units <https://doi.pangaea.de/10.1594/PANGAEA.775369>`_; and - Calculate based on the land cover (`ESA CCI <https://cds.climate.copernicus.eu/cdsapp#!/dataset/satellite-land-cover?tab=overview>`_) and soil texture (`ISRIC <https://www.isric.org/explore/soilgrids>`_). -- **climate regime**: Defaults to **Per pixel based on global climate data**; however, you can also use a fixed value everywhere using a predefined climate regime in the dropdown menu or select a custom value with the slider. +- **Climate regime**: Defaults to **Per pixel based on global climate data**; however, you can also use a fixed value everywhere using a predefined climate regime in the dropdown menu or select a custom value with the slider. .. _sdg-advanced-parameters: @@ -486,3 +487,5 @@ The following .gif will show you the full reclassification process with a simple :alt: Reclassification demo .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/sdg_15.3.1/release/doc/en.rst + +.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/sdg_15.3.1/release/doc/en.rst diff --git a/docs/source/modules/dwn/sepafe.rst b/docs/source/modules/dwn/sepafe.rst index 634dc645a8..466095f3cf 100644 --- a/docs/source/modules/dwn/sepafe.rst +++ b/docs/source/modules/dwn/sepafe.rst @@ -2,33 +2,33 @@ SEPAFE ====== *Receive and validate fire alerts from the FIRMS programme by using daily Planet imagery* -The SEPAL Planet Active Fires Explorer (SEPAFE) is a module developed on the SEPAL platform based on the `Fire Information for Resource Management System (FIRMS) <https://earthdata.nasa.gov/earth-observation-data/near-real-time/firms/about-firms>`_ and using Planet Scope imagery from Planet Labs. +The **SEPAL Planet Active Fires Explorer (SEPAFE)** is a module developed on the SEPAL platform based on the `Fire Information for Resource Management System (FIRMS) <https://earthdata.nasa.gov/earth-observation-data/near-real-time/firms/about-firms>`_ and using Planet Scope imagery from Planet Labs. -SEPAFE aims to provide users with a quick way to receive and validate fire alerts from the FIRMS programme by using daily Planet imagery. +**SEPAFE** aims to provide users with a quick way to receive and validate fire alerts from the FIRMS programme by using daily Planet imagery. .. image:: https://raw.githubusercontent.com/dfguerrerom/planet_active_fires_explorer/main/doc/img/sepal_active_fires_home.png -Settings panel --------------- +Settings pane +------------- -The **Settings** panel is composed of three tabs: :code:`Planet Imagery`, :code:`Area of Interest` and :code:`Alerts` (all necessary to receive fire alerts). +The **Settings** pane is composed of three tabs: :code:`Planet Imagery`, :code:`Area of Interest` and :code:`Alerts` (all necessary to receive fire alerts). -.. tip:: The **Settings** panel can be open and closed by selecting the settings button (:btn:`<fa-solid fa-bars>`). +.. tip:: The **Settings** pane can be open and closed by selecting the **Settings** button (:btn:`<fa-solid fa-bars>`). -Connect your Planet API Key +Connect your Planet API key ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -.. note:: This step is optional but highly recommended. While you can receive fire alerts from different satellite sources by simply going through the next tabs, a Planet API Key with access to daily imagery will allow you to fully leverage the module. +.. note:: This step is optional but highly recommended. While you can receive fire alerts from different satellite sources by simply going through the next tabs, a Planet API key with access to daily imagery will allow you to fully leverage the module. -- Validate your Planet API Key: Provide a valid API Key in the input box and select the validation button. The module will check whether the key is valid and messages related to its connection will be displayed within the alerts widget. Once your validation is done, you can open the **Advanced settings** expansion panel and modify its inputs. +- Validate your Planet API key: Provide a valid API key in the input box and select the **Validation** button. The module will check whether the key is valid and messages related to its connection will be displayed within the **Alerts** widget. Once your validation is done, you can open the **Advanced settings** expansion panel and modify its inputs. .. tip:: Use the **Planet state** bar located in the upper-left corner to receive informative messages about Planet imagery (e.g. problems with the key, number of images loaded). -- Open the **Advanced settings** panel: +- Open the **Advanced settings** pane: - :code:`Max number of images`: Maximum number of planet images to be displayed at once in each alert. - - :code:`Search up to 'x' days before`: Number of days before the fire alert date to look up for the best image available. - - :code:`Search up to 'x' days after`: Number of days after the fire alert date to look up for the best image available. + - :code:`Search up to 'x' days before`: Number of days before the fire alert date to search for the best image available. + - :code:`Search up to 'x' days after`: Number of days after the fire alert date to search for the best image available. - :code:`Cloud cover threshold`: Maximum cloud cover threshold accepted in the images (based on Planet metadata). .. image:: https://raw.githubusercontent.com/dfguerrerom/planet_active_fires_explorer/main/doc/gif/planet.gif @@ -39,26 +39,29 @@ Select area of interest (AOI) The module has two options for selecting an AOI to filter alerts. -- Draw a shape: When selected, three drawing tools will be displayed in the upper-left corner of the map; you can select a `square`, `circle`, or a `polygon`, and draw them on the map. -- Select a country: Enter the name of the country into the search box (or navigate through it by using the scroll bar) and select the desired country. Once the country is selected, it will be displayed in the map view. +- **Draw a shape**: When selected, three drawing tools will be displayed in the upper-left corner of the map; you can select a `square`, `circle`, or a `polygon`, and draw them on the map. +- **Select a country**: Enter the name of the country into the search box (or navigate through it by using the scroll bar) and select the desired country. Once the country is selected, it will be displayed in the map view. .. image:: https://raw.githubusercontent.com/dfguerrerom/planet_active_fires_explorer/main/doc/gif/aoi.gif Receive fire alerts ^^^^^^^^^^^^^^^^^^^ -- Recent: Products to be downloaded are coming from the Moderate Resolution Imaging Spectroradiometer (MODIS) and the Visible Infrared Imaging Radiometer Suite (VIIRS) for the last 24 hours, 28 hours, and the last 7 days. +- **Recent**: Products to be downloaded are coming from the Moderate Resolution Imaging Spectroradiometer (MODIS) and the Visible Infrared Imaging Radiometer Suite (VIIRS) for the last 24 hours, 28 hours, and the last 7 days. -- Historical: For historical products, you will be able to download alerts from 2000 until the last finished year from the MODIS satellite. Select the historical button and filter by the dates. +- **Historical**: For historical products, you will be able to download alerts from 2000 until the last finished year from the MODIS satellite. Select the **Historical** button and filter by the dates. -After selecting the `get alerts` button, the module will start the download process and clip the alerts to the given AOI. The alerts will be displayed on the map according to a color map for alert confidence – ranging from green to orange to red for the confidence values high, nominal, and low (for VIIRS), and >80, >70 < 80, <50 (for MODIS). +After selecting the **Get alerts** button, the module will start the download process and clip the alerts to the given AOI. The alerts will be displayed on the map according to a color map for alert confidence – ranging from green to orange to red for the following confidence values: -.. attention:: Depending on the sensor source and whether your alert request is recent or historical, the download/clip process could take more time. This module is intended to get a quick validation of fire alerts. If you are requesting an area with more than 10000 fire alerts, you will be asked if you want to display all the alerts on the map — which could significantly effect the performance of the tool — or if you want to download them to your desktop/SEPAL environment. +- **high, nominal, and low** (for VIIRS) +- **>80, >70 < 80, <50** (for MODIS) + +.. attention:: Depending on the sensor source and whether your alert request is recent or historical, the download/clip process could take more time. This module is intended to get a quick validation of fire alerts. If you are requesting an area with more than 10000 fire alerts, you will be asked if you want to display all the alerts on the map — which could significantly affect the performance of the tool — or if you want to download them to your desktop/SEPAL environment. Navigate through alerts ----------------------- -Once the alerts are displayed on the map, you will be able to navigate through each of them by using the :code:`navigation widget`. Use the :code:`next` and :code:`prev` buttons to navigate through the fire alerts; use the :code:`confidence` dropdown list to filter the alerts by the confidence (see `What is the detection confidence? <https://earthdata.nasa.gov/faq/firms-faq>`_). +Once the alerts are displayed on the map, you will be able to navigate through each of them by using the :code:`navigation widget`. Use the :code:`next` and :code:`prev` buttons to navigate through the fire alerts; use the :code:`confidence` dropdown list to filter the alerts by confidence (see `What is the detection confidence? <https://earthdata.nasa.gov/faq/firms-faq>`_). The confidence value was added to help users gauge the quality of individual fire pixels included in the Level 2 fire product. The confidence field should be used with caution; in different parts of the world, it will likely vary in meaning. Nevertheless, some of our end users have found such a field to be useful in excluding false-positive occurrences of fire. They are different for MODIS and VIIRS. @@ -66,11 +69,13 @@ The confidence value was added to help users gauge the quality of individual fir .. tip:: You can activate and deactivate the fire navigation widget by selecting the **Fires** button (:btn:`<fa-solid fa-fire>`). -.. tip:: Planet parameters can be changed at any time. To refresh results from the current alert, select the refresh button (:btn:`<fa-solid fa-rotate>`). +.. tip:: Planet parameters can be changed at any time. To refresh results from the current alert, select the **Refresh** button (:btn:`<fa-solid fa-rotate>`). Manually load planet imagery ---------------------------- -Select any point on the map and use the refresh icon (:btn:`<fa-solid fa-rotate>`) to retrieve Planet imagery using the parameters set in Step 1; the module will use the current acquisition alert date to search the images. This option is useful when you want to explore surrounding areas close to the alert point, but without alerts to display. +Select any point on the map and use the **Refresh** icon (:btn:`<fa-solid fa-rotate>`) to retrieve Planet imagery using the parameters set in **Step 1**; the module will use the current acquisition alert date to search the images. This option is useful when you want to explore surrounding areas close to the alert point, but without alerts to display. .. attention:: This option requires a valid Planet Level 2 key; otherwise, you will receive an error message in the **Status** bar. + +.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/planet_active_fires_explorer/master/doc/en.rst diff --git a/docs/source/modules/dwn/sepal_mgci.rst b/docs/source/modules/dwn/sepal_mgci.rst index 6b180563b5..e221b7682f 100644 --- a/docs/source/modules/dwn/sepal_mgci.rst +++ b/docs/source/modules/dwn/sepal_mgci.rst @@ -375,5 +375,4 @@ After the calculation is done, the **Export** button will become available. To g :alt: Export report Once the process is done, the alert message will display the storage location of the report files, which can be downloaded by using any of the options presented in `Exchange files in SEPAL <https://docs.sepal.io/en/latest/setup/filezilla.html#exchange-files-with-sepal>`__. - .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/sepal_mgci/release/doc/en.rst diff --git a/docs/source/modules/dwn/sepal_pysmm.rst b/docs/source/modules/dwn/sepal_pysmm.rst index b7e1c36520..e033c06458 100644 --- a/docs/source/modules/dwn/sepal_pysmm.rst +++ b/docs/source/modules/dwn/sepal_pysmm.rst @@ -4,10 +4,11 @@ Soil moisture mapping Open SEPAL ---------- +*Tool for mapping surface soil moisture based on Copernicus Sentinel-1 intensity data* #. Open SEPAL and log in. - #. To open SEPAL in your browser, go to `<https://sepal.io/>`_ + #. To open SEPAL in your browser, go to `<https://sepal.io/>`_. #. Connect SEPAL to your Google account. #. Make sure SEPAL is connected to your Google account (see `Use GEE with SEPAL <https://docs.sepal.io/en/latest/setup/gee.html>`_). @@ -23,17 +24,17 @@ Process Sentinel-1 time series data to generate maps of soil moisture #. Open and launch the **Soil moisture mapping** application. - #. To access the module, select the **Apps** tab in SEPAL. Then use the search box and enter “SOIL MOISTURE MAPPING” or find it manually. + #. To access the module, select the **Apps** tab in SEPAL. Use the search box and enter “SOIL MOISTURE MAPPING”, or find it manually. .. figure:: https://raw.githubusercontent.com/openforis/sepal_pysmm/master/doc/img/wiki/2.1.1.PNG :width: 500 - #. The application will be launched and displayed over a new tab in the SEPAL panel. + #. The application will be launched and displayed over a new tab in the SEPAL pane. .. figure:: https://raw.githubusercontent.com/openforis/sepal_pysmm/master/doc/img/wiki/2.1.2.PNG :width: 500 - #. The module has 5 main steps that can be selected in the left panel: **AOI selection**, **download**, **closing filter**, **calculate statistics**, and **display map**. + #. The module has five main steps that can be selected in the left pane: **AOI selection**, **download**, **closing filter**, **calculate statistics**, and **display map**. #. Select the **AOI selection** step and follow the next four sub-steps. #. In the **AOI selection step**, choose **Use GEE asset**. Paste your **GEE asset ID** into the box and select the “Use asset” button to select your AOI. #. Two new selection dropdown menus will appear. Choose your **variable** and **field**, then wait until the polygon is loaded onto the map. @@ -57,10 +58,10 @@ Process Sentinel-1 time series data to generate maps of soil moisture #. This process could take a long time depending on the dimensions of the feature and the number of images to be processed. #. If the selected dates are not available, the system will display a message with the closest images to the input dates. - #. The most recent image available depends on the GLDAS product, which has a delay of one to two months. + #. The most recent image available depends on the Global Land Data Assimilation System (GLDAS) product, which has a delay of one to two months. #. The green **Processing** bar shows the name of the task that is sent to GEE. When the processing reaches 100 percent, all tasks have been sent to GEE and the classification of soil moisture will continue there. - #. After all tasks are sent to GEE, the module can be closed. The processing will continue uninterrupted in GEE, where the processing can take hours or days depending on the size of the AOI and the date range selected. + #. After all tasks are sent to GEE, the module can be closed. The processing will continue uninterrupted in GEE, where it can take hours or days depending on the size of the AOI and the date range selected. .. figure:: https://raw.githubusercontent.com/openforis/sepal_pysmm/master/doc/img/wiki/2.3.6.PNG :width: 500 @@ -94,7 +95,7 @@ Download soil moisture maps from GEE to SEPAL #. Use the download step. - #. In the left panel, select the **Download** button. + #. In the left pane, select the **Download** button. .. figure:: https://raw.githubusercontent.com/openforis/sepal_pysmm/master/doc/img/wiki/3.2.1.PNG :width: 180 @@ -113,7 +114,7 @@ Download soil moisture maps from GEE to SEPAL #. The task download file can be found in the folder :code:`home/user/ pysmm_downloads/0_raw/assetname/rowname/` #. The task download file naming convention is: task_datedownloadinitiated_code.txt #. Use the three dropdown lists to choose the desired task text file by selecting the folder names. - #. There are options to overwrite duplicates already downloaded into SEPAL and remove downloaded images from Google Drive. Once the images are removed from Google Drive the task download file will no longer function because those images will not be stored in Google Drive. + #. There are options to overwrite duplicates already downloaded into SEPAL and remove downloaded images from Google Drive. Once the images are removed from Google Drive, the task download file will no longer function because those images will not be stored in Google Drive. #. **Overwrite SEPAL images**: In case you previously have downloaded an image in the same path folder, the module will overwrite the images with the same name. #. **Remove Google Drive images**: Mark this option if you want to download the images to your SEPAL account and delete the files from your Google Drive account. @@ -122,19 +123,19 @@ Download soil moisture maps from GEE to SEPAL #. The images will download separately; leave the application open while the download is running. #. After the data download is complete, you can use tools available in SEPAL to process and analyse the soil moisture maps. -Post-process and analyse soil moisture time-series data +Post-process and analyse soil moisture time series data ------------------------------------------------------- After the download is complete, apply a robust methodology for image filtering to fill no-data gaps and assess trends in the time series of soil moisture maps. #. Select the **Closing filter** step. - #. In the left panel, select the **Closing filter** tab. + #. In the left pane, select the **Closing filter** tab. .. figure:: https://raw.githubusercontent.com/openforis/sepal_pysmm/master/doc/img/wiki/4.1.1.PNG :width: 180 -#. Run the post-processing section of the module +#. Run the post-processing section of the module. #. Navigate to the folder where the images are stored. This module will process a folder with many images, going through each of the images. Therefore, the input should be the folder in which the raw images are stored. The module will automatically display two selection menus; select the desired options. @@ -143,12 +144,12 @@ After the download is complete, apply a robust methodology for image filtering t #. The raw imagery is stored in the same folder that the task download file is located. #. Select the **START** button to run a data-filling algorithm on each of the soil moisture maps. - #. Due to speckle in Sentinel-1 imagery, soil moisture maps contain some noise and no-data values which are corrected to some extent using grayscale morphological operation from ORFEO toolbox, a free and open-source image processing tool. To read more about the parameterization of the Orfeo toolbox tool, see `<https://www.orfeo-toolbox.org/CookBook/Applications/app_GrayScaleMorphologicalOperation.html>`_ - #. This process is done by the SEPAL instance; the time will depend on the number of images and dimensions. After finishing all images, the progress bar will turn green. + #. Due to speckle in Sentinel-1 imagery, soil moisture maps contain some noise and no-data values which are corrected to some extent using grayscale morphological operation from ORFEO toolbox, a free and open-source image processing tool (see `<https://www.orfeo-toolbox.org/CookBook/Applications/app_GrayScaleMorphologicalOperation.html>`_. + #. This process is done by the SEPAL instance; the time will depend on the number of images and dimensions. After finishing all images, the **Progress** bar will turn green. -#. Run the **Statistics** postprocess. +#. Run the **Statistics** post-process. - #. In the left panel select the **Calculate statistics** tab. + #. In the left pane, select the **Calculate statistics** tab. .. figure:: https://raw.githubusercontent.com/openforis/sepal_pysmm/master/doc/img/wiki/4.3.1.PNG :width: 180 @@ -182,7 +183,7 @@ After the download is complete, apply a robust methodology for image filtering t #. The **Median**, **Mean**, **Geometric Mean**, **Max**, **Min**, **Standard Deviation** and **Valid pixels** are statistics that do not require much computing requirements, so the time to perform those tasks is relatively quick, depending on the extent of the image. #. The **Advanced settings** are intended to be used to improve the time and manage system resources. Normally, this is automatically optimized, but can be modified by the user. This setting controls the number of processors you use for parallel processing, allowing you to optimize the time by processing a huge image by using several processors at the same time (by default, all available processors will be used; note that the more CPUs available in the selected instance in the terminal, the faster the processing will be). - #. **Processors**: By default, the module will display the number of processors that are active in the current instance session and will perform the stack-composed with all of them; however, in order to test the best benchmark to the specific stack, this number could be changed within the **Advanced settings** tab. + #. **Processors**: By default, the module will display the number of processors that are active in the current instance session and will perform the stack composed with all of them; however, in order to test the best benchmark to the specific stack, this number could be changed within the **Advanced settings** tab. #. **Chunks**: The number in the chunk specifies the shape of the array that will be processed in parallel over the different processors (i.e. if 180 is the specified number of chunks, then the stack-composed module will divide the input image into several small square pieces of 180 pixels with its shape). For more information about how to select the best chunk shape, follow the documentation. .. figure:: https://raw.githubusercontent.com/openforis/sepal_pysmm/master/doc/img/wiki/4.3.5.7.PNG @@ -199,7 +200,7 @@ After the download is complete, apply a robust methodology for image filtering t Visualizing imagery ------------------- -#. In the left panel, select the **Display map** tab. +#. In the left pane, select the **Display map** tab. .. figure:: https://raw.githubusercontent.com/openforis/sepal_pysmm/master/doc/img/wiki/5.1_.PNG :width: 180 @@ -220,8 +221,10 @@ Visualizing imagery .. figure:: https://raw.githubusercontent.com/openforis/sepal_pysmm/master/doc/img/wiki/5.4.PNG :width: 500 -Open-source data from Sentinel-1 operates using C-band synthetic aperture radar imaging. C-band type has a wavelength of 3.8 cm – 7.5 cm, and thus has limited penetration into dense forest canopies. Therefore, forested areas should be excluded from the analysis. L-band data should be used instead of such areas. +Open-source data from Sentinel-1 operates using C-band synthetic aperture radar imaging. C-band type has a wavelength of 3.8–7.5 cm, and thus has limited penetration into dense forest canopies. Therefore, forested areas should be excluded from the analysis. L-band data should be used instead of such areas. It is recommended that densely vegetated areas are excluded from analysis due to the limitation of C-band radar to penetrate dense canopy cover. Use a **forest map** to exclude dense forest areas from the analysis. .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/sepal_pysmm/release/doc/en.rst + +.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/sepal_pysmm/release/doc/en.rst diff --git a/docs/source/modules/dwn/seplan.rst b/docs/source/modules/dwn/seplan.rst index 5941aec550..a5de9df3f9 100644 --- a/docs/source/modules/dwn/seplan.rst +++ b/docs/source/modules/dwn/seplan.rst @@ -1,6 +1,7 @@ se.plan ======= -*Restoration planning tool using a weighted-sum approach* + +*Generate information on forest restoration potential to support forest restoration planning decisions with se.plan* Introduction ------------ @@ -8,29 +9,43 @@ Introduction Overview ^^^^^^^^ -**se.plan** is a spatially explicit online tool designed to support forest restoration planning decisions by restoration stakeholders. It is part of `SEPAL <https://sepal.io/>`_ (System for Earth Observation Data Access, Processing and Analysis for Land Monitoring), a component of UN FAO’s free, open-source software suite, `Open Foris <http://www.openforis.org>`_. It aims to identify locations where the benefits of forest restoration are high relative to restoration costs, subject to biophysical and socioeconomic constraints that users impose to define the areas where restoration is allowable. The computation is performed using cloud-based supercomputing and geospatial datasets from Google Earth Engine available through SEPAL. As a decision-support tool, it is intended to be used in combination with other information users may have that provides greater detail on planning areas and features of those areas that **se.plan** might not adequately include. It offers users the option to replace its built-in data layers, which are based on publicly available global datasets, with users’ own customized layers. Please see :ref:`seplan-appendix-a` for a list of **se.plan**’s built-in data layers and their sources. +**se.plan** is a spatially explicit online tool designed to support forest restoration planning decisions by restoration stakeholders. + +Part of `System for Earth Observation Data Access, Processing and Analysis for Land Monitoring (SEPAL) <https://sepal.io/>`_, a component of the free, open-source software suite, `Open Foris <http://www.openforis.org>`_ from the Food and Agriculture Organization of the United Nations (FAO), **se.plan** aims to identify locations where the benefits of forest restoration are high relative to restoration costs, subject to biophysical and socioeconomic constraints that users impose to define the areas where restoration is allowable. The computation is performed using cloud-based supercomputing and geospatial datasets from Google Earth Engine (GEE) available through SEPAL. + +As a decision-support tool, **se.plan** is intended to be used in combination with other information users may have that provides greater detail on planning areas and features of those areas that the tool might not adequately include. It offers users the option to replace its built-in data layers, which are based on publicly available global datasets, with users’ own customized layers (see :ref:`seplan-appendix-a` for a list of the tool’s built-in data layers and their sources). -The sections below highlight key features of **se.plan**. In brief, following the three steps below, se.plan can be used to generate information on forest restoration potential. +The following sections highlight key features of **se.plan**. + +Following the three steps below, the tool can be used to generate information on forest restoration potential. .. rst-class:: center - Users start by (i) selecting their geographical planning area, (ii) rating the relative importance of different restoration benefits from their perspective, and (iii) imposing constraints that limit restoration to only those sites they view as suitable, in view of ecological and socioeconomic risks. **se.plan** then generates maps and related information on restoration’s benefits, costs, and risks for all suitable sites within the planning area. +To generate maps and related information on restoration’s benefits, costs and risks for all suitable sites within the planning area: + + 1. Select your geographical planning area. -In addition to reading this manual, we encourage users to watch **se.plan** YouTube videos: + 2. Rate the relative importance of different restoration benefits from your perspective. + + 3. Impose constraints that limit restoration to only those sites viewed as suitable (related to ecological and socioeconomic risks). + +In addition to reading this article, the SEPAL team encourages users to watch the following video: .. youtube:: 37pCFhF4zBI Geographical resolution and scope ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -**se.plan** divides the Earth’s surface into grid cells with 30 arc-second resolution (≈1km at the equator). It includes only grid cells that satisfy the following four criteria (`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Frest_pot_gt_treecoverfrac_mask_urban>`__)): +**se.plan** divides the Earth’s surface into grid cells with 30 arc-second resolution (approximately 1 km at the equator). + +The tool only includes grid cells that satisfy the following four criteria (`view in GEE <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Frest_pot_gt_treecoverfrac_mask_urban>`__): -- They are in countries or territories of Africa and the Near East, Asia and the Pacific, and Latin America and the Caribbean that the World Bank classified as *low or middle-income countries* or territories (LMICs) during most years during 2000–2020. These countries and territories number 139 and are listed in :ref:`seplan-appendix-b`. +- They are in countries or territories of Africa and the Near East, Asia and the Pacific, and Latin America and the Caribbean that the World Bank classifies as *low- or middle-income countries* or territories (LMICs) during most years of the 2000–2020 period. There are 139 countries and territories in total and can be found in the section, :ref:`seplan-appendix-b`. - They include areas where tree cover can potentially occur under current climatic conditions, as determined by `Bastin et al. (2019) <https://doi.org/10.1126/science.aax0848>`_. - Their current tree cover, as measured by the European Space Agency’s Copernicus Programme (`Buchhorn et al. 2020 <https://doi.org/10.3390/rs12061044>`_), is less than their potential tree cover. - They are not in urban use. -**se.plan** labels grid cells that satisfy these criteria potential restoration sites. It treats each grid cell as an independent restoration planning unit, with its own potential to provide restoration benefits and to entail restoration costs and risks. +**se.plan** labels grid cells that satisfy these criteria as potential restoration sites. It treats each grid cell as an independent restoration planning unit, with its own potential to provide restoration benefits and entail restoration costs and risks. Methodology ----------- @@ -38,76 +53,79 @@ Methodology Selection of planning area ^^^^^^^^^^^^^^^^^^^^^^^^^^ -**se.plan** offers users multiple ways to select their planning area, which **se.plan** labels as *Area Of Interest* (AOI) as described in the :ref:`seplan-usage`. +**se.plan** offers users multiple ways to select a planning area, which the tool labels as **Area of interest (AOI)** as described in the :ref:`seplan-usage`. Restoration benefits ^^^^^^^^^^^^^^^^^^^^ -Restoration offers many potential benefits. In its current form, **se.plan** provides information on four benefits: +In its current form, **se.plan** provides information on four benefits: -- Biodiversity conservation -- Carbon sequestration -- Local livelihoods -- Wood production +- biodiversity conservation +- carbon sequestration +- local livelihoods +- wood production -**se.plan** includes two indicators each for biodiversity conservation and local livelihoods and one indicator each for carbon sequestration and wood production. Each indicator is associated with a data layer that estimates each grid cell’s relative potential to provide each benefit if the grid cell is restored; the relative potential is measured on a scale of 1 (low) to 5 (high). Please see :ref:`seplan-appendix-c` for more detail on the interpretation and generation of the data layers for the benefit indicators. +**se.plan** includes two indicators each for biodiversity conservation and local livelihoods, and one indicator each for carbon sequestration and wood production. Each indicator is associated with a data layer that estimates each grid cell’s relative potential to provide each benefit if the grid cell is restored; the relative potential is measured on a scale of 1 (low) to 5 (high) (see :ref:`seplan-appendix-c` for more information on the interpretation and generation of data layers for the benefit indicators). -Users rate the relative importance of these benefits from their standpoint (or the standpoint of stakeholders they represent), and **se.plan** then calculates an index that indicates each grid cell’s relative restoration value aggregated across all four benefit categories. This restoration value index is a weighted average of the benefits, with user ratings serving as the weights. It therefore accounts for not only the potential of a grid cell to provide each benefit but also the relative importance that a user assigns to each benefit. It is scaled from 1 (low restoration value) to 5 (high restoration value). Please see :ref:`seplan-appendix-d` for more detail on the generation of the index. +Users rate the relative importance of these benefits from their standpoint (or the standpoint of stakeholders they represent). Then, **se.plan** calculates an index that indicates each grid cell’s relative restoration value aggregated across all four benefit categories. This restoration value index is a weighted average of the benefits with user ratings serving as the weights. It therefore accounts for not only the potential of a grid cell to provide each benefit, but also the relative importance that a user assigns to each benefit. It is scaled from 1 (low restoration value) to 5 (high restoration value) (see :ref:`seplan-appendix-d` for more information on the generation of the index). Restoration cost ^^^^^^^^^^^^^^^^ Forest restoration incurs two broad categories of costs, **opportunity cost** and **implementation costs**. -**Opportunity cost** refers to the value of land if it is not restored to forest. **se.plan** assumes that the alternative land use would be some form of agriculture, either cropland or pasture. It sets the opportunity cost of potential restoration sites equal to the value of cropland for all sites where crops can be grown, with the opportunity cost for any remaining sites set equal to the value of pasture. Sites that cannot be used as either cropland or pasture are assigned an opportunity cost of zero. +**Opportunity cost** refers to the value of land if it is not restored to forest. **se.plan** assumes that the alternative land use would be some form of agriculture (either cropland or pasture). It sets the opportunity cost of potential restoration sites equal to the value of cropland for all sites where crops can be grown, with the opportunity cost for any remaining sites set equal to the value of pasture. Sites that cannot be used as either cropland or pasture are assigned an opportunity cost of zero. -**Implementation costs** refer to the expense of activities required to regenerate forests on cleared land. They include both: (i) initial expenses incurred in the first year of restoration (establishment costs), which are associated with such activities as site preparation, planting, and fencing; and (ii) expenses associated with monitoring, protection, and other activities during the subsequent 3–5 years that are required to enable the regenerated stand to reach the “free to grow” stage (operating costs). +**Implementation costs** refer to the expense of activities required to regenerate forests on cleared land, including both: -**se.plan** assumes that implementation costs include planting expenses on all sites. This assumption might not be valid on sites where natural regeneration is feasible. To account for this possibility, **se.plan** includes a data layer that predicts the variability of natural regeneration success. + 1. initial expenses incurred in the first year of restoration (**Establishment costs**), which are associated with such activities as site preparation, planting and fencing; and + 2. expenses associated with monitoring, protection and other activities during the subsequent three to five years that are required to enable the regenerated stand to reach the “free to grow” stage (**Operating costs**). -**se.plan** calculates the overall restoration cost of each site by summing the corresponding estimates of the opportunity cost and implementation costs. Please see :ref:`seplan-appendix-e` for more detail on the interpretation and generation of the data layers for opportunity and implementation costs. +**se.plan** assumes that implementation costs include planting expenses on all sites. This assumption might not be valid on sites where natural regeneration is feasible. To account for this possibility, the tool includes a data layer that predicts the variability of natural regeneration success. -Benefit-cost ratio +**se.plan** calculates the overall restoration cost of each site by combining the corresponding estimates of the **Opportunity cost** and **Implementation costs** (see :ref:`seplan-appendix-e` for more information on the interpretation and generation of the data layers for opportunity and implementation costs). + +Benefit–cost ratio ^^^^^^^^^^^^^^^^^^ -**se.plan** calculates an approximate benefit-cost ratio for each site by dividing the restoration value index by the restoration cost and converting the resulting number to a scale from 1 (small ratio) to 5 (large ratio). Sites with a higher ratio are the ones that **se.plan** predicts are more suitable for restoration, subject to additional investigation that draws on other information users have on the sites. Please see :ref:`seplan-appendix-d` for more detail on the generation and interpretation of this ratio. A key limitation is that the ratio does not account interdependencies across sites related to either benefits, such as the impact of habitat scale on species extinction risk, or costs, such as scale economies in planting trees. This limitation stems from **se.plan**’s treatment of each potential restoration site as an independent restoration planning unit. +**se.plan** calculates an approximate benefit–cost ratio for each site by dividing the restoration value index by the restoration cost and converting the resulting number to a scale from 1 (small ratio) to 5 (large ratio). Sites with a higher ratio are the ones that the tool predicts are more suitable for restoration, subject to additional investigation that draws on other information users have on the sites (see :ref:`seplan-appendix-d` for more information on the generation and interpretation of this ratio). + +A key limitation is that the ratio does not account for interdependencies across sites related to either benefits, such as the impact of habitat scale on species extinction risk, or costs, such as scale economies in planting trees. This limitation stems from the tool’s treatment of each potential restoration site as an independent restoration planning unit. Constraint ^^^^^^^^^^ **se.plan** allows users to impose constraints that limit restoration to only those sites they view as suitable, in view of ecological and socioeconomic risks. It groups the constraints into four categories: -- Biophysical (5 constraints): elevation, slope, annual rainfall, baseline water stress, terrestrial ecoregion -- Current land cover (5 constraints): Shrub land, Herbaceous vegetation, Agricultural land, Urban / built up, Bare / sparse vegetation, Snow and ice, Herbaceous wetland, Moss and lichen -- Forest change (3 constraints): deforestation rate, climate risk, natural regeneration variability -- Socio-economic constraints (6 constraints): protected areas, population density, declining population, property rights protection, accessibility to cities +- **Biophysical**, including elevation, slope, annual rainfall, baseline water stress and terrestrial ecoregion; +- **Current land cover**, including shrubland, herbaceous vegetation, agricultural land, urban/built up, bare/sparse vegetation, snow and ice, herbaceous wetland, and moss and lichen; +- **Forest change**, including deforestation rate, climate risk and natural regeneration variability; and +- **Socioeconomic**, including protected areas, population density, declining population, property rights protection, and accessibility to cities. -**se.plan** enables the user to adjust the values that will be masked from the analysis for most of these constraints. Some of the constraints are binary variables, with a value of 1 if a site has the characteristic associated with the variable and 0 if it does not. For these constraints, users can choose if they want to keep zeros or ones. - -Please see :ref:`seplan-appendix-f` for more detail on the interpretation and generation of the data layers for the constraints. +**se.plan** enables the user to adjust the values that will be masked from the analysis for most of these constraints. Some of the constraints are binary variables, with a value of 1 if a site has the characteristic associated with the variable and 0 if it does not. For these constraints, users can choose if they want to keep zeros or ones. (See :ref:`seplan-appendix-f` for more information on the interpretation and generation of the data layers for the constraints.) Customization ^^^^^^^^^^^^^ -Every Constraints, Costs and Indicators are based on layers provided within the tools. These layer may not be covering the AOI selected by the user or provide less accurate/updated data than the National datasets available. To allow user to improve the quality of the analysis **se.plan** provides the possiblity of replacing these datasets by any layer available with Google Earth Engine. +Constraints, costs and indicators are based on layers provided within the tools. These layers may not cover the AOI selected by the user, or may provide less accurate/up-to-date data than national datasets available. To allow users to improve the quality of the analysis, **se.plan** provides the possiblity of replacing these datasets by any layer available with GEE. -Please see :ref:`seplan-usage` section for more details on the customization process. +(See the :ref:`seplan-usage` section for more information on the customization process.) Output ^^^^^^ **se.plan** provides two outputs: -- A map of the Restoration suitability index scaled from 1 (low suitability) to 5 (high suitability). This map, generated within the Google Earth Engine API can be displayed in the app but also exported as a GEE asset or a :code:`.tif` file in your SEPAL folders. +- A map of the restoration suitability index scaled from 1 (low suitability) to 5 (high suitability). This map, generated within the GEE API can be displayed in the app but also exported as a GEE asset or a :code:`.tif` file in your SEPAL folders. .. thumbnail:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/restoration_map.png - :title: The map produced by Seplan showing which areas are best suited for restoration according to the select costs, benefits and constraints + :title: The map produced by se.plan showing which areas are best suited for restoration according to the selected costs, benefits and constraints. :group: se.plan -- A dashboard gathering informations on the AOI and sub-AOIs defined by the users. The suitability index is thus presented as surfaces in Mha but **se.plan** also displays the mean values of the benefits and the sum of all the used constraints and cost over the AOIs. +- A dashboard gathering information on the AOI and sub-AOIs defined by the user. The suitability index is thus presented as surfaces in mega hectares (Mha), but **se.plan** also displays the mean values of the benefits and the sum of all the used constraints and cost over the AOIs. .. thumbnail:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/dashboard_region.png - :title: The dashboard produced by Seplan showing which areas are best suited for restoration according to the select costs, benefits and constraints + :title: The dashboard produced by se.plan showing which areas are best suited for restoration, according to the select costs, benefits and constraints. :group: se.plan .. _seplan-usage: @@ -120,36 +138,37 @@ In this section, we will exaustively describe how to use the **se.plan** applica Open the app ^^^^^^^^^^^^ -To access the application, please connect to your SEPAL account following this link: https://sepal.io/. +To access the application, open your SEPAL account by going to https://sepal.io. -Then click on the purple wrench on the right side of your screen to access the dashboard of application (https://sepal.io/app-launch-pad). On this page all the available applications of SEPAL are displayed. +Then, select the purple wrench on the right side of your screen to access the **Apps** dashboard (https://sepal.io/app-launch-pad). All available SEPAL applications are displayed on this page. .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/app_dashboard.png - :alt: app dashboard + :alt: Apps dashboard -In the app dashboard, type "se.plan" in the search bar. The list of application should be reduce to one single application. +In the **Apps** dashboard, enter **se.plan** in the search bar. The list of applications should be reduced to one. .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/app_dashboard_filter.png :alt: app dashboard - -Click on it and wait until the loading is finished. The application will display the about page. +Select the **se.plan** app and wait until the loading is finished. The application will display the **About** page. .. note:: - You might need to manually start an instance that is more powerful than the default t1 instance. Refer to `Module <../module/index.html>`__` section to see how to start instances. + You might need to manually start an instance that is more powerful than the default **t1** instance (see the `Module <../module/index.html>`__` section to learn how to start instances). .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/landing_page.png :alt: landing_page -Use the left side drawers to navigate through the application panels. +Use the drawers on the left to navigate through the application panes. The next sections will guide you through each step of the **se.plan** process. Select AOI ^^^^^^^^^^ -The *restoration suitability index* (hereinafter referred to as *index*) will be calculated based on the user inputs. The first mandatory input is the Area Of Interest (AOI). In this step you’ll have the possibility to choose from a predefined list of administrative layers or use your own datasets, the available options are: +The **Restoration suitability index** (referred to as **Index**) will be calculated based on user inputs. + +The first mandatory input is the AOI. In this step, you’ll have the possibility to choose from a predefined list of administrative layers or use your own datasets. Available options include: **Predefined layers** @@ -161,20 +180,20 @@ The *restoration suitability index* (hereinafter referred to as *index*) will be - Vector file - Drawn shapes on map -- Google Earth Engine Asset +- GEE asset -After selecting the desired area, click over the :code:`Select these inputs` button and the map shows up your selection. Once you see the confirmation green message, click on the “Questionnaire” panel to move to the next step. +After selecting the desired area, select the :code:`Select these inputs` button; the map will display your selection. Once you see the green confirmation message, select the **Questionnaire** pane to move to the next step. .. note:: - You can only select one area of interest. In some cases, depending on the input data you could run out of resources in GEE. + You can only select one AOI. In some cases, depending on the input data, you could run out of resources in GEE. .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/aoi_selection.png :alt: AOI selection -.. warning:: +.. attention:: - As described in the first section of this manual, the layers provided in this application are covering the 139 countries defined as LMIC by the *World Bank*. If the selected AOI is out of these boundaries, then the provided layers cannot be used to compute the *index*. A warning message will remind the user that every used layer will thus need to be replaced by a custom one that will conver the missing area. + As described in the first section of this article, the layers provided in this application cover the 139 countries defined as LMICs by the World Bank. If the selected AOI is out of these boundaries, the provided layers cannot be used to compute the **Index**. A warning message will remind the user that every used layer will thus need to be replaced by a custom one that will cover the missing area. .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/out_of_lmic_selection.png :alt: Out of LMIC AOI @@ -182,23 +201,26 @@ After selecting the desired area, click over the :code:`Select these inputs` but Questionnaire ^^^^^^^^^^^^^ -The questionnaire is split in 2 steps, the constraints that will narrow the spatial extend of the computation and the benefits that will allow the user to customize the priorities of its restoration analysis. +The questionnaire is divided into two steps: + +- the constraints that will narrow the spatial extent of the computation; and +- the benefits that will allow the user to customize the priorities of the restoration analysis. Select constraints ****************** -.. warning:: +.. attention:: - This panel cannot be used prior to select an AOI + This pane cannot be used prior to selecting an AOI. -**se.plan** allows users to set constraints limiting restoration to only those sites they view as suitable, in view of ecological and socioeconomic risks. It groups the constraints into four categories: +**se.plan** allows users to set constraints limiting restoration to only those sites they view as suitable, specifically in light of ecological and socioeconomic risks. The tool groups the constraints into four categories: -- Biophysical (5 constraints): elevation, slope, annual rainfall, baseline water stress, terrestrial ecoregion -- Current land cover (8 constraints): Shrubs, Herbaceous vegetation, Cultivated and managed vegetation/agriculture, Urban / built up, Bare / sparse vegetation, Snow and ice, Herbaceous wetland, Moss and lichen -- Forest change (3 constraints): deforestation rate, climate risk, natural regeneration variability -- Socio-economic constraints (6 constraints): protected areas, population density, declining population, property rights protection, accessibility to cities +- **Biophysical constraints**, including elevation, slope, annual rainfall, baseline water stress and terrestrial ecoregion; +- **Current land cover**, including shrubs, herbaceous vegetation, cultivated and managed vegetation/agriculture, urban/built up, bare/sparse vegetation, snow and ice, herbaceous wetland, and moss and lichen; +- **Forest change**: deforestation rate, climate risk and natural regeneration variability; and +- **Socioeconomic constraints**, including protected areas, population density, declining population, property rights protection and accessibility to cities. -These categories are displayed to the user in expandable panels. Simply click on it to open its panel and select the appropriate constraint name in the dropdown menu labeled "criteria". The constraints customization will appear underneath. +These categories are displayed to the user in expandable panes. Select a category to open its pane and choose the appropriate constraint name in the dropdown menu labeled **Criteria**. The customization of contraints will appear underneath. .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/constraints.png :alt: constraints @@ -207,56 +229,54 @@ Some constraints are numerical or categorical, for which **se.plan** enables the .. tip:: - The values provided in the slider are computed on the fly over your AOI preventing the user from selecting a filter that would remove all pixels in your Area. + The values provided in the slider are computed on the fly over your AOI preventing the selection of a filter that would remove all pixels in your area. .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/slider.png :alt: binary -Other constraints are binary variables, with a value of 1 if a site has the characteristic associated with the variable and 0 if it does not. On the application it displays as a switch. For these constraints, users can choose if they want to keep zeros (switch off) or ones (switch on).. +Other constraints are binary variables (a value of 1 if a site has the characteristic associated with the variable, or a value of 0 if it does not), which can be set using a switch. For these constraints, users can choose if they want to keep 0s (switch off) or 1s (switch on). .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/binaries.png :alt: binary -Once the selection is finished, the selected constraints will be displayed as small chips in the expandable panel title, allowing the user to see all the selected constraints at a glance. - +Once the selection is finished, the chosen constraints will be displayed as small chips in the expandable pane title, allowing the user to see all the selected constraints at a glance. .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/chips.png - :alt: constraints chips + :alt: Constraints chips -Every selected constraints is corresponding to a layer provided by **se.plan** listed in :ref:`seplan-appendix-f`. These layers can be customized in this panel to use national data or to provide information on areas that are not covered by the tool default layers. You do not need to add constraints if there isn’t any. In this case, default values will be used and you can simply proceed to the next steps. +Every selected constraint corresponds to a layer provided by **se.plan** (listed in the section, :ref:`seplan-appendix-f`). These layers can be customized in this pane to use national data or to provide information on areas that are not covered by the tool's default layers. You do not need to add constraints if there aren't any. In this case, default values will be used and you can simply proceed to the next steps. .. note:: - To use a customized dataset, it need to be uploaded as a :code:`ee.Image` in Google Earth Engine. + To use a customized dataset, it needs to be uploaded as an :code:`ee.Image` in GEE. -Click on the pencil on the left side of the layer name and a popup will rise on the screen. It includes multiple information: +Select the pencil on the left side of the layer name and a pop-up window will appear, which provides: -- The layer name as it can be found in GEE -- The unit of the provided layer -- A map displaying the layer over the AOI using a linear viridis color scale (the legend is in the bottom left corner) +- the layer name as it can be found in GEE; +- the unit of the provided layer; and +- a map displaying the layer over the AOI using a linear viridis color scale (the legend is in the lower-left corner). -The user can change the layer to any other image from GEE. The map will update automatically to display this new layer and change the legend. If the provided layer uses another unit please change it. This unit will be used in the final report of **se.plan**. +The user can change the layer to any other image from GEE. The map will update automatically to display this new layer and change the legend. If the provided layer uses another unit, please change it. This unit will be used in **se.plan's** final report. -.. warning:: +.. attention:: - The user needs to have access to the provided custom layer to use it. if the asset cannot be accessed the application will fallback to the default one. + The user needs to have access to the provided custom layer to use it. If the asset cannot be accessed, the application will revert to the default. -Once the modifications are finished click on :code:`save` to apply the changes to the layer. If the constraint is non binary, the slider values will be updated to the customized dataset. +Once the modifications are finished, select :code:`save` to apply the changes to the layer. If the constraint is non-binary, the slider values will be updated to the customized dataset. -.. warning:: +.. attention:: - Don't forget to change the slider values after a layer customization. If your layer uses a different unit, all the pixels might be included in your filtering parameters. + Don't forget to change the slider values after a layer customization. If your layer uses a different unit, all pixels might be included in your filtering parameters. .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/custom_constraints.gif - :alt: constraints customization - + :alt: Constraints customization -Select Indicators +Select indicators ***************** -Users rate the relative importance of benefits from their standpoint (or the standpoint of stakeholders they represent), and **se.plan** then calculates an *index* that indicates each grid cell’s relative restoration value aggregated across all four benefit categories. To rate each indicator, the user simply ticks the corresponding checkbox. +Users rate the relative importance of benefits from their standpoint (or the standpoint of stakeholders they represent); then, **se.plan** calculates an **Index** that indicates each grid cell’s relative restoration value aggregated across all four benefit categories. To rate each indicator, the user simply ticks the corresponding checkbox. -.. warning:: +.. attention:: This step is mandatory if you would like to perform an analysis. If every indicator is set to low (0), then the final output will be 0 everywhere. @@ -265,7 +285,7 @@ Users rate the relative importance of benefits from their standpoint (or the sta .. tip:: - Using the pencil icon next to the indicator name, the user can customize the layer used by **se.plan** to compute its *index*. The editing popup panel is the same as the one presented in the previous section. + Utilizing the pencil icon next to the indicator name, the user can customize the layer used by **se.plan** to compute its **Index** (the editing pop-up pane is the same as the one presented in the previous section). .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/indicator_custom.gif :alt: indicators custom @@ -273,7 +293,7 @@ Users rate the relative importance of benefits from their standpoint (or the sta Select costs ************ -User can customize the layers that will be used as **costs** in the weighted sum approach. To change it the user will go to the third tab of the questionnaire panel ("COSTS") and click on the :icon:`fa-solid fa-pencil` to open the modification dialog interface. The editing popup panel is the same as the one presented in the previous section. +Users can customize the layers that will be used as **Costs** in the weighted sum approach by going to the third tab of the questionnaire pane (**Costs**) and selecting the :icon:`fa-solid fa-pencil` to open the modification dialog interface (the editing pop-up pane is the same as the one presented in the previous section). .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/costs.png :alt: indicators @@ -281,146 +301,148 @@ User can customize the layers that will be used as **costs** in the weighted sum Recipe ^^^^^^ -Next go to the Recipe panel. Recipe is the base information use by **se.plan** to compute the *restoration suitability index*. It's a :code:`.json` serialized version of all the inputs the user provided in the previous steps. It can be shared and reused by other users. You need to validate your recipe before proceed to the results. By clicking the “Save your recipe” button, all your customization in previous steps are recorded and validated. +Next, go to the **Recipe** pane. + +**Recipe** is the base information used by **se.plan** to compute the **Restoration suitability index**, which is a :code:`.json` serialized version of all user-provided inputs in the previous steps that can be shared and reused by other users. + +You need to validate your recipe before proceeding to the results. By selecting the **Save your recipe** button, customization completed in previous steps is recorded and validated. Validate recipe *************** -.. warning:: +.. attention:: - The AOI and Questionnaire steps need to be completed to validate the recipe. + The **AOI** and **Questionnaire** steps need to be completed to validate the recipe. -First the user should provide a name for its recipe. By default **se.plan** will use the current date but this can be specified to anything else. +First, the user should provide a name for the recipe. By default, **se.plan** uses the current date; however, this can be changed. .. note:: - If unauthorized folder characters (:code:`"`, :code:`\`, :code:`/`, :code:` `) are used they will be automatically replaced by :code:`_`. + If unauthorized folder characters (:code:`"`, :code:`\`, :code:`/`, :code:` `) are used, they will be automatically replaced by :code:`_`. -Once all the required inputs are provided, the user can validate the recipe by clicking on the :guilabel:`validate recipe` button. +Once all required inputs are provided, the user can validate the recipe by selecting the :guilabel:`validate recipe` button. -A :code:`.json` file will be created in the :code:`module_result/restoration_planning_module/` directory of your SEPAL workspace and a sum-up of your inputs wil be displayed in expandable panels. +A :code:`.json` file will be created in the :code:`module_result/restoration_planning_module/` directory of your SEPAL workspace and a summary of your inputs wil be displayed in expandable panes. .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/valid_recipe.png :alt: valid recipe -In the benefits section of the expandable panels, the user will find the list of indicators sets in the questionnaire with the selected wheights. If they are not matching its restoration priorities, they can still be modified in the questionnaire section. +In the **Benefits** section of the expandable panes, the user will find the list of indicators set in the **Questionnaire** with the selected weights. If they do not match restoration priorities, they can still be modified in the **Questionnaire** section. .. note:: - Don't forget to validate again the recipe every time a change is made in the prior sections (AOI selector and/or Quetionnaire). + Don't forget to validate the recipe every time a change is made in the prior sections (**AOI selector** and/or **Quetionnaire**). .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/indicators_recipe.png - :alt: indicators recipe + :alt: Indicators recipe -In the Constraints section of the expandable panels, the user will find the complete list of available constraints in the tool. The activated one will be displayed in blue. The red one will be ignored in the computation of the *restoration suitability index*. +In the **Constraints** section of the expandable panes, the user will find the complete list of available constraints in the tool. The activated constraint will be displayed in blue; the constraint in red will be ignored in the computation of the **Restoration suitability index**. .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/constraints_recipe.png - :alt: constraints recipe - + :alt: Constraints recipe Use existing recipe ******************* .. tip:: - Loading a recipe can be done without setting any AOI or questionnaire answers. + Loading a recipe can be done without setting any **AOI** or **Questionnaire** answers. -The recipe is a simple :code:`.json` file. it's meant to be shared and reused. To to so simply use the file selector of the recipe panel and select a recipe from your SEPAL workspace folder. +The recipe is a simple :code:`.json` file that is meant to be shared and reused. To do so, use the file selector of the **Recipe** pane and select a recipe from your **SEPAL workspace** folder. .. note:: - Only the :code:`.json` files will be available. - - If you've just uploaded the file, hit the :code:`reload` button to reload the file list of the menu. + - If you've just uploaded the file, select the :code:`reload` button to update the file list. .. tip:: - By default the file selector is pointing where **se.plan** is saving recipes and results. If the user wants to access the rest of its SEPAL workspace, simply click on the :code:`parent` link in the popup menu (on top of the list). + By default, the file selector displays the folder where **se.plan** saves recipes and results. If the user wants to access the rest of their **SEPAL workspace**, select the :code:`parent` link in the pop-up menu (on top of the list). -Once the user will click on :code:`apply the selected recipe`, **se.plan** will reload the AOI specified in the recipe and changed all the questionnaire answers according to the loaded recipe. It's then automatically validated. +Once the user selects :code:`apply the selected recipe`, **se.plan** will reload the AOI specified in the recipe and change all questionnaire answers according to the loaded recipe. It is then automatically validated. .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/load_recipe.gif - :alt: constraints recipe + :alt: Constraints recipe +Results map +^^^^^^^^^^^ -Result map -^^^^^^^^^^ - -.. warning:: +.. attention:: - the recipe needs to be validated + The recipe needs to be validated. -Once the recipe is validated, the :guilabel:`compute the restoration map` button is released and the *restoration suitability index* can be computed. Click the button to view the results map. +Once the recipe is validated, the :guilabel:`compute the restoration map` button is released and the **Restoration suitability index** can be computed. Select the button to view the results map. -The map will be centered on the selected AOI and the value of the *index* will be displayed from 1 to 5 using a color blind friendly color ramp, red being "not suitable" and blue "very suitable". +The map will be centred on the selected AOI and the value of the **Index** will be displayed from 1 to 5 using a color-blind, friendly color ramp (red being "not suitable" and blue "very suitable"). .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/restoration_map.png - :alt: restoration map + :alt: Restoration map .. note:: - The map can be downloaded as an asset to GEE or as a :code:`.tif` file. Click on the :icon:`fa-solid fa-cloud-arrow-down` button on the top left corner and follow the exportation instructions. + The map can be downloaded as an asset to GEE or as a :code:`.tif` file. Select the :icon:`fa-solid fa-cloud-arrow-down` button in the upper-left corner and follow the exportation instructions. Compute dashboard ^^^^^^^^^^^^^^^^^ -The compute dashboard button is initially deactivated, and will be activated after the results map correctly returned. Click on this button to view the dashboard where results will be displayed (see next section “Restoration dashboard”). The dashboard is a report of all the restoration information gathered by **se.plan** during the computation. It is run from the map and displayed in the "dasboard" page. +The **Compute dashboard** button is initially deactivated and will be activated after the **Results map** correctly returns. Select this button to view the dashboard where results will be displayed (see the section, Restoration dashboard). The dashboard is a report of all restoration information gathered by **se.plan** during the computation, run from the map and displayed on the **Dasboard** page. Select sub-AOI ************** -The Results from **se.plan** are given for the initial AOI. users can also provide sub-AOIs to the tool to provide extra information on smaller areas. The sub-area are not mandatory to compute the dashboard. +The **Results** from **se.plan** are given for the initial AOI. Users can also provide sub-AOIs to the tool to provide extra information on smaller areas (the sub-areas are not mandatory to compute the dashboard). .. important:: - Using sub-AOI is the only way to compare results for different zones as the normalization have been performed on the full extend of the initial AOI. + Using sub-AOI is the only way to compare results for different zones, as normalization has been performed on the full extent of the initial AOI. -The sub-AOIs can be selected using a shapefile. The sub-AOIs names will be the one set in the selected property. +The sub-AOIs can be selected using a shapefile. The names of the sub-AOIs will be the name set in the selected property. .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/load_shp.gif :alt: load shp -They can also be directly drawn on the map. There are three buttons under the cloud icon where you can choose to draw a polygon, a rectangle or a circle. Click any of them based on your needs. Each time a new geometry is drawned, a popup dialogue will ask the user to name it. This name will be used in the final report. You will need to click the compute dashboard button again to include all the sub-AOIs in the report. +The sub-AOIs can also be drawn directly on the map. There are three buttons under the cloud icon where you can choose to draw a polygon, rectangle or circle. Select any of them based on your needs. Each time a new geometry is drawn, a pop-up dialogue will ask the user to name it. This name will be used in the final report. You will need to select the **Compute dashboard** button again to include all sub-AOIs in the report. .. note:: - The user still have the possiblity to remove some geometry by clicking on the :icon:`fa-solid fa-trash-can` button on the map but editing is not possible. + The user can still remove some geometry by selecting the :icon:`fa-solid fa-trash-can` button on the map; however, editing is not possible. -.. danger:: +.. attention:: - Once the dashboard have been computed, sub-AOIs will be validated (a different color for each one of them) and it will be impossible to remove them. New geometries can still be added. + Once the dashboard has been computed, sub-AOIs will be validated (a different color for each); it will be impossible to remove them. New geometries can still be added. .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/custom_sub_aoi.gif - :alt: custom sub aoi + :alt: Custom sub-AOI Restoration dashboard ********************* -After clicking on :code:`compute dashboard` button, The report generated from the previous step is displayed in this panel. +After selecting the :code:`compute dashboard` button, the report generated from the previous step is displayed in the pane. -.. warning:: +.. attention:: - This action can take time as GEE needs to export and reduce information on the full extend of the user's initial AOI. Wait until the button stop spinning before changing page. + This action can take time, as GEE needs to export and reduce information on the full extent of the user's initial AOI. Wait until the button stops spinning before changing pages. -Th dasboard has 2 sections: +The dasboard has two sections: -#. Summary of restoration suitability by region -#. Area of interest - summary by subthemes +#. **Summary of restoration suitability by region** +#. **AOI - summary by sub-theme** -In the first one, the *restoration suitability index* is given as proportion of the AOI and the sub-AOIs. ISO3 codes rather than country names are used. Click on the details panel to get the surfaces of each restoration value in *MHa*. +In the first section, the **Restoration suitability index** is given as proportion of the AOI and the sub-AOIs (note: ISO3 codes are used rather than country names. Select the **Details** pane to get the surfaces of each restoration value in MHa. -The names use for AOIs are the one selected in the map. +The names used for AOIs are the names selected on the map. .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/dashboard_region.png - :alt: regional dashboard + :alt: Regional dashboard -In the second section, the summary is given by subtheme: +In the second section, the summary is given by sub-theme: **Benefits** -The mean value of each benefits is displayed in a bar chart. These charts use the unit corresponding to each layer and display the value for each sub-AOI. Value will be using the SI prefixes if the value is not readable in the original unit. The main AOI is first displayed in gold and the sub-AOIs are displayed using the color attributed when the dashboard was computed (i.e. the same as the one used on the map). +The mean value of each benefit is displayed in a bar chart. These charts use the unit corresponding to each layer and display the value for each sub-AOI. Value will be using prefixes from the International System of Units (SI) if the value is not readable in the original unit. The main AOI is first displayed in gold and the sub-AOIs are displayed in the color attributed when the dashboard was computed (i.e. the same as the one used on the map). .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/dashboard_benefits.png - :alt: dashboard benefits + :alt: Dashboard benefits **Costs** @@ -428,36 +450,38 @@ The sum of each cost over the AOI is displayed in bar charts in the same fashion .. tip:: - If the surface difference between the main AOI and sub-AOIs is important as in this example, the summed value will also be vastly different. + If the surface difference between the main AOI and sub-AOIs is important, as in this example, the total value will also be vastly different. .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/dashboard_costs.png - :alt: dashboard costs + :alt: Dashboard costs **Constraints** -The constraints are displayed in percentages. Each value represents the percentage of surface affected by the filter applied by this constraint over the AOI. each color represent an AOI: gold for the main AOI and the automatically attributed colors of the sub-AOIs. +The constraints are displayed in percentages. Each value represents the percentage of surface affected by the filter applied by this constraint over the AOI. Each color represents an AOI (gold for the main AOI and the automatically attributed colors of the sub-AOIs). .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/doc/img/dashboard_constraints.png - :alt: dashboard costs + :alt: Dashboard costs .. note:: - THe dashboard is also exported in .csv format to be easily interpreted in any spreadsheet software. It is stored at the same place as the recipe in :code:`module_results/se.plan/`. + The dashboard is also exported in .csv format to be easily interpreted in any spreadsheet software. It is stored in the same location as the recipe in :code:`module_results/se.plan/`. .. _seplan-appendix-a: Primary data sources -------------------- -The **se.plan** team obtained data for the default spatial layers in the tool from various sources. It determined potential tree cover using data from: +The **se.plan** team obtained data for the default spatial layers in the tool from the following sources. - J.F. Bastin, Y. Finegold, C. Garcia, et al., 2019, The global tree restoration potential, Science 365(6448), pp. 76–79, doi:`10.1126/science.aax084 <https://www.science.org/doi/10.1126/science.aax0848>`_ +For determining potential tree cover, data was used from: -It determined current tree cover using data from: + Bastin, J.F., Finegold, Y., Garcia, C. *et al.* 2019. The global tree restoration potential. *Science*, 365(6448), pp. 76–79. DOI:`10.1126/science.aax084 <https://www.science.org/doi/10.1126/science.aax0848>`_ - \M. Buchhorn, M. Lesiv, N.E. Tsendbazar, M. Herold, L. Bertels, B. Smets, 2020, Copernicus Global Land Cover Layers—Collection 2. Remote Sensing, 12 Volume 108, 1044. doi:`10.3390/rs12061044 <https://www.mdpi.com/2072-4292/12/6/1044>`_ +For determining current tree cover, data was used from: -It drew data for remaining spatial layers primarily from the following sources. For additional detail, see :ref:`seplan-appendix-c` (benefits), :ref:`seplan-appendix-e` (costs), and :ref:`seplan-appendix-f` (constraints). + Buchhorn, M., Lesiv, M., Tsendbazar, N.E., Herold, M., Bertels, L. and Smets, B. 2020. Copernicus Global Land Cover Layers—Collection 2. *Remote Sensing*, 12(108): 1044. doi:`10.3390/rs12061044 <https://www.mdpi.com/2072-4292/12/6/1044>`_ + +The team took data for the remaining spatial layers primarily from the sources presented in the following tables (for more information, see :ref:`seplan-appendix-c` [benefits], :ref:`seplan-appendix-e` [costs], and :ref:`seplan-appendix-f` [constraints]). Costs ^^^^^ @@ -466,18 +490,17 @@ Costs :header-rows: 1 Spatial layer, Data sources - Land opportunity cost, "International Food Policy Research Institute, 2019, Global Spatially-Disaggregated Crop Production Statistics Data for 2010 Version 2.0, https://doi.org/10.7910/DVN/PRFF8V, Harvard Dataverse, V4" - , "UN FAO, 2020, FAOSTAT: Crops, http://www.fao.org/faostat/en/#data/QC" - , "UN FAO, 2007, Occurrence of Pasture and Browse (FGGD), https://data.apps.fao.org/map/catalog/srv/eng/catalog.search#/metadata/913e79a0-7591-11db-b9b2-000d939bc5d8" - , "ESA, 2017, Land Cover CCI Product User Guide, Version2, maps.elie.ucl.ac.be/CCI/viewer/download/ESACCI-LC-Ph2-PUGv2_2.0.pdf" - , "UN FAO, 2018, Gridded Livestock of the World – Latest – 2010 (GLW 3), https://dataverse.harvard.edu/dataverse/glw_3, Harvard Dataverse, V3" - , "UN FAO, 2020, FAOSTAT: Livestock Primary, http://www.fao.org/faostat/en/#data/QL" - , "UN FAO, 2020, RuLIS - Rural Livelihoods Information System, http://www.fao.org/in-action/rural-livelihoods-dataset-rulis/en/" - , "World Bank, 2020, World Development Indicators, https://databank.worldbank.org/source/world-development-indicators" - , "CIESIN (Center for International Earth Science Information Network), 2018, Gridded Population of the World, Version 4 (GPWv4): Population Density, Revision 11, NASA Socioeconomic Data and Applications Center (SEDAC), https://doi.org/10.7927/H49C6VHW" - , "\M. Kummu, M. Taka, & J. Guillaume, 2018, Gridded global datasets for Gross Domestic Product and Human Development Index over 1990–2015, Scientific Data 5, 180004, https://doi.org/10.1038/sdata.2018.4" - Establishment cost, "World Bank, various years, Projects & Operations [project appraisal documents and implementation completion reports for selected projects], https://projects.worldbank.org/en/projects-operations/projects-home" - + Land opportunity cost, "International Food Policy Research Institute. 2019. Global Spatially-Disaggregated Crop Production Statistics Data for 2010 Version 2.0. Harvard Dataverse, V4. https://doi.org/10.7910/DVN/PRFF8V" + , "FAO (Food and Agriculture Organization of the United Nations). 2020. FAOSTAT: Crops. http://www.fao.org/faostat/en/#data/QC" + , "FAO. 2007. Occurrence of Pasture and Browse (FGGD). https://data.apps.fao.org/map/catalog/srv/eng/catalog.search#/metadata/913e79a0-7591-11db-b9b2-000d939bc5d8" + , "ESA (European Space Agency). 2017. Land Cover CCI Product User Guide, Version 2. maps.elie.ucl.ac.be/CCI/viewer/download/ESACCI-LC-Ph2-PUGv2_2.0.pdf" + , "FAO. 2018. Gridded Livestock of the World – Latest – 2010 (GLW 3). https://dataverse.harvard.edu/dataverse/glw_3, Harvard Dataverse, V3" + , "FAO. 2020. FAOSTAT: Livestock Primary. http://www.fao.org/faostat/en/#data/QL" + , "FAO. 2020. RuLIS - Rural Livelihoods Information System. http://www.fao.org/in-action/rural-livelihoods-dataset-rulis/en" + , "World Bank. 2020. World Development Indicators. https://databank.worldbank.org/source/world-development-indicators" + , "CIESIN (Center for International Earth Science Information Network). 2018. Gridded Population of the World, Version 4 (GPWv4): Population Density, Revision 11. NASA Socioeconomic Data and Applications Center (SEDAC). https://doi.org/10.7927/H49C6VHW" + , "Kummu, M., Taka, M. and Guillaume, J. 2018. Gridded global datasets for Gross Domestic Product and Human Development Index over 1990–2015. *Scientific Data*, 5: 180004. https://doi.org/10.1038/sdata.2018.4" + Establishment cost, "World Bank. n.d. Projects & Operations [project appraisal documents and implementation completion reports for selected projects]. https://projects.worldbank.org/en/projects-operations/projects-home" Benefits ^^^^^^^^ @@ -485,67 +508,67 @@ Benefits .. csv-table:: :header-rows: 1 - Spatial layer, subtheme, Data sources - Biodiversity intactness index, Biodiversity conservation, "\T. Newbold, L. Hudson, A. Arnell, et al., 2016, Dataset: Global map of the Biodiversity Intactness Index, from Newbold et al., 2016, Science, Natural History Museum Data Portal (data.nhm.ac.uk), https://doi.org/10.5519/0009936" - Endangered species, Biodiversity conservation, "Layer obtained from World Bank, which processed species range maps from: (i) IUCN, The IUCN Red List of Threatened Species, https://www.iucnredlist.org; and (ii) BirdLife International, Data Zone, http://datazone.birdlife.org/species/requestdis" - Unrealized biomass potential, Carbon sequestration, "W.S. Walker, S.R. Gorelik, S.C. Cook-Patton et al., 2022, The global potential for increased storage of carbon on land, Proceedings of the National Academy of Sciences, 119(23), p.e2111312119, https://doi.org/10.1073/pnas.2111312119." - Forest employment, Local livelihoods, "Downscaled estimates generated using national data from: International Labour Organization, 2020, Employment by sex and economic activity - ISIC level 2 (thousands) | Annual, ILOSTAT database, https://ilostat.ilo.org/data" - Woodfuel harvest, Local livelihoods, "Downscaled estimates generated using national data from: UN FAO, 2020, Forestry Production and Trade, FAOSTAT, http://www.fao.org/faostat/en/#data/FO" - Plantation growth rate, Wood production, "\F. Albanito, T. Beringer, R. Corstanje, et al., 2016, Carbon implications of converting cropland to bioenergy crops or forest for climate mitigation: a global assessment, GCB Bioenergy 8, pp. 81–95, https://doi.org/10.1111/gcbb.12242" + Spatial layer, Sub-theme, Data sources + Biodiversity intactness index, Biodiversity conservation, "Newbold, T., Hudson, L., Arnell, A. *et al.* 2016. Dataset: Global map of the Biodiversity Intactness Index. In: Newbold et al. 2016. Science: Natural History Museum Data Portal (data.nhm.ac.uk). https://doi.org/10.5519/0009936" + Endangered species, Biodiversity conservation, "Layer obtained from World Bank, which processed species range maps from: (i) IUCN. The IUCN Red List of Threatened Species. https://www.iucnredlist.org; and (ii) BirdLife International. Data Zone. http://datazone.birdlife.org/species/requestdis" + Unrealized biomass potential, Carbon sequestration, "Walker, W.S., Gorelik, S.R., Cook-Patton, S.C. *et al.* 2022. The global potential for increased storage of carbon on land. *Proceedings of the National Academy of Sciences*, 119(23): e2111312119. https://doi.org/10.1073/pnas.2111312119" + Forest employment, Local livelihoods, "Downscaled estimates generated using national data from: International Labour Organization. 2020. Employment by sex and economic activity - ISIC level 2 (thousands). Annual, ILOSTAT database. https://ilostat.ilo.org/data" + Woodfuel harvest, Local livelihoods, "Downscaled estimates generated using national data from: FAO. 2020. Forestry Production and Trade. In: *FAOSTAT*. http://www.fao.org/faostat/en/#data/FO" + Plantation growth rate, Wood production, "Albanito, F., Beringer, T., Corstanje, R. *et al.* 2016. Carbon implications of converting cropland to bioenergy crops or forest for climate mitigation: a global assessment. *GCB Bioenergy*, 8: pp. 81–95, https://doi.org/10.1111/gcbb.12242" Constraints ^^^^^^^^^^^ -biophysical +Biophysical *********** .. csv-table:: :header-rows: 1 Spatial layer, Data sources - Annual rainfall, "Muñoz Sabater, J., (2019): ERA5-Land monthly averaged data from 1981 to present. Copernicus Climate Change Service (C3S) Climate Data Store (CDS). https://doi.org/10.24381/cds.68d2bb3" - Baseline water stress, "World Resources Institute, 2021, Aqueduct Global Maps 3.0 Data, https://www.wri.org/data/aqueduct-global-maps-30-data" - Elevation, "T.G. Farr, P.A. Rosen, E. Caro, et al., 2007, The shuttle radar topography mission: Reviews of Geophysics, v. 45, no. 2, RG2004, at https://doi.org/10.1029/2005RG000183." - Slope, "T.G. Farr, P.A. Rosen, E. Caro, et al., 2007, The shuttle radar topography mission: Reviews of Geophysics, v. 45, no. 2, RG2004, at https://doi.org/10.1029/2005RG000183." - Terrestrial ecoregion, "UN FAO, 2012 Global ecological zones for fao forest reporting: 2010 Update, http://www.fao.org/3/ap861e/ap861e.pdf" + Annual rainfall, "Muñoz Sabater, J. 2019. ERA5-Land monthly averaged data from 1981 to present. *Copernicus Climate Change Service (C3S) Climate Data Store (CDS)*. https://doi.org/10.24381/cds.68d2bb3" + Baseline water stress, "World Resources Institute. 2021. Aqueduct Global Maps 3.0 Data. https://www.wri.org/data/aqueduct-global-maps-30-data" + Elevation, "Farr, T.G., Rosen, P.A., Caro, E. *et al.* 2007. The shuttle radar topography mission. *Reviews of Geophysics*, 45(2): RG2004. https://doi.org/10.1029/2005RG000183" + Slope, "Farr, T.G., Rosen, P.A., Caro, E. *et al.* 2007. The shuttle radar topography mission. *Reviews of Geophysics*, 45(2): RG2004. https://doi.org/10.1029/2005RG000183" + Terrestrial ecoregion, "FAO. 2012. Global ecological zones for FAO forest reporting: 2010 Update. http://www.fao.org/3/ap861e/ap861e.pdf" -forest change +Forest change ************* .. csv-table:: :header-rows: 1 Spatial layer, Data sources - Climate risk, "J.F. Bastin, Y. Finegold, C. Garcia, et al., 2019, The global tree restoration potential, Science 365(6448), pp. 76–79, DOI: 10.1126/science.aax0848; data downloaded from: https://www.research-collection.ethz.ch/handle/20.500.11850/350258" - Deforestation rate, "ESA, 2017, Land Cover CCI Product User Guide, Version 2, maps.elie.ucl.ac.be/CCI/viewer/download/ESACCI-LC-Ph2-PUGv2_2.0.pdf" - Natural regeneration variability, "Model from R. Crouzeilles, F.S. Barros, P.G. Molin, et al., 2019, A new approach to map landscape variation in forest restoration success in tropical and temperate forest biomes, J Appl Ecol. 56, pp. 2675– 2686, https://doi.org/10.1111/1365-2664.13501, applied to data from: ESA, 2017, Land Cover CCI Product User Guide, Version 2, maps.elie.ucl.ac.be/CCI/viewer/download/ESACCI-LC-Ph2-PUGv2_2.0.pdf" + Climate risk, "Bastin, J.F., Finegold, Y., Garcia, C. *et al.* 2019. The global tree restoration potential. *Science*, 365(6448): pp. 76–79. DOI: 10.1126/science.aax0848; data downloaded from: https://www.research-collection.ethz.ch/handle/20.500.11850/350258" + Deforestation rate, "ESA. 2017. Land Cover CCI Product User Guide, Version 2. maps.elie.ucl.ac.be/CCI/viewer/download/ESACCI-LC-Ph2-PUGv2_2.0.pdf" + Natural regeneration variability, "Model from Crouzeilles, R., Barros, F.S., Molin, P.G. *et al.* 2019. A new approach to map landscape variation in forest restoration success in tropical and temperate forest biomes. *Journal of Applied Ecology*, 56: pp. 2675–2686. https://doi.org/10.1111/1365-2664.13501; applied to data from: ESA. 2017. Land Cover CCI Product User Guide, Version 2. maps.elie.ucl.ac.be/CCI/viewer/download/ESACCI-LC-Ph2-PUGv2_2.0.pdf" -socio-economic +Socioeconomic ************** .. csv-table:: :header-rows: 1 Spatial layer, Data sources - Accessibility to cities, "D.J. Weiss, A. Nelson, H.S. Gibson, et al., 2018, A global map of travel time to cities to assess inequalities in accessibility in 2015, Nature, doi:10.1038/nature25181; data downloaded from: https://malariaatlas.org/research-project/accessibility-to-cities/" - Country risk premium, "\A. Damodaran, 2020, Damodaran Online, http://pages.stern.nyu.edu/~adamodar/" - Current land cover, "ESA, 2017, Land Cover CCI Product User Guide, Version 2, maps.elie.ucl.ac.be/CCI/viewer/download/ESACCI-LC-Ph2-PUGv2_2.0.pdf" - Declining population, "CIESIN (Center for International Earth Science Information Network), 2018, Gridded Population of the World, Version 4 (GPWv4): Population Density, Revision 11, NASA Socioeconomic Data and Applications Center (SEDAC), https://doi.org/10.7927/H49C6VHW" - Governance index, "World Bank, 2020, Worldwide Governance Indicators, https://info.worldbank.org/governance/wgi/" - Land designated for or owned by IP and LC, "Rights and Resources Initiative, 2015, Who Owns the World’s Land? A global baseline of formally recognized indigenous and community land rights, Washington, DC" - Net imports of forest products, "UN FAO, 2020, Forestry Production and Trade, FAOSTAT, http://www.fao.org/faostat/en/#data/FO" - Population density, "CIESIN (Center for International Earth Science Information Network), 2018, Gridded Population of the World, Version 4 (GPWv4): Population Density, Revision 11, NASA Socioeconomic Data and Applications Center (SEDAC), https://doi.org/10.7927/H49C6VHW" - Perceived property security, "Prindex, 2020, https://www.prindex.net/" - Property rights protection, "Downscaled estimates generated using national data from: World Bank, 2020, Worldwide Governance Indicators, https://info.worldbank.org/governance/wgi/" - Protected area, "IUCN, World Database on Protected Areas, https://www.iucn.org/theme/protected-areas/our-work/world-database-protected-areas" - Real interest rate, "World Bank, 2020, World Development Indicators, https://databank.worldbank.org/source/world-development-indicators" + Accessibility to cities, "Weiss, D.J., Nelson, A., Gibson, H.S. *et al.* 2018. A global map of travel time to cities to assess inequalities in accessibility in 2015. *Nature*. doi:10.1038/nature25181; data downloaded from: https://malariaatlas.org/research-project/accessibility-to-cities" + Country risk premium, "Damodaran, A. 2020. Damodaran Online. http://pages.stern.nyu.edu/~adamodar" + Current land cover, "ESA. 2017. Land Cover CCI Product User Guide, Version 2. maps.elie.ucl.ac.be/CCI/viewer/download/ESACCI-LC-Ph2-PUGv2_2.0.pdf" + Declining population, "CIESIN (Center for International Earth Science Information Network). 2018. Gridded Population of the World, Version 4 (GPWv4): Population Density, Revision 11. NASA Socioeconomic Data and Applications Center (SEDAC). https://doi.org/10.7927/H49C6VHW" + Governance index, "World Bank. 2020. Worldwide Governance Indicators. https://info.worldbank.org/governance/wgi/" + Land designated for or owned by Indigenous Peoples and local communities (IPLCs), "Rights and Resources Initiative. 2015. Who Owns the World’s Land? A global baseline of formally recognized indigenous and community land rights. Washington, DC." + Net imports of forest products, "FAO. 2020. Forestry Production and Trade. In: *FAOSTAT*. http://www.fao.org/faostat/en/#data/FO" + Population density, "CIESIN (Center for International Earth Science Information Network). 2018. Gridded Population of the World, Version 4 (GPWv4): Population Density, Revision 11. NASA Socioeconomic Data and Applications Center (SEDAC). https://doi.org/10.7927/H49C6VHW" + Perceived property security, "Prindex. 2020. https://www.prindex.net" + Property rights protection, "Downscaled estimates generated using national data from: World Bank. 2020. Worldwide Governance Indicators. https://info.worldbank.org/governance/wgi" + Protected area, "IUCN (International Union for Conservation of Nature). World Database on Protected Areas. https://www.iucn.org/theme/protected-areas/our-work/world-database-protected-areas" + Real interest rate, "World Bank. 2020. World Development Indicators. https://databank.worldbank.org/source/world-development-indicators" .. _seplan-appendix-b: Countries --------- -Countries and territories in **se.plan**, by World Bank region. +Countries and territories in **se.plan** (organized by World Bank region; ISO refers to the International Organization for Standardization; UNI refers to the Italian National Standards Body; UNDP refers to the United Nations Development Programme; FAOSTAT refers to the Food and Agriculture Organization Corporate Statistical Database; GAUL refers to Global Administrative Unit Layers). East Asia & Pacific ^^^^^^^^^^^^^^^^^^^ @@ -679,7 +702,7 @@ South Asia Pakistan,the Islamic Republic of Pakistan,PAK,PK,586,PAK,165,188 Sri Lanka,the Democratic Socialist Republic of Sri Lanka,LKA,LK,144,LKA,38,231 -Sub-Saharan Africa +sub-Saharan Africa ^^^^^^^^^^^^^^^^^^ .. csv-table:: @@ -739,23 +762,25 @@ Sub-Saharan Africa .. _seplan-appendix-c: -Benefits data layers --------------------- +Data layers for benefits +------------------------ .. note:: - Every data layer presented in the following document can be displayed in Google Earth Engine as an overview of our datasets. Click on the provided link in the description, you'll be redirected to the GEE code editor panel. The selected layer will be displayed over Uganda. To modify the country change the :code:`fao_gaul` variable line 7 by your country number (listed in the Country list section in the rightmost column). If you want to export this layer, please set the value of :code:`to_export` (line 10) and :code:`to_drive` (line 13) according to your need. + Every data layer presented in the following document can be displayed in GEE as an overview of our datasets. Select the provided link in the description to be redirected to the **GEE code editor** pane. The selected layer will be displayed over Uganda. To modify the country, change the :code:`fao_gaul` variable Line 7 by your country number (listed in the **Country list** section in the rightmost column). If you want to export this layer, set the value of :code:`to_export` (Line 10) and :code:`to_drive` (Line 13) according to your need. Hit the :guilabel:`run` button again to relaunch the computation. - Code used for this display can be found `here <https://github.com/12rambau/restoration_planning_module/blob/master/utils/code/display_layer.md>`__. + Code used for this display can be found `on this page <https://github.com/12rambau/restoration_planning_module/blob/master/utils/code/display_layer.md>`__. In its current form, **se.plan** provides information on four categories of potential benefits of forest restoration: -- Biodiversity conservation -- Carbon sequestration -- Local livelihoods -- Wood production +- biodiversity conservation +- carbon sequestration +- local livelihoods +- wood production + +**se.plan** does not predict the levels of benefits that will occur if forests are restored. Instead, it uses data on benefit-related site characteristics to quantify the potential of a site to provide benefits if it is restored. To clarify this distinction, consider the case of species extinctions. For example, a predictive tool might estimate the number of extinctions avoided if restoration occurs. To do so, it would need to account for restoration scale and interdependencies across sites associated with distances and corridors between restored sites. -**se.plan** does not predict the levels of benefits that will occur if forests are restored. Instead, it uses data on benefit-related site characteristics to quantify the potential of a site to provide benefits if it is restored. To clarify this distinction, consider the case of species extinctions. A predictive tool might, for example, estimate the number of extinctions avoided if restoration occurs. To do so, it would need to account for restoration scale and interdependencies across sites associated with distances and corridors between restored sites. **se.plan** instead takes a simpler approach: it includes information on the total number of critically endangered and endangered amphibians, reptiles, birds, and mammals at each site. Sites with a larger number of critically endangered and endangered species are ones where the potential number of avoided extinctions is greater. Realizing the benefit of reduced extinctions depends on factors beyond simply restoring an individual site, including the type of forest that is restored (native tree species or introduced tree species, single tree species or multiple tree species, etc.) and the pattern of restoration in the rest of the landscape. Interpreting **se.plan** output in the context of additional, location-specific information available to a user is therefore important. +**se.plan** takes a simpler approach: the tool includes information on the total number of critically endangered and endangered amphibians, reptiles, birds and mammals at each site. Sites with a larger number of critically endangered and endangered species have a greater potential number of avoided extinctions. Realizing the benefit of reduced extinctions depends on factors beyond simply restoring an individual site, including the type of forest that is restored (native tree species or introduced tree species, single tree species or multiple tree species, etc.) and the pattern of restoration in the rest of the landscape. Therefore, interpreting **se.plan** outputs in the context of additional, location-specific information available to a user is important. Quantitative measures of potential benefits in **se.plan** should be viewed as averages for a grid cell. Potential benefits could be higher at some locations within a given grid cell and lower at others. @@ -765,40 +790,40 @@ Quantitative measures of potential benefits in **se.plan** should be viewed as a * - Variable - Description - Source - * - Endangered species (Biodiversity conservation) in **count** - - Total number of critically endangered and endangered amphibians, reptiles, birds, and mammals whose ranges overlap a site. Rationale for including in se.plan: sites with a larger number of critically endangered and endangered species are ones where successful forest restoration can potentially contribute to reducing a larger number of extinctions. (`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Fterra-bio-div-image>`__) - - World Bank, which processed over 25,000 species range maps from: (i) IUCN, The IUCN Red List of Threatened Species, https://www.iucnredlist.org; and (ii) BirdLife International, Data Zone, http://datazone.birdlife.org/species/requestdis. Resolution of World Bank layer: 1 kilometer. More information may be found at https://datacatalog.worldbank.org/dataset/terrestrial-biodiversity-indicators, and data may be downloaded at http://wbg-terre-biodiv.s3.amazonaws.com/listing.html. See also: (i) Dasgupta, Susmita; Wheeler, David. 2016. Minimizing Ecological Damage from Road Improvement in Tropical Forests. Policy Research Working Paper: No. 7826. World Bank, Washington, DC. (ii) Danyo Stephen, Susmita Dasgupta and David Wheeler. 2018. Potential Forest Loss and Biodiversity Risks from Road Improvement in Lao PDR. World Bank Policy Research Working Paper 8569. World Bank, Washington, DC. (iii) Damania Richard, Jason Russ, David Wheeler and Alvaro Federico Barra. 2018. The Road to Growth: Measuring the Tradeoffs between Economic Growth and Ecological Destruction, World Development, Elsevier, vol. 101(C), pp. 351-376. - * - BII gap (Biodiversity conservation) in **percent** - - The biodiversity intactness index (BII) describes the average abundance of a large and diverse set of organisms in a given geographical area, relative to the set of originally present species. se.plan subtracts the BII from 100, to measure the gap between full intactness and current intactness. Rationale for including in se.plan: sites with a larger BII gap are ones where successful forest restoration can potentially contribute to reducing a larger gap. (`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Fibii-4326>`__) - - \T. Newbold, L. Hudson, A. Arnell, et al., 2016, Dataset: Global map of the Biodiversity Intactness Index, from Newbold et al., 2016, Science, Natural History Museum Data Portal (data.nhm.ac.uk), https://doi.org/10.5519/0009936. Resolution of Newbold et al. layer: 1 km. See also: (i) Scholes, R.J. and Biggs, R., 2005. A biodiversity intactness index. Nature, 434(7029), pp.45-49. (ii) Newbold, T., Hudson, L.N., Arnell, A.P., Contu, S., De Palma, A., Ferrier, S., Hill, S.L., Hoskins, A.J., Lysenko, I., Phillips, H.R. and Burton, V.J., 2016. Has land use pushed terrestrial biodiversity beyond the planetary boundary? A global assessment. Science, 353(6296), pp.288-291. - * - Unrealized biomass potential (Carbon sequestration) in **metric tons C/hectare** - - Unrealized potential aboveground biomass, belowground biomass, and soil organic carbon combined density (megagrams carbon per hectare) under baseline climate. (see below). (`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fee-amcmahon%2Fassets%2Fseplan%2Fseplan_layers%2FBase_Unr_AGB_BGB_SOC_MgCha_500m>`__) - - W.S. Walker, S.R. Gorelik, S.C. Cook-Patton et al., 2022, The global potential for increased storage of carbon on land, Proceedings of the National Academy of Sciences, 119(23), p.e2111312119, https://doi.org/10.1073/pnas.2111312119. Resolution of Walker et al. layer: 500 m. - * - Forest employment (Local livelihoods) in **count** - - Number of forest-related jobs per ha of forest in 2015, summed across three economic activities: forestry, logging, and related service activities; manufacture of wood and of products of wood and cork, except furniture; and manufacture of paper and paper products. Varies by country and, when data are sufficient for downscaling, first-level administrative subdivision (e.g., state or province). Rationale for including in se.plan: a higher level of forest employment implies the existence of attractive business conditions for labor-intensive wood harvesting and processing industries, which tends to make forest restoration more feasible when income for local households is a desired benefit. (`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Femp_ha>`__) - - Developed by se.plan team, by downscaling national data from: International Labour Organization, 2020, Employment by sex and economic activity - ISIC level 2 (thousands) | Annual, ILOSTAT database, https://ilostat.ilo.org/data - * - Woodfuel harvest (Local livelihoods) in **m3/hectare** - - Harvest of wood fuel per hectare of forest in 2015. Rationale for including in se.plan: a higher level of wood fuel harvest implies greater demand for wood fuel as an energy source, which tends to make forest restoration more feasible when supply of wood to meet local demands is a desired benefit. (`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2FWoodfuel_gadm36_1_edited_image>`__) - - Developed by se.plan team, by downscaling national data from: UN FAO, 2020, Forestry Production and Trade, FAOSTAT, http://www.fao.org/faostat/en/#data/FO - * - Plantation growth rate (Wood production) in **dry metric tons of woody biomass/hectare/year** - - Potential annual production of woody biomass by fast-growing trees such as eucalypts, poplars, and willows. Rationale for including in se.plan: faster growth of plantation trees tends to make forest restoration more feasible when desired benefits include income for landholders and wood supply to meet local and export demands. (`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Fyields-4326>`__) - - \F. Albanito, T. Beringer, R. Corstanje, et al., 2016, Carbon implications of converting cropland to bioenergy crops or forest for climate mitigation: a global assessment, GCB Bioenergy 8, pp. 81–95, https://doi.org/10.1111/gcbb.12242. Resolution of Albanito et al. layer: 55 km. + * - Endangered species (biodiversity conservation) in **count** + - Total number of critically endangered and endangered amphibians, reptiles, birds and mammals whose ranges overlap a site. Rationale for including in **se.plan**: sites with a larger number of critically endangered and endangered species are ones where successful forest restoration can potentially contribute to reducing a larger number of extinctions (`view in GEE <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Fterra-bio-div-image>`__). + - World Bank, which processed over 25 000 species range maps from: (i) IUCN. The IUCN Red List of Threatened Species. https://www.iucnredlist.org; and (ii) BirdLife International. Data Zone. http://datazone.birdlife.org/species/requestdis. Resolution of World Bank layer: 1 km. More information may be found at https://datacatalog.worldbank.org/dataset/terrestrial-biodiversity-indicators; data may be downloaded at http://wbg-terre-biodiv.s3.amazonaws.com/listing.html. See also: (i) Dasgupta, S. and Wheeler, D. 2016. Minimizing Ecological Damage from Road Improvement in Tropical Forests. Policy Research Working Paper: No. 7826. Washington, DC, World Bank; (ii) Danyo, S., Dasgupta, S. and Wheeler, D. 2018. Potential Forest Loss and Biodiversity Risks from Road Improvement in Lao PDR. World Bank Policy Research Working Paper 8569. Washington, DC, World Bank; (iii) Damania, R., Russ, J., Wheeler, D. and Barra, A.F. 2018. The Road to Growth: Measuring the Tradeoffs between Economic Growth and Ecological Destruction, World Development. Elsevier, 101(C): pp. 351–376. + * - Biodiversity Intactness Index (BII) gap (Biodiversity conservation) in **percent** + - The BII describes the average abundance of a large and diverse set of organisms in a given geographical area, relative to the set of originally present species. **se.plan** subtracts the BII from 100 to measure the gap between full intactness and current intactness. Rationale for including in **se.plan**: sites with a larger BII gap are ones where successful forest restoration can potentially contribute to reducing a larger gap (`view in GEE <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Fibii-4326>`__). + - Newbold, T., Hudson, L., Arnell, A. *et al.* 2016. Dataset: Global map of the Biodiversity Intactness Index. In: Newbold *et al.* 2016. Science. Natural History Museum Data Portal (data.nhm.ac.uk). https://doi.org/10.5519/0009936. Resolution of Newbold *et al.* layer: 1 km; see also: (i) Scholes, R.J. and Biggs, R. 2005. A biodiversity intactness index. *Nature*, 434(7029): pp.45-49; (ii) Newbold, T., Hudson, L.N., Arnell, A.P., Contu, S., De Palma, A., Ferrier, S., Hill, S.L., Hoskins, A.J., Lysenko, I., Phillips, H.R. and Burton, V.J. 2016. Has land use pushed terrestrial biodiversity beyond the planetary boundary? A global assessment. *Science*, 353(6296), pp. 288–291. + * - Unrealized biomass potential (carbon sequestration) in **metric tonnes of carbon (C)/hectare** + - Unrealized potential above ground biomass, below ground biomass, and soil organic carbon combined density (mega grammes carbon per hectare) under baseline climate (see below) (`view in GEE <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fee-amcmahon%2Fassets%2Fseplan%2Fseplan_layers%2FBase_Unr_AGB_BGB_SOC_MgCha_500m>`__). + - Walker, W.S., Gorelik, S.R., Cook-Patton, S.C. *et al.* 2022. The global potential for increased storage of carbon on land. *Proceedings of the National Academy of Sciences*, 119(23): p. e2111312119. https://doi.org/10.1073/pnas.2111312119. Resolution of Walker *et al.* layer: 500 m. + * - Forest employment (local livelihoods) in **count** + - Number of forest-related jobs per ha of forest in 2015, combined across three economic activities: forestry, logging and related service activities; manufacture of wood and of products of wood and cork, except furniture; and manufacture of paper and paper products. Varies by country and, when data are sufficient for downscaling, first-level administrative subdivision (e.g. state or province). Rationale for including in **se.plan**: a higher level of forest employment implies the existence of attractive business conditions for labor-intensive wood harvesting and processing industries, which tends to make forest restoration more feasible when income for local households is a desired benefit. (`view in GEE <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Femp_ha>`__) + - Developed by the **se.plan** team by downscaling national data from: International Labour Organization. 2020. Employment by sex and economic activity - ISIC level 2 (thousands). Annual, ILOSTAT database. https://ilostat.ilo.org/data + * - Woodfuel harvest (local livelihoods) in m<sup>3</sup>/hectare + - Harvest of woodfuel per hectare of forest in 2015. Rationale for including in **se.plan**: a higher level of woodfuel harvest implies greater demand for woodfuel as an energy source, which tends to make forest restoration more feasible when supply of wood to meet local demands is a desired benefit (`view in GEE <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2FWoodfuel_gadm36_1_edited_image>`__). + - Developed by **se.plan** team by downscaling national data from: FAO. 2020. Forestry Production and Trade. In: *FAOSTAT*. http://www.fao.org/faostat/en/#data/FO + * - Plantation growth rate (wood production) in **annual dry metric tonnes of woody biomass/hectare** + - Potential annual production of woody biomass by fast-growing trees such as eucalypts, poplars and willows. Rationale for including in **se.plan**: faster growth of plantation trees tends to make forest restoration more feasible when desired benefits include income for landholders and wood supply to meet local and export demands (`view in GEE <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Fyields-4326>`__). + - Albanito, F., Beringer, T., Corstanje, R. *et al.* 2016. Carbon implications of converting cropland to bioenergy crops or forest for climate mitigation: a global assessment. *GCB Bioenergy*, 8: pp. 81–95, https://doi.org/10.1111/gcbb.12242; resolution of Albanito *et al.* layer: 55 km. .. _seplan-appendix-d: -Benefit-cost ratio +Benefit–cost ratio ------------------ In its current form, **se.plan** includes numerical estimates of four categories of potential restoration benefits for each potential restoration site: -- Biodiversity conservation -- Carbon sequestration -- Local livelihoods -- Wood production. +- biodiversity conservation +- carbon sequestration +- local livelihoods +- wood production -Denote these benefits, respectively, by :math:`B_1`, :math:`B_2`, :math:`B_3`, and :math:`B_4`. The data on which the benefit estimates are based have different units. To enable the benefit estimates to be compared to each other, **se.plan** converts them to the same, relative scale, which ranges from 1 (low) to 5 (high). **se.plan** includes two indicators each for :math:`B_1` and :math:`B_3` and a single indicator for :math:`B_2` and :math:`B_4`. We return to this difference in number of indicators below. +Denote these benefits, respectively, by :math:`B_1`, :math:`B_2`, :math:`B_3`, and :math:`B_4`. The data on which the benefit estimates are based have different units. To enable the benefit estimates to be compared with each other, **se.plan** converts them to the same relative scale, which ranges from 1 (low) to 5 (high). The tool includes two indicators each for :math:`B_1` and :math:`B_3`, and a single indicator for :math:`B_2` and :math:`B_4`. We return to this difference in number of indicators below. -**se.plan** users rate the relative importance of each benefit on a scale of 1 (low) to 5 (high). **se.plan** treats these ratings as weights and calculates a restoration value index for each site by the weighted-average formula: +**se.plan** users rate the relative importance of each benefit on a scale of 1 (low) to 5 (high). The tool treats these ratings as weights and calculates a restoration value index for each site by the weighted-average formula: .. math:: @@ -806,130 +831,129 @@ Denote these benefits, respectively, by :math:`B_1`, :math:`B_2`, :math:`B_3`, a Where :math:`w_1`, :math:`w_2`, :math:`w_3`, and :math:`w_4` are the user ratings for the four corresponding benefits. -**se.plan** also includes numerical estimates of restoration cost, defined as the sum of opportunity cost and implementation cost in 2017 US dollars per hectare, for each potential restoration site. **se.plan** calculates an approximate benefit-cost ratio by dividing the restoration value index by the estimate of restoration cost: +The tool also includes numerical estimates of restoration cost, defined as the sum of opportunity cost and implementation cost expressed in USD per hectare for reference year 2017 for each potential restoration site. + +**se.plan** calculates an approximate benefit–cost ratio by dividing the restoration value index by the estimate of restoration cost: .. math:: Benefit\_cost\_ratio = Restoration\_value\_index / Restoration\_cost. -The benefit-cost ratio in **se.plan** is approximate in several ways. In particular, **se.plan** does not value potential restoration benefits in monetary terms, and it does not calculate the discounted sum of benefits over a multi-year time period that extends into the future. Its cost estimates account for the future to a greater degree, however; see :ref:`seplan-appendix-e`. As a final step, **se.plan** converts the benefit-cost ratio across all sites in the user’s area of interest to a scale from 1 (low) to 5 (high). It reports this value as the *restoration suitability index* on the map and dashboard. +The benefit-cost ratio in **se.plan** is approximate in several ways. In particular, the tool does not value potential restoration benefits in monetary terms, and it does not calculate the discounted sum of benefits over a multi-year time period that extends into the future; however, **se.plan's** cost estimates account for the future to a greater degree (see :ref:`seplan-appendix-e`). As a final step, the tool converts the benefit–cost ratio across all sites in the user’s AOI to a scale from 1 (low) to 5 (high), reporting this value as the **Restoration suitability index** on the map and dashboard. -As noted above, **se.plan** includes two indicators for benefits :math:`B_1` (biodiversity conservation) and :math:`B_3` (local livelihoods). For :math:`B_1`, the two indicators are the *biodiversity intactness index* and *number of endangered species*. Denote these two indicators by :math:`B_1a` and :math:`B_1b`. **se.plan** converts each of these indicators to a 1-5 scale and then calculates the overall biodiversity benefit, :math:`B_1`, as their simple average: +As noted above, **se.plan** includes two indicators for benefits :math:`B_1` (biodiversity conservation) and :math:`B_3` (local livelihoods). For :math:`B_1`, the two indicators are the **Biodiversity intactness index** and **Number of endangered species** (denote these two indicators by :math:`B_1a` and :math:`B_1b`). The tool converts each of these indicators to a 1–5 scale and then calculates the **Overall biodiversity benefit**, :math:`B_1`, as their simple average: .. math:: B_1 = (B_1a + B_1b) / 2 -**se.plan** calculates the overall local livelihoods benefit in the same way from its two constituent indicators, *forest employment* and *woodfuel harvest*. +**se.plan** calculates the overall local livelihoods benefit in the same way from its two constituent indicators, **Forest employment** and **Woodfuel harvest**. .. _seplan-appendix-e: Cost data layers ---------------- -In the cases of benefits (:ref:`seplan-appendix-c`) and constraints (:ref:`seplan-appendix-f`), the **se.plan** team adopted the tool’s data layers primarily from existing sources, with little or no modification of the original layers. In contrast, it developed wholly new data layers for both the *opportunity cost* and the *implementation cost* of forest restoration. Developing these layers involved multiple steps, which are described below. +In the case of benefits (:ref:`seplan-appendix-c`) and constraints (:ref:`seplan-appendix-f`), the **se.plan** team adopted the tool’s data layers primarily from existing sources, with little or no modification of the original layers. In contrast, it developed wholly new data layers for both the opportunity cost and the implementation cost of forest restoration. Developing these layers involved multiple steps, which are described below. .. note:: - Every data layer presented in the following document can be displayed in Google Earth Engine as an overview of our datasets. Click on the provided link in the description, you'll be redirected to the GEE code editor panel. The selected layer will be displayed over Uganda. To modify the country change the :code:`fao_gaul` variable line 7 by your country number (listed in the Country list section). If you want to export this layer, please set the value of :code:`to_export` (line 10) and :code:`to_drive` (line 13) according to your need. - Hit the :code:`run` button again to relaunch the computation. - Code used for this display can be found `here <https://github.com/12rambau/restoration_planning_module/blob/master/utils/code/display_layer.md>`__. + Every data layer presented in the following document can be displayed in GEE as an overview of our datasets. Select the provided link in the description to be redirected to the **GEE code editor** pane. The selected layer will be displayed over Uganda. To modify the country, change the :code:`fao_gaul` variable Line 7 to your country number (listed in the **Country list** section). If you want to export this layer, please set the value of :code:`to_export` (Line 10) and :code:`to_drive` (Line 13) according to your need. + Select the :code:`run` button again to relaunch the computation. + Code used for this display can be found `on this page <https://github.com/12rambau/restoration_planning_module/blob/master/utils/code/display_layer.md>`__. Opportunity cost ^^^^^^^^^^^^^^^^ -*pportunity cost* in **se.plan** refers to the value of land if it is not restored to forest: i.e., the value of land in its current use. A higher opportunity cost tends to make restoration less feasible, although restoration can nevertheless be feasible on land with a high opportunity cost if it generates sufficiently large benefits. **se.plan** assumes that the alternative land use would be some form of agriculture, either cropland or pastureland. It sets the *opportunity cost* of potential restoration sites equal to the value of cropland for all sites where crops can be grown, with the opportunity cost for any remaining sites set equal to the value of pastureland. +**Opportunity cost** in **se.plan** refers to the value of land if it is not restored to forest (i.e. the value of land in its current use). A higher opportunity cost tends to make restoration less feasible, although restoration can nevertheless be feasible on land with a high opportunity cost if it generates sufficiently large benefits. **se.plan** assumes that the alternative land use would be some form of agriculture (either cropland or pastureland). It sets the opportunity cost of potential restoration sites equal to the value of cropland for all sites where crops can be grown, with the opportunity cost for any remaining sites set equal to the value of pastureland. -The value of land in agricultural use is defined as the portion of agricultural profit that is attributable to land as a production input. Economists label this portion “land rent”. Agricultural profit is the difference between the gross revenue a farmer receives from selling agricultural products (= product price × quantity sold) and the expenditures the farmer makes on variable inputs, such as seeds and fertilizer, used in production. It is the return earned by fixed inputs, which include labor and capital (e.g., equipment, structures) in addition to land. These relationships imply that the **se.plan** team needed to sequentially estimate gross revenue, profit, and land rent. +The value of land in agricultural use is defined as the portion of agricultural profit that is attributable to land as a production input. Economists label this portion “land rent”. Agricultural profit is the difference between the gross revenue a farmer receives from selling agricultural products (= product price × quantity sold) and the expenditures the farmer makes on variable inputs used in production, such as seeds and fertilizer. It is the return earned by fixed inputs, which include labor and capital (e.g. equipment, structures) in addition to land. These relationships imply that the **se.plan** team needed to sequentially estimate gross revenue, profit and land rent. -The **se.plan** team assumed that forest restoration is intended to be permanent, and so it estimated land rent in perpetuity: the opportunity cost of forgoing agricultural use of a restored site forever, not just for a single year. The estimates of this long-run opportunity cost in **se.plan** are expressed in US dollars per hectare for reference year 2017. - -(`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fee-amcmahon%2Fassets%2Fseplan%2Fseplan_layers%2Ffeatures%2Fopportunity_cost_20221110>`__) +Since the **se.plan** team assumed that forest restoration is intended to be permanent, it estimated land rent in perpetuity: the opportunity cost of forgoing agricultural use of a restored site forever, not just for a single year. The estimates of the long-run opportunity cost in the tool are expressed in USD per hectare for reference year 2017 (`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fee-amcmahon%2Fassets%2Fseplan%2Fseplan_layers%2Ffeatures%2Fopportunity_cost_20221110>`__). Cropland ******** The workflow to develop cropland opportunity cost can be summarized as follows: -#. The **se.plan** team obtained gridded data on 2010 value of crop production per hectare (i.e., gross revenue per hectare) from the International Food Policy Research Institute’s MapSPAM project (International Food Policy Research Institute, 2019; Yu et al., 2020). The resolution of this layer was 5 arc-minutes (~10 km at the equator). -#. The team updated the MapSPAM data to 2017 using country-specific data on total cereal yield from FAOSTAT (UN FAO, 2020a) and the global producer price index for total cereals, also from FAOSTAT. The MapSPAM data reflect gross revenue from a much wider range of crops than cereals, but cereals are the dominant crops in most countries. -#. The team multiplied the data from step 2 by an estimate of the share of crop revenue that was attributable to land, i.e., the land-rent share. The rent-share estimates differed across countries and, where data permitted, by first-level administrative subdivisions (e.g., states, provinces) within countries. The team developed the rent-share estimates through a two-step procedure: - - #. It used 229,859 annual survey observations spanning 2004–2017 from 196,327 unique farm households (UN FAO, 2020c) in 32 low- and middle-income countries (LMICs) to statistically estimate a model that related profit from growing crops to fixed inputs. Table E1 shows the distribution of observations by country in the statistical model, and Table E2 shows the estimation results for the model. The dependent variable in the model was the natural logarithm of profit (lnQuasiRent in the table), and fixed inputs were represented by the natural logarithms of cultivated area (lncultivated) and family labor (lnfamlabor) and a binary (“dummy”) variable that indicated whether the farm was mechanized (dmechuse). The model also included year dummies and fixed effects for regions (countries or first-level subdivisions, depending on the survey), which controlled for unobserved factors that varied across time but not regions (the year dummies) and unobserved factors that varied across regions but not time (the region fixed effects). Post-estimation, the team calculated land rent for each observation by multiplying profit by 0.325, the estimated coefficient on the log cultivated area variable. This procedure assumes that the coefficients on inputs in the log-log profit model can be interpreted as profit shares. This assumption is valid if production has constant returns to scale: i.e., if the coefficients sum to 1, which they approximately do in the model. - #. The team used sampling weights from the surveys to calculate mean values of crop revenue and land rent for each region in the sample. It then calculated the ratio of mean land rent to mean crop revenue—i.e., the land-rent share—for each region, and it statistically related the rent shares to a set of spatial variables, which included the region’s gross domestic product per capita in 2015 (Kummu et al., 2018), its population density in 2015 (CIESIN, 2018), the strength of property rights in it (see discussion of this variable in Appendix F), area shares of terrestrial ecoregions in it (Olson and Dinerstein, 2002), and its classification by World Bank region. Table E3 shows the estimation results for the rent-share model. The team used this model to predict rent shares for the LMICs spanned by se.plan and, where possible, first-level subdivisions within them. - -#. The team estimated the value of cropland in perpetuity by dividing the annual land rent estimates from step 3 by 0.07, under the assumption that the financial discount rate is 7%. It based this assumption on the mean value of real interest rates across the LMICs in the tool (World Bank, 2020). +#. The **se.plan** team obtained gridded data on 2010 value of crop production per hectare (i.e. gross revenue per hectare) from the International Food Policy Research Institute’s MapSPAM project (International Food Policy Research Institute, 2019; Yu *et al.*, 2020). The resolution of this layer was 5 arc-minutes (approximately 10 km at the equator). +#. The team updated the MapSPAM data to 2017 using country-specific data on total cereal yield from FAOSTAT (FAO, 2020a) and the global producer price index for total cereals (also from FAOSTAT). The MapSPAM data reflect gross revenue from a much wider range of crops than cereals, but cereals are the dominant crops in most countries. +#. The team multiplied the data from Step 2 by an estimate of the share of crop revenue that was attributable to land (i.e. the land-rent share). The rent-share estimates differed across countries and, where data permitted, by first-level administrative subdivisions (e.g. states, provinces) within countries. The team developed the rent-share estimates through a two-step procedure: + #. It used 229 859 annual survey observations spanning 2004–2017 from 196 327 unique farm households (FAO, 2020c) in 32 LMICs to statistically estimate a model that related profit from growing crops to fixed inputs. Table E1 shows the distribution of observations by country in the statistical model, and Table E2 shows the estimation results for the model. The dependent variable in the model was the natural logarithm of profit ("lnQuasiRent" in the table), and fixed inputs were represented by the natural logarithms of cultivated area ("lncultivated") and family labor ("lnfamlabor"); a binary (“dummy”) variable indicated whether the farm was mechanized ("dmechuse"). The model also included year dummies and fixed effects for regions (countries or first-level subdivisions, depending on the survey), which controlled for unobserved factors that varied across time but not regions (the year dummies) and unobserved factors that varied across regions but not time (region-fixed effects). Post-estimation, the team calculated land rent for each observation by multiplying profit by 0.325, the estimated coefficient on the log cultivated area variable. This procedure assumes that the coefficients on inputs in the log–log profit model can be interpreted as profit shares. This assumption is valid if production has constant returns to scale (i.e. if the coefficients add up to 1, which they approximately do in the model). + #. The team used sampling weights from the surveys to calculate mean values of crop revenue and land rent for each region in the sample. It then calculated the ratio of mean land rent to mean crop revenue (i.e. the land-rent share for each region); it also statistically related the rent shares to a set of spatial variables, which included: the region’s gross domestic product (GDP) per capita in 2015 (Kummu *et al.*, 2018); its population density in 2015 (CIESIN, 2018); the strength of property rights in it (see discussion of this variable in Appendix F); area shares of terrestrial ecoregions in it (Olson and Dinerstein, 2002); and its classification by World Bank region. Table E3 shows the estimation results for the rent-share model. The team used this model to predict rent shares for the LMICs spanned by **se.plan** and, where possible, first-level subdivisions within them. +#. The team estimated the value of cropland in perpetuity by dividing the annual land rent estimates from Step 3 by 0.07, under the assumption that the financial discount rate is 7 percent. It based this assumption on the mean value of real interest rates across the LMICs in the tool (World Bank, 2020). Pastureland *********** -The se.plan team used similar procedures to estimate the value of pastureland. In place of cropland steps 1 and 2, it: - -#. Predicted pastureland area in 2015 by first statistically relating pastureland percentage in 2000 (UN FAO, 2007, van Velthuizen et al., 2007) to a set of land-cover variables for 2000 at 300m resolution from the European Space Agency (ESA, 2017), and then using the resulting statistical model and 2015 values of the land-cover variables to predict 2015 pastureland area within each 300m grid cell. -#. Calculated gross revenue from livestock in ~2017 by multiplying gridded data on livestock numbers (buffaloes, cattle, goats, horses, sheep) in 2010 at 10km resolution (UN FAO, 2018) by 2017 estimates of production value per animal, calculated by using country-specific data on stocks of animals and production value of livestock products from FAOSTAT (UN FAO, 2020b). It adjusted the resulting estimates of gross revenue per grid cell to include production only from grazing lands, not from feedlots, by using FAO estimates of national shares of meat production from grazing lands provided by the World Bank. -#. Calculated gross revenue per hectare in ~2017 by dividing gross revenue from step b by pastureland area from step a. +The **se.plan** team used similar procedures to estimate the value of pastureland. In place of cropland in Step 1 and Step 2, it: -Compared to cropland step 3, household survey data on livestock production on pastureland (UN FAO, 2020c) were too limited to estimate land-rent shares that varied across countries or first-level subdivisions. Instead, the statistical rent-share estimate used in the tool, 6.1% of gross revenue, is identical across all countries and first-level subdivisions. +#. Predicted pastureland area in 2015 by first statistically relating pastureland percentage in 2000 (FAO, 2007; Van Velthuizen *et al.*, 2007) to a set of land cover variables for 2000 at 300 m resolution from the European Space Agency (ESA, 2017), then using the resulting statistical model and 2015 values of the land cover variables to predict 2015 pastureland area within each 300 m grid cell. +#. Calculated gross revenue from livestock around 2017 by multiplying gridded data on livestock numbers (buffaloes, cattle, goats, horses and sheep) in 2010 at 10 km resolution (FAO, 2018) by 2017 estimates of production value per animal, calculated by using country-specific data on stocks of animals and production value of livestock products from FAOSTAT (FAO, 2020b). It adjusted the resulting estimates of gross revenue per grid cell to include production only from grazing lands, not from feedlots, by using FAO estimates of national shares of meat production from grazing lands provided by the World Bank. +#. Calculated gross revenue per hectare around 2017 by dividing gross revenue from Step 2 by pastureland area from Step 1. -Step 4 was the same as for cropland. +Compared to cropland in Step 3, household survey data on livestock production on pastureland (FAO, 2020c) were too limited to estimate land-rent shares that varied across countries or first-level subdivisions. Instead, the statistical rent-share estimate used in the tool (6.1 percent of gross revenue) is identical across all countries and first-level subdivisions. Step 4 was the same as for cropland. Implementation costs ^^^^^^^^^^^^^^^^^^^^ -Implementation costs refer to the expense of activities required to regenerate forests. They include both: (i) initial expenses incurred in the first year of restoration (establishment costs), which are associated with such activities as site preparation, planting, and fencing; and (ii) expenses associated with monitoring, protection, and other activities in years following establishment (operating costs), which are required to enable the regenerated stand to reach the “free to grow” stage. **se.plan** does not report these two components of implementation costs separately. Instead, it reports the aggregate cost of restoring a site, in 2017 US dollars per hectare, by summing the estimates of opportunity cost and implementation costs. This aggregate cost is the cost variable that it includes in the benefit-cost ratio (Appendix D). The estimates of implementation costs vary by country and, for countries with sufficient data, by first-level subdivision. +Implementation costs refer to the expense of activities required to regenerate forests. They include both: + +1. initial expenses incurred in the first year of restoration (establishment costs), which are associated with such activities as site preparation, planting and fencing; and -As discussed above, **se.plan** assumes that current land use is some form of agriculture. It therefore also assumes that regeneration requires planting, as sources of propagules for natural regeneration are often not adequate on land that has been cleared for agriculture. **se.plan** does not ignore natural regeneration as a restoration option, however, as it includes a constraint layer that predicts the variability of natural regeneration success (see :ref:`seplan-appendix-e`). +2. expenses associated with monitoring, protection, and other activities in years following establishment (operating costs), which are required to enable the regenerated stand to reach the “free to grow” stage. -(`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2FAfCost_ha>`__) +**se.plan** does not report these two components of implementation costs separately. Instead, it reports the aggregate cost of restoring a site (in USD per hectare for reference year 2017) by adding up the estimates of opportunity costs and implementation costs. This aggregate cost is the cost variable that it includes in the benefit–cost ratio (Appendix D). The estimates of implementation costs vary by country and, for countries with sufficient data, by first-level subdivision. + +As previously discussed, **se.plan** assumes that current land use is some form of agriculture. It therefore also assumes that regeneration requires planting, as sources of propagules for natural regeneration are often not adequate on land that has been cleared for agriculture. However, the tool does not ignore natural regeneration as a restoration option, as it includes a constraint layer that predicts the variability of natural regeneration success (see :ref:`seplan-appendix-e`; `view in GEE <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2FAfCost_ha>`__). The **se.plan** team estimated implementation costs in three steps: -#. It extracted data on implementation costs from project appraisal reports and implementation completion reports for 50 World Bank afforestation and reforestation projects spanning 24 LMICs during the past 2-3 decades. Afforestation refers to regeneration of sites where the most recent land use was not forest, e.g., agriculture, while reforestation refers to regeneration of sites that only recently lost their forest cover, e.g., due to harvesting or wildfire. Whenever possible, the team extracted data on operating costs in addition to data on establishment costs, with operating costs typically extending up to 3–5 years after establishment (depending on project and site). It converted all estimates to a per-hectare basis, expressed in constant 2011 US dollars. It classified the estimates by country and, where possible, first-level subdivision. +#. The team extracted data on implementation costs from project appraisal reports and implementation completion reports for 50 World Bank afforestation and reforestation projects spanning 24 LMICs during the past two to three decades. Afforestation refers to regeneration of sites where the most recent land use was not forest (e.g. agriculture), while reforestation refers to regeneration of sites that only recently lost their forest cover (e.g. due to harvesting or wildfire). Whenever possible, the team extracted data on operating costs in addition to data on establishment costs, with operating costs typically extending up to three to five years after establishment (depending on project and site). It converted all estimates to a per-hectare basis, expressed in constant 2011 USD. It classified the estimates by country and, where possible, first-level subdivision. -#. It statistically related the natural logarithm of implementation cost per hectare to a set of variables hypothesized to explain it, including: (i) GDP per capita, also natural log transformed (Kummu et al., 2018); (ii) a dummy variable distinguishing reforestation from afforestation (regeneration of sites where the most recent land use was not forest, e.g., agriculture); (iii) a dummy variable distinguishing natural regeneration from planting; (iv) the total regenerated area (natural log transformed); (v) dummy variables giving the dominant biome in the region (tropical or subtropical, vs. temperate/boreal; (UN FAO, 2013); (vi) a dummy variable indicating whether the project began pre- or post-2010; (vii) a dummy variable that can be interpreted as indicating whether the cost estimate accounted for project overhead costs or not (“UnitArea”); and (viii) a set of dummy variables that indicated projects that included special types of regeneration that did not commonly occur in the dataset, which mainly referred to regeneration of small to large stands of trees on interior sites. Table E4 shows estimation results for the model. +#. The team statistically related the natural logarithm of implementation cost per hectare to a set of variables hypothesized to explain it, including: (i) GDP per capita, also natural log transformed (Kummu *et al.*, 2018); (ii) a dummy variable distinguishing reforestation from afforestation (regeneration of sites where the most recent land use was not forest [e.g. agriculture]); (iii) a dummy variable distinguishing natural regeneration from planting; (iv) the total regenerated area (natural log transformed); (v) dummy variables giving the dominant biome in the region (tropical or subtropical, versus temperate/boreal; (FAO, 2013); (vi) a dummy variable indicating whether the project began pre- or post-2010; (vii) a dummy variable that can be interpreted as indicating whether the cost estimate accounted for project overhead costs or not (“UnitArea”); and (viii) a set of dummy variables that indicated projects that included special types of regeneration that did not commonly occur in the dataset, which mainly referred to regeneration of small to large stands of trees on interior sites (Table E4 shows estimation results for the model). -#. The team predicted spatial estimates of implementation costs by region (country or first-level subdivision) by inserting into the model gridded GDP estimates for 2011, the mean of project area in the estimation sample, and the biome variables. All of the other binary variables were set to 0. As a final step, the team converted the predicted implementation costs to constant 2017 US dollars using annual inflation rates between 2012 and 2017. +#. The team predicted spatial estimates of implementation costs by region (country or first-level subdivision) by inserting into the model: gridded GDP estimates for 2011; the mean of project area in the estimation sample; and the biome variables. All other binary variables were set to 0. As a final step, the team converted the predicted implementation costs to constant 2017 USD using annual inflation rates between 2012 and 2017. References ^^^^^^^^^^ -- CIESIN (Center for International Earth Science Information Network). 2018. Gridded Population of the World, Version 4 (GPWv4): Population Density, Revision 11. NASA Socioeconomic Data and Applications Center (SEDAC). https://doi.org/10.7927/H49C6VHW. -- ESA. 2017. Land Cover CCI Product User Guide, Version2. maps.elie.ucl.ac.be/CCI/viewer/download/ESACCI-LC-Ph2-PUGv2_2.0.pdf. -- International Food Policy Research Institute. 2019. Global Spatially-Disaggregated Crop Production Statistics Data for 2010 Version 2.0. https://doi.org/10.7910/DVN/PRFF8V, Harvard Dataverse, V4. -- Kummu, M., Taka, M. & Guillaume, J. 2018. Gridded global datasets for Gross Domestic Product and Human Development Index over 1990–2015. Sci Data 5, 180004. https://doi.org/10.1038/sdata.2018.4. -- Olson, D. M., and E. Dinerstein. 2002. The Global 200: Priority ecoregions for global conservation. Annals of the Missouri Botanical Garden 89:125-126. https://geospatial.tnc.org/datasets/7b7fb9d945544d41b3e7a91494c42930_0. -- van Velthuizen, H., Huddleston, B., Fischer, G., Salvatore, M., Ataman, E., et al. 2007. Mapping biophysical factors that influence agricultural production and rural vulnerability. Environment and Natural Resources Series No. 11. FAO, Rome. -- Yu, Q., You, L., Wood-Sichra, U., Ru, Y., Joglekar, A. K. B., et al. 2020 (in review). A cultivated planet in 2010: 2. the global gridded agricultural production maps. Earth Syst. Sci. Data Discuss. https://doi.org/10.5194/essd-2020-11. -- UN FAO. 2007. Occurrence of Pasture and Browse (FGGD). https://data.apps.fao.org/map/catalog/srv/eng/catalog.search#/metadata/913e79a0-7591-11db-b9b2-000d939bc5d8. -- UN FAO. 2013. Global Ecological Zones (second edition). https://data.apps.fao.org/map/catalog/srv/eng/catalog.search#/metadata/2fb209d0-fd34-4e5e-a3d8-a13c241eb61b. -- UN FAO. 2018. Gridded Livestock of the World – Latest – 2010 (GLW 3). https://dataverse.harvard.edu/dataverse/glw_3, Harvard Dataverse, V3. -- UN FAO. 2020a. FAOSTAT: Crops. http://www.fao.org/faostat/en/#data/QC. -- UN FAO. 2020b. FAOSTAT: Livestock Primary. http://www.fao.org/faostat/en/#data/QL. -- UN FAO. 2020c. RuLIS - Rural Livelihoods Information System. http://www.fao.org/in-action/rural-livelihoods-dataset-rulis/en/. -- World Bank. 2020. World Development Indicators. https://databank.worldbank.org/source/world-development-indicators. -- World Bank. Various years. Projects & Operations. Project appraisal documents and implementation completion reports for selected projects. https://projects.worldbank.org/en/projects-operations/projects-home. - +- CIESIN (Center for International Earth Science Information Network). 2018. Gridded Population of the World, Version 4 (GPWv4): Population Density, Revision 11. NASA Socioeconomic Data and Applications Center (SEDAC). https://doi.org/10.7927/H49C6VHW +- ESA (European Space Agency). 2017. Land Cover CCI Product User Guide, Version2. maps.elie.ucl.ac.be/CCI/viewer/download/ESACCI-LC-Ph2-PUGv2_2.0.pdf +- IFPRI (International Food Policy Research Institute). 2019. Global Spatially-Disaggregated Crop Production Statistics Data for 2010 Version 2.0. Harvard Dataverse, V4. https://doi.org/10.7910/DVN/PRFF8V +- Kummu, M., Taka, M. and Guillaume, J. 2018. Gridded global datasets for Gross Domestic Product and Human Development Index over 1990–2015. *Scientific Data*, 5: 180004. https://doi.org/10.1038/sdata.2018.4 +- Olson, D.M., and Dinerstein, E. 2002. The Global 200: Priority ecoregions for global conservation. *Annals of the Missouri Botanical Garden*, 89: 125–126. https://geospatial.tnc.org/datasets/7b7fb9d945544d41b3e7a91494c42930_0 +- Van Velthuizen, H., Huddleston, B., Fischer, G., Salvatore, M., Ataman, E. *et al.* 2007. Mapping biophysical factors that influence agricultural production and rural vulnerability. Environment and Natural Resources Series No. 11. Rome, FAO. +- Yu, Q., You, L., Wood-Sichra, U., Ru, Y., Joglekar, A.K.B. *et al.* 2020. A cultivated planet in 2010: Part 2 – The global gridded agricultural production maps. *Earth System Science Data*. https://doi.org/10.5194/essd-2020-11 +- FAO. 2007. Occurrence of Pasture and Browse (FGGD). https://data.apps.fao.org/map/catalog/srv/eng/catalog.search#/metadata/913e79a0-7591-11db-b9b2-000d939bc5d8 +- FAO. 2013. Global Ecological Zones (second edition). https://data.apps.fao.org/map/catalog/srv/eng/catalog.search#/metadata/2fb209d0-fd34-4e5e-a3d8-a13c241eb61b +- FAO. 2018. Gridded Livestock of the World – Latest – 2010 (GLW 3). https://dataverse.harvard.edu/dataverse/glw_3, Harvard Dataverse, V3. +- FAO. 2020a. FAOSTAT: Crops. http://www.fao.org/faostat/en/#data/QC +- FAO. 2020b. FAOSTAT: Livestock Primary. http://www.fao.org/faostat/en/#data/QL +- FAO. 2020c. RuLIS - Rural Livelihoods Information System. http://www.fao.org/in-action/rural-livelihoods-dataset-rulis/en +- World Bank. 2020. World Development Indicators. https://databank.worldbank.org/source/world-development-indicators +- World Bank. n.d. Projects & Operations. Project appraisal documents and implementation completion reports for selected projects. https://projects.worldbank.org/en/projects-operations/projects-home .. _seplan-appendix-f: Constraints data layers ----------------------- -**se.plan** includes various constraints that enable users to restrict restoration to sites that satisfy specific criteria. Many of the constraints can be viewed as indicators of risk, which allows users to avoid sites where the risk of failure, or the risk of undesirable impacts, might be unacceptable. Values of the constraints should be viewed as average values for a site, with some locations within a site likely having higher or lower values. The constraints are grouped into four categories: biophysical, current land cover, forest change, and socio-economic. +**se.plan** includes various constraints that enable users to restrict restoration to sites that satisfy specific criteria. Many of the constraints can be viewed as indicators of risk, which allows users to avoid sites where the risk of failure or undesirable impacts might be unacceptable. Values of the constraints should be viewed as average values for a site, with some locations within a site likely having higher or lower values. The constraints are grouped into four categories: biophysical; current land cover; forest change; and socioeconomic. .. note:: - Every data layer presented in the following document can be displayed in Google Earth Engine as an overview of our datasets. Click on the provided link in the description, you'll be redirected to the GEE code editor panel. The selected layer will be displayed over Uganda. To modify the country change the :code:`fao_gaul` variable line 7 by your country number (listed in the Country list section). If you want to export this layer, please set the value of :code:`to_export` (line 10) and :code:`to_drive` (line 13) according to your need. - Hit the :code:`run` button again to relaunch the computation. - Code used for this display can be found `here <https://github.com/12rambau/restoration_planning_module/blob/master/utils/code/display_layer.md>`__. + Every data layer presented in the following document can be displayed in GEE as an overview of our datasets. Select the provided link in the description to be redirected to the **GEE code editor** pane. The selected layer will be displayed over Uganda. To modify the country, change the :code:`fao_gaul` variable Line 7 to your country number (listed in the *Country list** section). If you want to export this layer, please set the value of :code:`to_export` (Line 10) and :code:`to_drive` (Line 13), according to your need. + Select the :code:`run` button again to relaunch the computation. + Code used for this display can be found `on this page <https://github.com/12rambau/restoration_planning_module/blob/master/utils/code/display_layer.md>`__. Potential constraint ^^^^^^^^^^^^^^^^^^^^ -.. warning:: +.. attention:: - This contraint is hard coded in the tool, the user cannot customize it. It covers the entire world meaning that it will not mask all your analysis if **se.plan** is run outside of the LMIC. + This contraint is hard-coded in the tool; the user cannot customize it. It covers the entire world, meaning that it will not mask all of your analysis if **se.plan** is run outside of the LMIC. .. list-table:: :header-rows: 1 @@ -940,9 +964,9 @@ Potential constraint - Source * - Potential for restoration - Binary - - Sites that have the potential for restoration. Their tree-cover fraction is less its potential and they are not in urban areas. (`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Frest_pot_gt_treecoverfrac_mask_urban>`__) - - Bastin, Jean-François & Finegold, Yelena & Garcia, Claude & Mollicone, Danilo & Rezende, Marcelo & Routh, Devin & Zohner, Constantin & Crowther, Thomas. (2019). The global tree restoration potential. Science. 365. 76-79. https://doi.org/10.1126/science.aax0848. - Buchhorn M, Lesiv M, Tsendbazar N-E, Herold M, Bertels L, Smets B. Copernicus Global Land Cover Layers—Collection 2. Remote Sensing. 2020; 12(6):1044. https://doi.org/10.3390/rs12061044 + - Sites that have the potential for restoration. Their tree-cover fraction is less than its potential and they are not in urban areas (`view in GEE <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Frest_pot_gt_treecoverfrac_mask_urban>`__). + - Bastin, J.-F. & Finegold, Y., Garcia, C., Mollicone, D., Rezende, M., Routh, D., Zohner, C. and Crowther, T. 2019. The global tree restoration potential. *Science*, 365: 76-79. https://doi.org/10.1126/science.aax0848 + Buchhorn, M., Lesiv, M., Tsendbazar, N.-E., Herold, .M, Bertels, L. and Smets, B. 2020. Copernicus Global Land Cover Layers—Collection 2. *Remote Sensing*, 12(6): 1044. https://doi.org/10.3390/rs12061044 Biophysical constraints ^^^^^^^^^^^^^^^^^^^^^^^ @@ -955,21 +979,21 @@ Biophysical constraints - Description - Source * - Elevation - - meters - - Void-filled digital elevation dataset from Shuttle Radar Topography Mission (SRTM). (`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=USGS%2FSRTMGL1_003>`__) - - T.G. Farr, P.A. Rosen, E. Caro, et al., 2007, The shuttle radar topography mission: Reviews of Geophysics, v. 45, no. 2, RG2004, at https://doi.org/10.1029/2005RG000183. + - Metres + - Void-filled digital elevation dataset from Shuttle Radar Topography Mission (SRTM) (`view in GEE <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=USGS%2FSRTMGL1_003>`__). + - Farr, T.G., Rosen, P.A., Caro, E. *et al.* 2007. The shuttle radar topography mission: *Reviews of Geophysics*, 45(2): RG2004. https://doi.org/10.1029/2005RG000183 * - Slope - - degrees - - The elevation dataset (see above) was used to calculate slope in units of degrees from horizontal, with greater values indicating steeper inclines. (`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Fslope>`__) - - T.G. Farr, P.A. Rosen, E. Caro, et al., 2007, The shuttle radar topography mission: Reviews of Geophysics, v. 45, no. 2, RG2004, at https://doi.org/10.1029/2005RG000183. + - Degrees + - The elevation dataset was used to calculate slope in units of degrees from horizontal, with greater values indicating steeper inclines (`view in GEE <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Fslope>`__). + - Farr, T.G., Rosen, P.G., Caro, E. *et al.* 2007. The shuttle radar topography mission. *Reviews of Geophysics*, 45(2): RG2004. https://doi.org/10.1029/2005RG000183 * - Annual rainfall - - mm/yr - - High-resolution estimates of total annual rainfall based on mean value from past 30 year measurements. (`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Fera5_land_1993_2022>`__) - - "Muñoz Sabater, J., (2019): ERA5-Land monthly averaged data from 1981 to present. Copernicus Climate Change Service (C3S) Climate Data Store (CDS). https://doi.org/10.24381/cds.68d2bb3" + - MM/YR + - High-resolution estimates of total annual rainfall based on mean value from past 30 year measurements (`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Fera5_land_1993_2022>`__). + - Muñoz Sabater, J. 2019. ERA5-Land monthly averaged data from 1981 to present. Copernicus Climate Change Service (C3S) Climate Data Store (CDS). https://doi.org/10.24381/cds.68d2bb3 * - Baseline water stress - - scale (0 to 5) - - Ratio of total water withdrawals (for consumptive and nonconsumptive domestic, industrial, irrigation, and livestock uses) to available renewable supplies of surface water and groundwater, averaged across months of the year and converted to a numerical scale. Higher values of the scale indicate greater water stress. (`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Fbws_score>`__) - - World Resources Institute, 2021, Aqueduct Global Maps 3.0 Data, https://www.wri.org/data/aqueduct-global-maps-30-data + - Scale (0 to 5) + - Ratio of total water withdrawals (for consumptive and non-consumptive domestic, industrial, irrigation and livestock uses) to available renewable supplies of surface water and groundwater, averaged across months of the year and converted to a numerical scale. Higher values of the scale indicate greater water stress (`view in GEE <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Fbws_score>`__). + - World Resources Institute. 2021. Aqueduct Global Maps 3.0 Data. https://www.wri.org/data/aqueduct-global-maps-30-data Current land cover ^^^^^^^^^^^^^^^^^^ @@ -982,10 +1006,9 @@ Current land cover - Description - Source * - Terrestrial ecoregion - - ecological zone labels - - Classification of Earth’s land surface into 20 ecological zones, which have relatively homogeneous vegetation formations under natural conditions and similar physical features (e.g., climate). (`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=COPERNICUS%2FLandcover%2F100m%2FProba-V-C3%2FGlobal%2F2019>`__) - - UN FAO, 2012 Global ecological zones for fao forest reporting: 2010 Update, http://www.fao.org/3/ap861e/ap861e.pdf - + - Ecological zone labels + - Classification of Earth’s land surface into 20 ecological zones, which have relatively homogeneous vegetation formations under natural conditions and similar physical features (e.g. climate) (`view in GEE <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=COPERNICUS%2FLandcover%2F100m%2FProba-V-C3%2FGlobal%2F2019>`__). + - FAO. 2012. Global ecological zones for fao forest reporting: 2010 Update. http://www.fao.org/3/ap861e/ap861e.pdf Forest change constraints ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -998,20 +1021,20 @@ Forest change constraints - Description - Source * - Deforestation rate - - %/yr - - Annual rate of tree-cover loss within a 5 km buffer around a site during 2005–2015, expressed as a positive percentage of total tree cover. Higher values indicate higher rates of loss. The value is zero in areas without deforestation (i.e., areas with expanding tree cover). (`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Fdeforestation_rate>`__) - - Developed by **se.plan** team, using data from: ESA, 2017, Land Cover CCI Product User Guide, Version 2, `<maps.elie.ucl.ac.be/CCI/viewer/download/ESACCI-LC-Ph2-PUGv2_2.0.pdf>`__ + - Percent/YR + - Annual rate of tree-cover loss within a 5 km buffer around a site during 2005–2015, expressed as a positive percentage of total tree cover. Higher values indicate higher rates of loss. The value is zero in areas without deforestation (i.e. areas with expanding tree cover) (`view in GEE <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Fdeforestation_rate>`__). + - Developed by the **se.plan** team, using data from: ESA. 2017, Land Cover CCI Product User Guide, Version 2. `<maps.elie.ucl.ac.be/CCI/viewer/download/ESACCI-LC-Ph2-PUGv2_2.0.pdf>`__ * - Climate risk - - % of area - - Difference between potential tree cover in 2050 if climate trends continue, and potential tree cover under current climatic conditions. Positive values indicate increases in potential tree cover, while negative values indicate decreases. (`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Ffuture_risk>`__) - - J.F. Bastin, Y. Finegold, C. Garcia, et al., 2019, The global tree restoration potential, Science 365(6448), pp. 76–79, DOI: 10.1126/science.aax0848; data downloaded from: https://www.research-collection.ethz.ch/handle/20.500.11850/350258 + - Percentange of area + - Difference between potential tree cover in 2050 if climate trends continue, and potential tree cover under current climatic conditions. Positive values indicate increases in potential tree cover, while negative values indicate decreases (`view in GEE <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Ffuture_risk>`__). + - Bastin, J.F., Finegold, Y., Garcia, C. *et al.* 2019. The global tree restoration potential. *Science*, 365(6448): pp. 76–79. DOI: 10.1126/science.aax0848; data downloaded from: https://www.research-collection.ethz.ch/handle/20.500.11850/350258 * - Natural regeneration variability - - scale (0 to 1) - - Measure of variability of forest restoration in fostering recovery of biodiversity to typical levels in natural native forests. Higher values indicate that biodiversity recovery is more variable (i.e., less predictable). (`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2FRegeneration>`__) - - Developed by se.plan team, using model from: R. Crouzeilles, F.S. Barros, P.G. Molin, et al., 2019, A new approach to map landscape variation in forest restoration success in tropical and temperate forest biomes, J Appl Ecol. 56, pp. 2675– 2686, https://doi.org/10.1111/1365-2664.13501; and data from: ESA, 2017, Land Cover CCI Product User Guide, Version 2, `<maps.elie.ucl.ac.be/CCI/viewer/download/ESACCI-LC-Ph2-PUGv2_2.0.pdf>`__ + - Scale (0 to 1) + - Measure of variability of forest restoration in fostering recovery of biodiversity to typical levels in natural native forests. Higher values indicate that biodiversity recovery is more variable (i.e. less predictable) (`view in GEE <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2FRegeneration>`__). + - Developed by the **se.plan** team, using model from: Crouzeilles, R., Barros, F.S., Molin, P.G. *et al.* 2019. A new approach to map landscape variation in forest restoration success in tropical and temperate forest biomes. *Journal of Applied Ecolology*, 56: pp. 2675– 2686. https://doi.org/10.1111/1365-2664.13501; and data from: ESA. 2017. Land Cover CCI Product User Guide, Version 2. `<maps.elie.ucl.ac.be/CCI/viewer/download/ESACCI-LC-Ph2-PUGv2_2.0.pdf>`__ -Socio-economic constraints -^^^^^^^^^^^^^^^^^^^^^^^^^^ +Socioeconomic constraints +^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :header-rows: 1 @@ -1021,31 +1044,31 @@ Socio-economic constraints - Description - Source * - Protected areas - - binary (0 or 1) - - Value of 1 indicates that a site is located in a protected area, while a value of 0 indicates it is not. (`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Fprotected_areas>`__) - - IUCN, World Database on Protected Areas, https://www.iucn.org/theme/protected-areas/our-work/world-database-protected-areas + - Binary (0 or 1) + - Value of 1 indicates that a site is located in a protected area; value of 0 indicates it is not (`view in GEE <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Fprotected_areas>`__). + - IUCN (International Union for Conservation of Nature). World Database on Protected Areas. https://www.iucn.org/theme/protected-areas/our-work/world-database-protected-areas * - Population density - - persons per km2 - - Modeled distribution of human population for 2020, based on census data for the most disaggregated administrative units available. (`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=CIESIN%2FGPWv411%2FGPW_Population_Density%2Fgpw_v4_population_density_rev11_2015_30_sec>`__) - - CIESIN (Center for International Earth Science Information Network), 2018, Gridded Population of the World, Version 4 (GPWv4): Population Density, Revision 11, NASA Socioeconomic Data and Applications Center (SEDAC), https://doi.org/10.7927/H49C6VHW + - Persons per km<sup>2</sup> + - Modelled distribution of human population for 2020, based on census data for the most disaggregated administrative units available (`view in GEE <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=CIESIN%2FGPWv411%2FGPW_Population_Density%2Fgpw_v4_population_density_rev11_2015_30_sec>`__). + - CIESIN (Center for International Earth Science Information Network). 2018. Gridded Population of the World, Version 4 (GPWv4): Population Density, Revision 11. NASA Socioeconomic Data and Applications Center (SEDAC). https://doi.org/10.7927/H49C6VHW * - Declining population - - binary (0 or 1) - - Value of 1 indicates that human population in a 5 km buffer around a site declined during 2010 – 2020, while a value of 0 indicates it rose or did not change. (`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Fpopulation_decline>`__) - - Developed by se.plan team, using 2.5 arc-minute data from: CIESIN (Center for International Earth Science Information Network), 2018, Gridded Population of the World, Version 4 (GPWv4): Population Density, Revision 11, NASA Socioeconomic Data and Applications Center (SEDAC), https://doi.org/10.7927/H49C6VHW + - Binary (0 or 1) + - Value of 1 indicates that human population in a 5 km buffer around a site declined during 2010–2020; value of 0 indicates it rose or did not change (`view in GEE <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2Fpopulation_decline>`__). + - Developed by the **se.plan** team, using 2.5 arc-minute data from: CIESIN (Center for International Earth Science Information Network). 2018. Gridded Population of the World, Version 4 (GPWv4): Population Density, Revision 11. NASA Socioeconomic Data and Applications Center (SEDAC). https://doi.org/10.7927/H49C6VHW * - Property rights protection - - index (−2.5 to +2.5) - - Downscaled version of the World Bank’s Rule of Law governance indicator, which is often interpreted as an indicator of property rights protection. Values range from −2.5 (very weak property rights) to +2.5 (very strong property rights). Varies by country and, when data are sufficient for downscaling, first-level administrative subdivision (e.g., state or province). (`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2FRL_gadm36_1_edited_image>`__) - - Developed by se.plan team, by downscaling national data from: World Bank, 2020, Worldwide Governance Indicators, https://info.worldbank.org/governance/wgi/ + - Index (−2.5 to +2.5) + - Downscaled version of the World Bank’s Rule of Law Governance Indicator, which is often interpreted as an indicator of property rights protection. Values range from −2.5 (very weak property rights) to +2.5 (very strong property rights). Varies by country and, when data are sufficient for downscaling, first-level administrative subdivision (e.g. state or province) (`view in GEE <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=projects%2Fjohn-ee-282116%2Fassets%2Ffao-restoration%2Ffeatures%2FRL_gadm36_1_edited_image>`__). + - Developed by the **se.plan** team by downscaling national data from: World Bank. 2020. Worldwide Governance Indicators. https://info.worldbank.org/governance/wgi/ * - Accessibility to cities - - minutes - - Travel time from a site to the nearest city in 2015. (`view in gee <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=Oxford%2FMAP%2Faccessibility_to_cities_2015_v1_0>`__) - - D.J. Weiss, A. Nelson, H.S. Gibson, et al., 2018, A global map of travel time to cities to assess inequalities in accessibility in 2015, Nature, doi:10.1038/nature25181; data downloaded from: https://malariaatlas.org/research-project/accessibility-to-cities/ + - Minutes + - Travel time from a site to the nearest city in 2015 (`view in GEE <https://code.earthengine.google.com/bc5cc4ac63eedd0cd63e56b4b2e42fc7?#layer_id=Oxford%2FMAP%2Faccessibility_to_cities_2015_v1_0>`__). + - Weiss, D.J., Nelson, A., Gibson, H.S. *et al.* 2018. A global map of travel time to cities to assess inequalities in accessibility in 2015. *Nature*. doi:10.1038/nature25181; data downloaded from: https://malariaatlas.org/research-project/accessibility-to-cities -Acknowledgement ---------------- +Acknowledgements +---------------- -This tool has been developed by UN FAO in close collaboration with Spatial Informatics Group (SIG), SilvaCarbon and researchers at Peking University and Duke University, with financial support from the Government of Japan. +This tool has been developed by FAO in close collaboration with the Spatial Informatics Group (SIG), SilvaCarbon, and researchers at Peking University and Duke University, with financial support from the Government of Japan. .. image:: https://raw.githubusercontent.com/12rambau/restoration_planning_module/master/utils/light/duke.png :target: https://duke.edu @@ -1076,5 +1099,4 @@ This tool has been developed by UN FAO in close collaboration with Spatial Infor :class: ma-1 :alt: MAAF_logo :height: 100 - .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/se.plan/release/doc/en.rst diff --git a/docs/source/modules/dwn/smfm_biota.rst b/docs/source/modules/dwn/smfm_biota.rst index 428648dd09..f25c1009ff 100644 --- a/docs/source/modules/dwn/smfm_biota.rst +++ b/docs/source/modules/dwn/smfm_biota.rst @@ -2,29 +2,33 @@ SMFM BIOTA ========== *Calculate biomass change over time using ALOS PALSAR data* -The Biomass Tool for ALOS (BIOTA tool) is part of the World Bank's project, `Satellite Monitoring for Forest Management (SMFM) project <https://www.smfm-project.com>`_. It was developed by `LTS International <https://ltsi.co.uk/>`_ and the `University of Edinburgh <https://www.ed.ac.uk/geosciences>`_ with an integration in the SEPAL platform developed by the SEPAL developer team. +The **Biomass Tool for ALOS (BIOTA)** is part of the World Bank's project, `Satellite Monitoring for Forest Management (SMFM) <https://www.smfm-project.com>`_. It was developed by `LTS International <https://ltsi.co.uk/>`_ and the `University of Edinburgh <https://www.ed.ac.uk/geosciences>`_ with an integration in the SEPAL platform developed by the SEPAL developer team. The tool relies on the use of JAXA's `ALOS PALSAR <https://www.eorc.jaxa.jp/ALOS/en/about/palsar.htm>`_ L-band mosaics, allowing users to produce outputs of: - calibrated Gamma0 backscatter - forest cover -- above-ground biomass (AGB) +- above ground biomass (AGB) - ABG change -- classified forest change types (deforestation, degradation, etc.) +- classified forest change types (e.g. deforestation, degradation) -In this exercise, you will learn how to use the BIOTA tool to calculate AGB in dry forests and savannahs, as well as change maps. +In this article, you can learn how to use the **BIOTA tool** to calculate AGB in dry forests and savannahs, as well as change maps. -.. note:: +**Objectives**: - **Objectives**: +Generate maps of: - - Generate maps of AGB, Gamma0 backscatter, forest cover, AGB change, deforestation risk, and change type. +- AGB +- Gamma0 backscatter +- forest cover +- AGB change +- deforestation risk +- change type -.. attention:: +**Prerequisites**: - **Prerequisites**: +- SEPAL account - - SEPAL account Navigate to the **Apps** menu by selecting the wrench icon and entering **SMFM** into the search field. Then, select **SMFM Biota**. @@ -55,14 +59,14 @@ Navigate to the **Apps** menu by selecting the wrench icon and entering **SMFM** If this is the case, you can either: - - Adjust your browser zoom level, or + - Adjust your browser's zoom level, or .. figure:: https://raw.githubusercontent.com/dfguerrerom/sepal_smfm_biota/main/doc/_img/biota_chrome.png :alt: Example of how to adjust the zoom level on Google Chrome :align: center :width: 600 - - Keep the zoom level, but click outside of the column to hide it. To open it again, you will need to select the three dots located in the upper-right. + - Keep the zoom level, but click outside of the column to hide it. To open it again, you will need to select the three dots located in the upper right. .. figure:: https://raw.githubusercontent.com/dfguerrerom/sepal_smfm_biota/main/doc/_img/biota_three_dots.png :alt: How to display the left column again @@ -74,7 +78,9 @@ Downloading ALOS mosaics The first step is to select the parameters for accessing data from ALOS (JAXA). The data is delivered in SEPAL as either 1 x 1 degree tiles or 5 x 5 degree collections of tiles. -Under :code:`Required inputs`, define the latitude and longitude coordinates by clicking on your point of interest on the map that is shown on the right (this will be the upper-left coordinate of the tiles). The default values are -75 degrees for longitude and 0 degrees for latitude. For this exercise, we will demonstrate the steps for a point between the Moyowosi Game Reserve and the Kigosi Game Reserve, next to the border of the Getta and Kigoma regions in Tanzania (latitude -2.54, longitude 31.04). +Under :code:`Required inputs`, define the latitude and longitude coordinates by clicking on your point of interest on the map that is shown on the right (this will be the upper-left coordinate of the tiles). The default values are -75 degrees for longitude and 0 degrees for latitude. + +For this exercise, we will demonstrate the steps for a point between the Moyowosi Game Reserve and the Kigosi Game Reserve, next to the border of the Getta and Kigoma regions in Tanzania (latitude -2.54, longitude 31.04). .. figure:: https://raw.githubusercontent.com/dfguerrerom/sepal_smfm_biota/main/doc/_img/biota_map.png :alt: Selecting a point on the map @@ -83,11 +89,11 @@ Under :code:`Required inputs`, define the latitude and longitude coordinates by .. note:: - The BIOTA tool was designed for woodlands and dry forests, as it uses a generic equation to calibrate Gamma0 backscatter to forest AGB developed using forest plot data from Malawi, Mozambique and Tanzania in southern Africa. For global applicability, the tool supports the calibration of country-specific backscatter–AGB relationships through determined parameters, which will be explained later in this page of the documentation. + The **BIOTA tool** was designed for woodlands and dry forests, as it uses a generic equation to calibrate Gamma0 backscatter to forest AGB developed using forest plot data from Malawi, Mozambique and Tanzania in Southern Africa. For global applicability, the tool supports the calibration of country-specific, backscatter–AGB relationships through determined parameters, which will be explained later in this article. -Next, we define the two years of interest. For this exercise, we will leave the default values (2016 for Year 1 and 2017 for Year 2; Year 2 is used for calculating changes). +Next, we define the two years of interest. For this exercise, we will leave the default values (2016 for **Year 1** and 2017 for **Year 2**; Year 2 is used for calculating changes). -The tool gives you the option to choose a size of either a 1 x 1 degree tile or a 5 x 5 degree tile. We will select the 1 x 1 tile size for time purposes. +The tool gives you the option to choose a size of either a 1 x 1 degree tile or a 5 x 5 degree tile. We will select the 1 x 1 tile size. Before selecting :code:`Download images`, we will look into the :code:`Optional inputs` tab. @@ -96,20 +102,20 @@ Before selecting :code:`Download images`, we will look into the :code:`Optional :align: center :width: 600 -Different parameters can be changed here. These include the parameters that should be calibrated according to your AOI and specific forest characteristics. Default values are specific to southern African forests. +Different parameters can be changed here. These include the parameters that should be calibrated according to your AOI and specific forest characteristics. Default values are specific to Southern African forests. .. csv-table:: :header: Parameter, Role - Lee filter, Applies a Lee filter to the data. This reduces inherent speckle noise in SAR imagery. Uncheck if you do not want the filter applied. - Window size, Lee filter window size. Defaults to 5 x 5 pixels. - Downsample factor, Applies downsampling to inputs by specifying an integer factor to downsample by. Defaults to 1 (i.e. no downsampling). - Forest threshold, A forest AGB threshold (in tonnes per hectare) to separate forest from non-forest (specific to your location). Defaults to 10 tC/ha. - Area threshold, A minimum area threshold (in hectares) to be counted as forest (e.g. a forest patch must be greater than 1 ha in size). Defaults to 0 ha. - Change area threshold, A threshold for a minimum change in forest area required to be flagged as a change. Defaults to 2 ha. This is for users who aim to produce change maps. - Change magnitude threshold, The minimum absolute change in biomass (in tonnes per hectare) to be flagged as a change. Defaults to 15 tC/ha. This is for users who aim to produce change maps. - Contiguity, The criterion of contiguity between two spatial units. The **rook** criterion defines neighbors by the existence of a common edge between two spatial units. The **queen** criterion is somewhat more encompassing and defines neighbours as spatial units sharing a common edge or a common vertex. - Polarization, Which SAR polarization to use. Defaults to HV. + **Lee filter**, Applies a Lee filter to the data. This reduces inherent speckle noise in Synthetic Aperture Radar (SAR) imagery. Uncheck if you do not want the filter applied. + **Window size**, Lee filter window size. Defaults to 5 x 5 pixels. + **Downsample factor**, Applies downsampling to inputs by specifying an integer factor to downsample by. Defaults to 1 (i.e. no downsampling). + **Forest threshold**, A forest AGB threshold (in tonnes per hectare [tC/ha]) to separate forest from non-forest (specific to your location). Defaults to 10 tC/ha. + **Area threshold**, A minimum area threshold (in hectares) to be counted as forest (e.g. a forest patch must be greater than 1 ha in size). Defaults to 0 ha. + **Change area threshold**, A threshold for a minimum change in forest area required to be flagged as a change. Defaults to 2 ha. This is for users who aim to produce change maps. + **Change magnitude threshold**, The minimum absolute change in biomass (in tC/ha) to be flagged as a change. Defaults to 15 tC/ha. This is for users who aim to produce change maps. + **Contiguity**, The criterion of contiguity between two spatial units. The **rook** criterion defines neighbors by the existence of a common edge between two spatial units. The **queen** criterion is somewhat more encompassing and defines neighbours as spatial units sharing a common edge or a common vertex. + **Polarization**, Which SAR polarization to use. Defaults to HV (referring to horizontal and vertical polarization). We will leave the parameters with default values. @@ -118,7 +124,7 @@ We will leave the parameters with default values. :align: center :width: 600 -Now, go back to the :code:`Required inputs` tab and select :code:`Download Images` at the bottom. This will download all ALOS data tiles into your SEPAL account. +Go back to the :code:`Required inputs` tab and select :code:`Download Images` at the bottom. This will download all ALOS data tiles into your SEPAL account. .. note:: @@ -156,12 +162,12 @@ Select the :code:`Process` tab on the left side. :align: center :width: 600 -For Year 1, we will choose **Forest property**, which will automatically check all outputs available ("Gamma0", "Biomass", "Forest Cover"). For Year 2, we will choose **Forest change** (changes between 2016 and 2017), which will also select all available outputs ("Biomass change", "Change type", "Deforestation risk"). These will be explained later. +For **Year 1**, we will choose **Forest property**, which will automatically check all outputs available (**Gamma0**, **Biomass**, **Forest cover**). For **Year 2**, we will choose **Forest change** (changes between 2016 and 2017), which will also select all available outputs (**Biomass change**, **Change type**, **Deforestation risk**). These will be explained later. Select :code:`Get outputs` to start the processes. .. figure:: https://raw.githubusercontent.com/dfguerrerom/sepal_smfm_biota/main/doc/_img/biota_process_get.png - :alt: Select outputs and start the process by selecting "Get outputs" + :alt: Select outputs and start the process by selecting **Get outputs** :align: center :width: 600 @@ -169,14 +175,14 @@ Select :code:`Get outputs` to start the processes. Depending on your point coordinates, it may take a significant amount of time before your data finish downloading (for the point in Tanzania, it should take approximately two minutes). -Similarly to before, the tool will show the process status at the bottom. You will also note a change of color from white to yellow next to each output (white = not started, yellow = processing, green = finalized). +The tool will show the process status at the bottom. You will also note a change of colour from white to yellow next to each output (white = not started, yellow = processing, green = finalized). .. figure:: https://raw.githubusercontent.com/dfguerrerom/sepal_smfm_biota/main/doc/_img/biota_output_processing.png :alt: Status of outputs :align: center :width: 600 -Once complete, you will see a message similar to the one below, and all outputs will have a green "light". +Once complete, you will see a message similar to the one below, and all outputs will have a green light. .. figure:: https://raw.githubusercontent.com/dfguerrerom/sepal_smfm_biota/main/doc/_img/biota_output_done.png :alt: Process finalized @@ -194,7 +200,7 @@ Displaying your outputs With the outputs processed, we can now visualize the results. -In the same window, under :code:`Display outputs`, you can choose the process to display by selecting the dropdown 'Select process' option. +In the same window, under :code:`Display outputs`, you can choose the process to display by selecting the dropdown **Select process** option. Select **Biomass**. Then, press :code:`Display`. You will see the map appear on your screen (see figure below). @@ -203,7 +209,7 @@ Select **Biomass**. Then, press :code:`Display`. You will see the map appear on :align: center :width: 600 -This is showing AGB in tonnes per hectare (tC/ha) for the 1 x 1 degree tile in Tanzania. To go back to the interface and select the other outputs, you can click anywhere on the screen outside of the map and do the same for the other results. +This is showing AGB in tonnes per hectare (tC/ha) for the 1 x 1 degree tile in Tanzania. To go back to the interface and select the other outputs, click anywhere on the screen outside of the map and do the same for the other results. If you followed these exact steps, your outputs should look similar to the ones in the figure below. @@ -217,37 +223,37 @@ A summary of each output is described in the table below. .. csv-table:: :header: Output, Description - Gamma0, Gamma0 backscatter in decibels for the polarization specified - Biomass, Biomass in tonnes per hectare - Forest/woody cover, Binary classification of forested (1) and non-forested (0) areas - Change type, Change described in seven different types (specified below) - Biomass change, Change in biomass in tonnes per hectare - Deforestation risk, Risk of deforestation from Low (1) to High (3) + **Gamma0**, Gamma0 backscatter in decibels for the polarization specified + **Biomass**, Biomass in tonnes per hectare + **Forest/woody cover**, Binary classification of forested (1) and non-forested (0) areas + **Change type**, Change described in seven different types (specified below) + **Biomass change**, Change in biomass in tonnes per hectare + **Deforestation risk**, Risk of deforestation from low (1) to high (3) -There are seven change types described in the BIOTA tool, each of which is defined as a number (0 to 6) and color-coded on the map. Change types include: +There are seven change types described in the **BIOTA tool**, each of which is defined as a number (0 to 6) and colour-coded on the map. Change types include: .. csv-table:: :header: Change class, Pixel value, Description - Deforestation, 1, A loss of AGB that crosses the ``forest_threshold``. - Degradation, 2, A loss of AGB in a location above the ``forest_threshold`` in both images. - Minor loss, 3, A loss of AGB that does not cross the ``change_area_threshold`` or ``change_magnitude_threshold``. - Minor gain, 4, A gain of AGB that does not cross the ``change_area_threshold`` or ``change_magnitude_threshold``. - Growth, 5, A gain of AGB in a location above the ``forest_threshold`` in both images. - Afforestation, 6, A gain of AGB that crosses the ``forest_threshold``. - Non-forest, 0, Below the ``forest_threshold`` in both images. + **Deforestation**, 1, A loss of AGB that crosses the ``forest_threshold``. + **Degradation**, 2, A loss of AGB in a location above the ``forest_threshold`` in both images. + **Minor loss**, 3, A loss of AGB that does not cross the ``change_area_threshold`` or ``change_magnitude_threshold``. + **Minor gain**, 4, A gain of AGB that does not cross the ``change_area_threshold`` or ``change_magnitude_threshold``. + **Growth**, 5, A gain of AGB in a location above the ``forest_threshold`` in both images. + **Afforestation**, 6, A gain of AGB that crosses the ``forest_threshold``. + **Non-forest**, 0, Below the ``forest_threshold`` in both images. -You can also use the :code:`Write raster` option to save this map into your SEPAL account. Once you select `Write raster`, you should see a message in green informing you that your export has been completed. +You can also use the :code:`Write raster` option to save this map into your SEPAL account. Once you select **Write raster**, you should see a message in green informing you that your export has been completed. .. figure:: https://raw.githubusercontent.com/dfguerrerom/sepal_smfm_biota/main/doc/_img/biota_export.png - :alt: Map export complete for the Change type output. + :alt: Map export complete for the **Change type** output. :align: center :width: 600 -The file will then be located in your SEPAL **Files**. You can download this map by selecting it and clicking the **Download** button in the upper-right corner. This will download the output as a TIF file that can be used in GIS software. +The file will then be located in your SEPAL **Files**. You can download this map by selecting it and selecting the **Download** button in the upper-right corner. This will download the output as a .tif file that can be used in GIS software. .. figure:: https://raw.githubusercontent.com/dfguerrerom/sepal_smfm_biota/main/doc/_img/biota_export_file.png - :alt: Exported map in Files + :alt: Exported map in **Files** :align: center :width: 600 @@ -262,9 +268,9 @@ Additional resources On the left side, you can access: -- Source code: The source code of the tool, which is a GitHub repository. -- Wiki: The "README" file of the tool, where you can find additional information and instructions about how to use the tool. -- Bug report: The issue creation page on the GitHub repository of the tool, where you can report a bug or issue with using the tool. +- **Source code**: The source code of the tool, which is a GitHub repository. +- **Wiki**: The README file of the tool, where you can find additional information and instructions about how to use the tool. +- **Bug report**: The issue creation page on the GitHub repository of the tool, where you can report a bug or issue with using the tool. .. figure:: https://raw.githubusercontent.com/dfguerrerom/sepal_smfm_biota/main/doc/_img/biota_resources.png :alt: Additional resources @@ -272,3 +278,5 @@ On the left side, you can access: :width: 600 .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/sepal_smfm_biota/release/doc/en.rst + +.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/sepal_smfm_biota/release/doc/en.rst diff --git a/docs/source/modules/dwn/smfm_deforest.rst b/docs/source/modules/dwn/smfm_deforest.rst index 2ee17e1866..079358e816 100644 --- a/docs/source/modules/dwn/smfm_deforest.rst +++ b/docs/source/modules/dwn/smfm_deforest.rst @@ -1,7 +1,5 @@ -SMFM deforest -============= -*Detect deforestation using a time-series of forest probabilities* +.. note:: -.. include:: ../_templates/no_module.rst + This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker <https://github.com/openforis/sepal-doc/issues/new?assignees=============&labels=============&template=============documentation-needed.md>`__. .. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst diff --git a/docs/source/modules/dwn/tmf.rst b/docs/source/modules/dwn/tmf.rst index c6c8d6ea18..e89aab8f74 100644 --- a/docs/source/modules/dwn/tmf.rst +++ b/docs/source/modules/dwn/tmf.rst @@ -1,7 +1,5 @@ -TMF -=== -*Wrapper for TMF* +.. note:: -.. include:: ../_templates/no_module.rst + This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker <https://github.com/openforis/sepal-doc/issues/new?assignees===&labels===&template===documentation-needed.md>`__. .. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst diff --git a/docs/source/modules/dwn/vector_manager.rst b/docs/source/modules/dwn/vector_manager.rst index eceb6eb047..16a87973c6 100644 --- a/docs/source/modules/dwn/vector_manager.rst +++ b/docs/source/modules/dwn/vector_manager.rst @@ -2,11 +2,14 @@ Vector file manager =================== *Upload and transform files into assets in GEE* -This module has been designed on top of the interactive framework, `sepal_ui <https://github.com/12rambau/sepal_ui>`_, allowing users to upload files from their local computers and transform them into assets in Google Earth Engine (GEE). The module can also be used to produce a grid on top of any area of interest (AOI), coresponding to our best product (NICFI 2.5 metre resolution 10 kilometre x 10 kilometre grid). +Designed on top of the interactive framework, `sepal_ui <https://github.com/12rambau/sepal_ui>`_, this module allows users to: + +- upload files from their local computers and transform them into assets in Google Earth Engine (GEE); and +- produce a grid on top of any area of interest (AOI), coresponding to our best product (NICFI 2.5 m resolution 10 km x 10 km grid). .. note:: - Both operations will end with a dialog window containing the ID of your asset, which can be used in other SEPAL tools by copying and pasting it. + Both operations will end with a dialog window containing the ID of your asset. Copy and paste this ID to use it in other SEPAL tools. Upload file in SEPAL and GEE ---------------------------- @@ -15,28 +18,29 @@ Using the first avalailable tile, upload any file from your local computer to SE .. figure:: https://raw.githubusercontent.com/openforis/import_to_gee/master/doc/img/import.png -Once the file is available in your **SEPAL folders**, use it in the **AOI selector**. This selector has been customized to only allow selection through: +Once the file is available in your **SEPAL folders**, use it in the **AOI selector**. + +This selector has been customized to only allow selection through: -- :guilabel:`admin level 2`: Select Administrative Level 2 -- :guilabel:`draw a shape`: Manually draw a shape on the map -- :guilabel:`Upload file`: Use a shapefile as an asset +- :guilabel:`admin level 2`: Select Administrative Level 2. +- :guilabel:`draw a shape`: Manually draw a shape on the map. +- :guilabel:`Upload file`: Use a shapefile as an asset. - :guilabel:`Use point file`: Use a :code:`.csv` file as an AOI asset; while the point file needs to have at least three columns (ID, latitude, longitude), any custom name can be used. -By validating the selection, a task will be launched in GEE to transform your table into a GEE asset. Go to your **earthengine** task list to monitor the upload process. +By validating the selection, a task will be launched in GEE to transform your table into a GEE asset. Go to your **GEE** task list to monitor the upload process. .. figure:: https://raw.githubusercontent.com/openforis/import_to_gee/master/doc/img/results.png Create grid over AOI -------------------- -The second drawer will allow you to create a grid on top of any AOI. The grid corresponds to the PlanetLab grid, in order to fit the needs of our best product, in terms of resolution (2.5 metres). +The second drawer will allow you to create a grid on top of any AOI. The grid corresponds to the Planet Lab grid in order to fit resolution requirements of our best product (2.5 m). .. note:: - PlanetLab constructs a 2048 x 2048 grid of squares. Since the latitude is larger (20048966.10 m vs 20026376.39 m), PlanetLab extends the longitude to maintain a square shape. The extreme -90 and +90 bands are thus excluded but there are no relevant cells for forestry observation. + Planet Lab constructs a 2048 x 2048 grid of squares. Since the latitude is larger (20048966.10 m vs 20026376.39 m), PlanetLab extends the longitude to maintain a square shape. The extreme -90 and +90 bands are thus excluded but there are no relevant cells for forestry observation. -An extra column is added to the grid: **Batch**. You can select the size of the batch by changing the width of the batch using the initial grid cell as a unit (e.g. by setting :guilabel:`grid size` to 10 you'll create a grid batch of 10 x 10 cells). The naming will be automatically set according to your AOI name and batch size. +An extra column is added to the grid: **Batch**. You can select the size of the batch by changing the width of the batch using the initial grid cell as a unit (e.g. by setting :guilabel:`grid size` to 10, you'll create a grid batch of 10 x 10 cells). The naming will be automatically set according to your AOI name and batch size. By validating, you will create a GeoJSON file that will be stored in :code:`module_results/aoi/<asset_name>.geojson`, launching the creation of the same grid in your GEE assets. - .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/vector_manager/release/doc/en.rst diff --git a/docs/source/modules/dwn/weplan.rst b/docs/source/modules/dwn/weplan.rst index 61651f0889..24e89f8454 100644 --- a/docs/source/modules/dwn/weplan.rst +++ b/docs/source/modules/dwn/weplan.rst @@ -1,6 +1,6 @@ WePlan - Forests ================ -*Explore restoration planning solutions provided by WePlan - Forests* +*Forest restoration planning tool* Overview -------- @@ -11,7 +11,7 @@ It is an initiative of the International Institute for Sustainability Australia, The project provides quantitative, spatial, evidence-based planning support to developing countries that are parties to the CBD in order to facilitate the realization of forest restoration pledges and targets. -WePlan - Forests is a spatially explicit, forest restoration planning tool that uses linear programming to evaluate a range of alternative scenarios for restoration, reporting the benefits, costs and spatial distribution of national restoration priorities for each. +**WePlan - Forests** is a spatially explicit, forest restoration planning tool that uses linear programming to evaluate a range of alternative scenarios for restoration, reporting the benefits, costs and spatial distribution of national restoration priorities for each. The current version (2.0) considers two objectives: @@ -20,11 +20,11 @@ The current version (2.0) considers two objectives: The analysis also considers (as constraints) the opportunity and implementation costs of forest restoration, accounting for the potential for natural regeneration to reduce implementation costs. -Analyses occur at a 1 km^2 resolution on a national basis, for countries containing tropical and subtropical forests within +/- 25 degrees latitude. Scenarios are offered in five levels of restoration targets, ranging from 10 percent to 50 percent of the areas available for restoration. +Analyses occur at a 1 km^2 resolution on a national basis for countries containing tropical and subtropical forests within +/- 25 degrees latitude. Scenarios are offered in five levels of restoration targets, ranging from 10 percent to 50 percent of the areas available for restoration. -Results for WePĺan - Forests, as well as more information about the project, input data and methodology, can be found on the `platform's website <http://weplan-forests.org>`. +Results for **WePĺan - Forests**, as well as more information about the project, input data and methodology, can be found on the `platform's website <http://weplan-forests.org>`. -The platform in SEPAL consists of a user-friendly SEPAL-based interface to retreive and manipulate the geospatial data resulting from WePlan - Forests optimisation for each pre-computed scenario. +The platform in SEPAL consists of a user-friendly SEPAL-based interface to retrieve and manipulate the geospatial data resulting from **WePlan - Forests** optimization for each pre-computed scenario. Usage ----- @@ -38,9 +38,9 @@ Output The output will be found in your **SEPAL files** under :code:`module_results/weplan/<iso_code>` with :code:`iso_code` being the `ISO 3166-1 alpha-3 <https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3>`__ code of the downloaded country (e.g. "UGA" for Uganda). -Every file is in :code:`.tif` format with one single band expressing the variable described. It will display the version of the WePlan - Forests computation (here "v002", called :code:`<version>` from now on). +Every file is in :code:`.tif` format with one single band expressing the variable described. It will display the version of the **WePlan - Forests** computation (here "v002", called :code:`<version>` from now on). -Planning solutions were developed for five area targets, representing 10 percent, 20 percent, 30 percent, 40 percent, and 50 percent of the area available for forest restoration in the country. +Planning solutions were developed for five area targets, representing 10 percent, 20 percent, 30 percent, 40 percent and 50 percent of the area available for forest restoration in the country. The application will retrieve four types of analysis from the WePlan - Forests project: @@ -50,5 +50,4 @@ The application will retrieve four types of analysis from the WePlan - Forests p - :code:`scen_tradeoffs_mb_target_<X>_weight_<Y>_<version>.tif`: Max-benefit scenarios; these rasters are the optimal solutions that maximize benefit, ignoring costs where :code:`X` is an integer referring to the target category and :code:`Y` is an integer referring to the order of relative weights between carbon and biodiversity objectives. For more information about the computation methodology and scenarios, refer to the `WePlan - Forests website <http://www.weplan-forests.org/flrp/choose.php>`__. - .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/weplan/release/doc/en.rst diff --git a/docs/source/modules/dwn/zonal-analysis.rst b/docs/source/modules/dwn/zonal-analysis.rst index 041fde357c..dc8c547187 100644 --- a/docs/source/modules/dwn/zonal-analysis.rst +++ b/docs/source/modules/dwn/zonal-analysis.rst @@ -1,6 +1,14 @@ Zonal analysis ============== -.. include:: ../_templates/no_module.rst +.. warning:: + + The english documentation of the module have not been set. + +.. tip:: + + Please open an issue on their repository : https://github.com/openforis/zonal-analysis/issues/new + +One modification to see if the updating works .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/zonal-analysis/release/doc/en.rst diff --git a/docs/source/modules/index.rst b/docs/source/modules/index.rst index 1211f223cc..334272927a 100644 --- a/docs/source/modules/index.rst +++ b/docs/source/modules/index.rst @@ -1,37 +1,39 @@ -SEPAL applications -================== - -Access complex workflows without the need of digital programming skills with SEPAL applications ------------------------------------------------------------------------------------------------ - -.. custom-edit:: https://raw.githubusercontent.com/openforis/sepal-doc/main/docs/source/_templates/index.rst +Modules +======= +*Access complex workflows without the need of digital programming skills with SEPAL applications* Overview -------- -SEPAL applications are tools provided by the SEPAL team from the Food and Agriculture Organization of the United Nations (FAO) or other developers. These tools are based on advanced geographic information system (GIS) libraries and complement the functionalities of SEPAL recipes, providing the end user with access to complex workflows without requiring knowledge of digital programming. These applications are served in SEPAL with attractive user interfaces to ensure the best possible user experience. +SEPAL applications are tools provided by the SEPAL team from the Food and Agriculture Organization of the United Nations (FAO) or other developers. + +These tools are based on advanced geographic information system (GIS) libraries and complement the functionalities of SEPAL recipes, providing the end user with access to complex workflows without requiring knowledge of digital programming. + +The applications are served in SEPAL with attractive user interfaces to ensure the best possible user experience. + +They run on various shells – from pure HTML and Shiny-based R apps to Jupyter-powered Python kernels. This flexibility and variety of tools allows developers to integrate workflows and make them available for SEPAL users. -They run on various shells – from pure HTML and Shiny-based R apps to Jupyter-powered Python kernels. This flexibility and variety of tools allows developers to integrate workflows and make them available for SEPAL users. Review the module documentation below to learn more about its usage. +Review the following subsections to learn more about SEPAL applications. Start applications ------------------ -To start a SEPAL application, go to the dashboard of the application by selecting the wrench icon on the left side of the window [(1) on the following image], which will bring up a list of apps you can run in SEPAL. More information about each app is found by selecting the **i** on the right side. +To start a SEPAL application, go to the **Apps** dashboard by selecting the wrench icon on the left side of the window (see **1** in the following image). This will display a list of apps you can run in the interface. More information about each app is found by selecting the **More information** (**i**) icon on the right side. -Note: The top three apps (2) are code editors, not apps: +Note that the following are code editors, not apps (**2**): -- R Studio: Provides access to the R environment where you can run processing scripts and upload data to your SEPAL folder. -- Jupyter Notebook: An open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text (supports Kernels in many different languages, including R, Python and NodesJS). -- JupyterLab: A web-based interactive development environment for Jupyter notebooks, code and data. +- **RStudio**: Provides access to the R environment where you can run processing scripts and upload data to your SEPAL folder. +- **Jupyter Notebook**: An open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text (supports kernels in many different languages, including R, Python and NodesJS). +- **JupyterLab**: A web-based interactive development environment for Jupyter notebooks, code and data. .. thumbnail:: ../_images/module/index/dashboard.png - :title: The landing page of the dashboard of the application. + :title: The landing page of the Apps dashboard -To find the application you're looking for, you can navigate through the different app pages (3), use tags (4), or utilize the search bar (5). +To find the application you're looking for, navigate through the different app pages (**3**), use tags (**4**), or utilize the search bar (**5**). Once the desired application is found, select it to initiate the process. This will start the smallest instance to run the SEPAL sandbox (:code:`t1`). -Refer to the next section to start a specific instance manually. +Refer to the next subsection to start a specific instance manually. .. note:: @@ -39,7 +41,7 @@ Refer to the next section to start a specific instance manually. .. note:: - An application relies on numerous tools and systems to run. Since it can take up to five minutes to start, stay patient and avoid rushing. If the application doesn't start after five minutes, it could simply be an issue with the Amazon cloud connection; we recommend closing the tab and starting again. In the event of a major bug or crash, please report the issue in the specific app issue tracker or directly in SEPAL. + An application relies on numerous tools and systems to run. Since it can take up to five minutes to start, stay patient and avoid rushing. If the application doesn't start after five minutes, it could simply be an issue with the Amazon cloud connection; we recommend closing the tab and starting again. In the event of a major bug or crash, please report the issue in the specific app's **Issue tracker** or directly in SEPAL. .. important:: @@ -48,28 +50,30 @@ Refer to the next section to start a specific instance manually. Start instance manually ----------------------- -Some applications require more powerful instances than the default :code:`t1`. If the app documentation requires the user to start a specific instance type (e.g. a GPU machine :code:`g4` or :code:`g8`), follow these steps prior to initiating the application: +Some applications require more powerful instances than the default :code:`t1`. -1. Go to the SEPAL terminal and wait for the instance selector to start. +If a particular app's documentation requires the user to start a specific instance type (e.g. a GPU machine :code:`g4` or :code:`g8`), follow these steps prior to initiating the application: + +1. Go to the **SEPAL terminal** and wait for the **Instance selector** to start. .. thumbnail:: ../_images/module/index/terminal.png - :title: The SEPAL instance selector. + :title: The SEPAL instance selector -2. Type the instance name suggested in the documentation of your app and press :kbd:`Enter`. +2. Enter the instance name suggested in the documentation of your app and press :kbd:`Enter`. 3. Wait for the instance to finish loading. .. thumbnail:: ../_images/module/index/m4_started.png - :title: Start an m4 instance. - -4. Go back to the dashboard of the application to launch your app. It will automatically be using the instance you opened and won't restart a :code:`t1`. - + :title: Start an m4 instance +4. Go back to the dashboard of the application to launch your app. It will automatically use the instance you opened and won't restart a :code:`t1`. .. toctree:: :hidden: :maxdepth: 1 +.. custom-edit:: https://raw.githubusercontent.com/openforis/sepal-doc/main/docs/source/_templates/index.rst + other time-series restoration diff --git a/docs/source/modules/inventories.rst b/docs/source/modules/inventories.rst index 774c0bf10c..4feacf88bd 100644 --- a/docs/source/modules/inventories.rst +++ b/docs/source/modules/inventories.rst @@ -14,3 +14,4 @@ Modules with the **Inventories** tag include: :doc:`dwn/bootstrap_sampling_simulator`,"..." :doc:`dwn/plot_generator`,"..." + diff --git a/docs/source/modules/other.rst b/docs/source/modules/other.rst index 6b0647f1df..c6dabb9518 100644 --- a/docs/source/modules/other.rst +++ b/docs/source/modules/other.rst @@ -27,18 +27,19 @@ Modules with the **Other** tag include: .. csv-table:: :doc:`dwn/alert_module`,"Retrieve any type of alert on a selected AOI" - :doc:`dwn/alos_mosaics`,"Create and manipulate ALOS K&C mosaics" + :doc:`dwn/alos_mosaics`,"Create and manipulate ALOS K&C Mosaics" :doc:`dwn/coverage_analysis`,"Check per-pixel data availability" - :doc:`dwn/fcdm`,"Mapping all kinds of canopy disturbances (natural- or human-induced) within (semi-)evergreen forests" - :doc:`dwn/geo_processing`, - :doc:`dwn/gfc_wrapper_python`,"Combine GFC layers to produce a forest change map" - :doc:`dwn/gfc_wrapper_R`,"Combine GFC layers to produce a forest change map" - :doc:`dwn/gwl_analysis`, - :doc:`dwn/vector_manager`,"Tool to manage vector files in SEPAL (upload, download, export to GEE, grid generation)" - :doc:`dwn/sae_analysis`,"Analyse results from a stratified sampling design for area estimates" - :doc:`dwn/sae_design`, + :doc:`dwn/fcdm`,"Mapping all kind of canopy disturbances (natural or human induced) within (semi-)evergreen forests" + :doc:`dwn/geo_processing`,"..." + :doc:`dwn/gfc_wrapper_python`,"Combine the GFC layers to produce a forest change map" + :doc:`dwn/gfc_wrapper_R`,"Combine the GFC layers to produce a forest change map" + :doc:`dwn/gwl_analysis`,"..." + :doc:`dwn/vector_manager`,"Tool to manage vector files in SEPAL (upload, download, export to GEE and grid generation)" + :doc:`dwn/sae_analysis`,"..." + :doc:`dwn/sae_design`,"..." :doc:`dwn/tmf`,"Wrapper for TMF" - :doc:`dwn/zonal-analysis`, + :doc:`dwn/zonal-analysis`,"..." :doc:`dwn/gee-source`,"Extract source code from any GEE app URL" :doc:`dwn/weplan`,"Explore restoration planning solution provided by WePlan - Forests" - :doc:`dwn/basin-river`,"Get forest cover change by upstream sub-catchment" + :doc:`dwn/basin-river`,"Get Forest Cover Change by upstream sub-catchment" + diff --git a/docs/source/modules/restoration.rst b/docs/source/modules/restoration.rst index 9e35d887c2..3aa5b92b2c 100644 --- a/docs/source/modules/restoration.rst +++ b/docs/source/modules/restoration.rst @@ -17,10 +17,11 @@ Modules with the **Restoration** tag include: .. csv-table:: :doc:`dwn/bfast_gpu`,"GPU implementation of the BFAST algorithm to analyse time series" - :doc:`dwn/clip-time-series`,"Generate .pdf file containing time series clip on a given set of points" - :doc:`dwn/cusum`,"Spatially cumulative sum algorithm for change detection within univariate time series (GPU-powered)" + :doc:`dwn/clip-time-series`,"Generate a .pdf file containing time series clip on a given set of points" + :doc:`dwn/cusum`,"Spatially cumulative sum algorithm for change detection within univariate time-series (GPU powered)" :doc:`dwn/gwb`,"A suite of various geospatial image analysis tools" :doc:`dwn/sdg_indicator`,"Monitor SDG indicators at plot level" - :doc:`dwn/sepal_mgci`,"Calculates SDG 15.4.2: Mountain Green Cover Index at national/sub-regional scale" + :doc:`dwn/sepal_mgci`,"Calculates the SDG 15.4.2: Mountain Green Cover Index at national/sub-regional scale" :doc:`dwn/sepal_pysmm`,"Tool for mapping surface soil moisture based on Copernicus Sentinel-1 intensity data." :doc:`dwn/seplan`,"Restoration planning tool using a weighted-sum approach" + diff --git a/docs/source/modules/time-series.rst b/docs/source/modules/time-series.rst index b94489362e..0dfd0695fe 100644 --- a/docs/source/modules/time-series.rst +++ b/docs/source/modules/time-series.rst @@ -1,8 +1,7 @@ -Time series +Time-series =========== -Modules with the **Time series** tag include: -Modules with the **Time series** tag include: +Modules with the **Time-series** tag include: .. toctree:: :maxdepth: 1 @@ -16,8 +15,9 @@ Modules with the **Time series** tag include: .. csv-table:: - :doc:`dwn/bfast_explorer`,"Performs analysis of Landsat SR time-series pixel data using the BFAST algorithm" + :doc:`dwn/bfast_explorer`,"Performs analysis of Landsat Surface Reflectance time series pixel data using the BFAST algorithm." :doc:`dwn/bfast_gpu`,"GPU implementation of the BFAST algorithm to analyse time series" - :doc:`dwn/bfast_r`,"Analyse the dynamics of satellite dense time series" - :doc:`dwn/cusum`,"Spatially cumulative sum algorithm for change detection within univariate time series (GPU-powered)" - :doc:`dwn/sar_time_series` + :doc:`dwn/bfast_r`,"..." + :doc:`dwn/cusum`,"Spatially cumulative sum algorithm for change detection within univariate time-series (GPU powered)" + :doc:`dwn/sar_time_series`,"..." + From 6788f184979cf7b789d485f3650b18869adddc08 Mon Sep 17 00:00:00 2001 From: dfguerrerom <dfgm2006@gmail.com> Date: Tue, 19 Dec 2023 12:15:51 +0100 Subject: [PATCH 102/110] sync with origin --- docs/source/_data/modules/en.json | 28 +- docs/source/_templates/index.rst | 2 - docs/source/modules/PlanetLab.rst | 2 +- docs/source/modules/dwn/basin-river.rst | 89 +-- docs/source/modules/dwn/bfast_explorer.rst | 2 +- docs/source/modules/dwn/bfast_r.rst | 4 +- .../dwn/bootstrap_sampling_simulator.rst | 5 - docs/source/modules/dwn/geo_processing.rst | 5 - docs/source/modules/dwn/gwb.rst | 6 +- docs/source/modules/dwn/gwl_analysis.rst | 5 - docs/source/modules/dwn/plot_generator.rst | 5 - docs/source/modules/dwn/sae_design.rst | 5 - docs/source/modules/dwn/sar_time_series.rst | 5 - docs/source/modules/dwn/sepafe.rst | 2 +- docs/source/modules/dwn/sepal_mgci.rst | 719 ++++++++++++------ docs/source/modules/dwn/tmf.rst | 93 ++- docs/source/modules/dwn/zonal-analysis.rst | 14 - docs/source/modules/index.rst | 3 - docs/source/modules/inventories.rst | 17 - docs/source/modules/other.rst | 10 +- docs/source/modules/time-series.rst | 2 - pyproject.toml | 2 +- 22 files changed, 631 insertions(+), 394 deletions(-) delete mode 100644 docs/source/modules/dwn/bootstrap_sampling_simulator.rst delete mode 100644 docs/source/modules/dwn/geo_processing.rst delete mode 100644 docs/source/modules/dwn/gwl_analysis.rst delete mode 100644 docs/source/modules/dwn/plot_generator.rst delete mode 100644 docs/source/modules/dwn/sae_design.rst delete mode 100644 docs/source/modules/dwn/sar_time_series.rst delete mode 100644 docs/source/modules/dwn/zonal-analysis.rst delete mode 100644 docs/source/modules/inventories.rst diff --git a/docs/source/_data/modules/en.json b/docs/source/_data/modules/en.json index cd7349f25f..d3324b1604 100644 --- a/docs/source/_data/modules/en.json +++ b/docs/source/_data/modules/en.json @@ -10,7 +10,7 @@ "bfast_explorer": { "description": "Performs analysis of Landsat Surface Reflectance time series pixel data using the BFAST algorithm.", "tag": ["time-series"], - "url": "https://raw.githubusercontent.com/sepal-contrib/bfast-explorer/master/md/tutorial.rst" + "url": "https://raw.githubusercontent.com/sepal-contrib/bfast-explorer/main/md/tutorial.rst" }, "bfast_gpu": { "description": "GPU implementation of the BFAST algorithm to analyse time series", @@ -19,10 +19,7 @@ }, "bfast_r": { "tag": ["time-series"], - "url": "https://raw.githubusercontent.com/sepal-contrib/bfastspatial/master/www/tutorial/tutorial.rst" - }, - "bootstrap_sampling_simulator": { - "tag": ["inventories"] + "url": "https://raw.githubusercontent.com/sepal-contrib/bfastspatial/main/www/tutorial/tutorial.rst" }, "clip-time-series": { "description": "Generate a .pdf file containing time series clip on a given set of points", @@ -46,7 +43,6 @@ "description": "Mapping all kind of canopy disturbances (natural or human induced) within (semi-)evergreen forests", "url": "https://raw.githubusercontent.com/sepal-contrib/fcdm/release/doc/en.rst" }, - "geo_processing": {}, "gfc_wrapper_python": { "description": "Combine the GFC layers to produce a forest change map", "url": "https://raw.githubusercontent.com/sepal-contrib/gfc_wrapper_python/release/doc/en.rst" @@ -59,7 +55,6 @@ "tag": ["restoration"], "url": "https://raw.githubusercontent.com/sepal-contrib/gwb/release/doc/en.rst" }, - "gwl_analysis": {}, "vector_manager": { "description": "Tool to manage vector files in SEPAL (upload, download, export to GEE and grid generation)", "url": "https://raw.githubusercontent.com/sepal-contrib/vector_manager/release/doc/en.rst" @@ -69,16 +64,9 @@ "tag": ["PlanetLab"], "url": "https://raw.githubusercontent.com/sepal-contrib/planet-order/release/doc/en.rst" }, - "plot_generator": { - "tag": ["inventories"] - }, "sae_analysis": { "url": "https://raw.githubusercontent.com/openforis/accuracy-assessment/master/aa_analysis/doc.rst" }, - "sae_design": {}, - "sar_time_series": { - "tag": ["time-series"] - }, "sdg_indicator": { "description": "Monitor SDG indicators at plot level", "tag": ["restoration"], @@ -86,7 +74,8 @@ }, "sepafe": { "tag": ["PlanetLab"], - "url": "https://raw.githubusercontent.com/sepal-contrib/planet_active_fires_explorer/master/doc/en.rst" + "description" : "Display active and past fire events from the Fire Information for Resource Management System (FIRMS) using Planet Lab data.", + "url": "https://raw.githubusercontent.com/sepal-contrib/planet_active_fires_explorer/release/doc/en.rst" }, "sepal_mgci": { "description": "Calculates the SDG 15.4.2: Mountain Green Cover Index at national/sub-regional scale", @@ -113,10 +102,9 @@ "tag": ["SMFM"] }, "tmf": { - "description": "Wrapper for TMF" - }, - "zonal-analysis": { - "url": "https://raw.githubusercontent.com/sepal-contrib/zonal-analysis/release/doc/en.rst" + "description": "Tropical Moist Forest by EC-JRC", + "tag": ["other"], + "url" : "https://raw.githubusercontent.com/sepal-contrib/tmf_sepal/release/doc/en.rst" }, "gee-source": { "description": "Extract source code from any GEE app URL", @@ -128,6 +116,6 @@ }, "basin-river": { "description": "Get Forest Cover Change by upstream sub-catchment", - "url": "https://raw.githubusercontent.com/sepal-contrib/basin-rivers/master/doc/en.rst" + "url": "https://raw.githubusercontent.com/sepal-contrib/basin-rivers/release/doc/en.rst" } } diff --git a/docs/source/_templates/index.rst b/docs/source/_templates/index.rst index 8d8873bebb..e588e88bf2 100644 --- a/docs/source/_templates/index.rst +++ b/docs/source/_templates/index.rst @@ -71,5 +71,3 @@ If a particular app's documentation requires the user to start a specific instan .. toctree:: :hidden: :maxdepth: 1 - -.. custom-edit:: https://raw.githubusercontent.com/openforis/sepal-doc/main/docs/source/_templates/index.rst diff --git a/docs/source/modules/PlanetLab.rst b/docs/source/modules/PlanetLab.rst index 29f72c8ab7..34ace945e3 100644 --- a/docs/source/modules/PlanetLab.rst +++ b/docs/source/modules/PlanetLab.rst @@ -13,5 +13,5 @@ Modules with the **Planetlab** tag include: .. csv-table:: :doc:`dwn/planet_order`,"Order imagery from PlanetLab mosaics" - :doc:`dwn/sepafe`,"..." + :doc:`dwn/sepafe`,"Display active and past fire events from the Fire Information for Resource Management System (FIRMS) using Planet Lab data." diff --git a/docs/source/modules/dwn/basin-river.rst b/docs/source/modules/dwn/basin-river.rst index 7e30741af3..0ef1bcc9b3 100644 --- a/docs/source/modules/dwn/basin-river.rst +++ b/docs/source/modules/dwn/basin-river.rst @@ -1,42 +1,40 @@ Resilient rivers and basins =========================== - -Understand forest cover and forest cover change from a watershed perspective ----------------------------------------------------------------------------- +*Understand forest cover and forest cover change from a watershed perspective* Overview ________ -The **Resilient rivers and basins** beta app is a tool that describes forest cover and forest cover change from a watershed perspective by calculating statistics across subwatersheds over time; watersheds of interest will be defined by the upstream basin draining to any given point. These processes can be conducted directly in your SEPAL instance without requiring additional resources. +The **Resilient rivers and basins** beta app is a tool that describes forest cover and forest cover change from a watershed perspective by calculating statistics across subwatersheds over time; watersheds of interest will be defined by the upstream basin draining to any given point. These processes can be conducted directly in your **SEPAL instance** without requiring additional resources. -To run this module, we recommend initializing a machine with at least 4 GB RAM (a t2 or m2 instance). For more detailed instructions, see `Start instance manually <https://docs.sepal.io/en/latest/modules/index.html#start-instance-manually>`__. +To run this module, we recommend initializing a machine with at least 4 GB RAM (a **t2** or **m2** instance). For more detailed instructions, see `Start instance manually <https://docs.sepal.io/en/latest/modules/index.html#start-instance-manually>`__. Inputs ______ -Once you have started an instance,  `search in the apps tab <https://docs.sepal.io/en/latest/modules/index.html#start-applications>`_ for the **Resilient rivers and basins** app, which is composed of two main sections: +Once you have started an instance, `search in the Apps tab <https://docs.sepal.io/en/latest/modules/index.html#start-applications>`_ for the **Resilient rivers and basins** app, which is composed of two main sections: -1. **the left pane**, which displays all of the processes (i.e. inputs and results) at the top, and some helpful links (e.g. bug report, wiki, source code) at the bottom; and +1. **Left pane**, which displays all processes (i.e. inputs and results) at the top, and some helpful links (e.g. bug report, wiki, source code) at the bottom; and -2. **the right pane**, which displays process and inputs. +2. **Right pane**, which displays process and inputs. -By default, the **input drawer** will be active. It is divided into two main panes: +By default, the **Input drawer** will be active. It is divided into two main panes: -1. **the left pane**, which displays all of the input parameters to derive statistics. +1. **Left pane**, which displays all of the input parameters to derive statistics. -2. **the right pane**, which displays the map view where calculated layers will be loaded. +2. **Right pane**, which displays the map view where calculated layers will be loaded. .. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/basin-rivers/master/doc/img/inputs.png :width: 80% :title: Inputs view :group: inputs -The first input needed is a **coordinate pair**, which will be used to calculate and retrieve all of the upstream sub-basins that drain to that point for any given **hydroBASIN level**. +The first input needed is a **Coordinate pair**, which will be used to calculate and retrieve all of the upstream sub-basins that drain to that point for any given **HydroBASIN level**. -To input coordinates, the module has two options: **manual** and **automatic**. +To input coordinates, the module has two options: **Manual** and **Automatic**. -To use **manual selection**, enter the latitude and longitude coordinates, then select :code:`Next`. The map will set a blue marker at that point and zoom into the area of interest. +To use **Manual selection**, enter the latitude and longitude coordinates, then select :code:`Next`. The map will set a blue marker at that point and zoom into the area of interest (AOI). -To use **automatic selection**, turn off the manual switch and navigate through the map to find your desired area. Select the exact spot (usually a river confluence or a bridge, but terrestrial areas work as well); a blue marker will be displayed. +To use **Automatic selection**, turn off the **Manual** switch and navigate through the map to find your desired area. Select the exact spot (usually a river confluence or a bridge, but terrestrial areas work as well); a blue marker will be displayed. .. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/basin-rivers/master/doc/img/coordinates.png :width: 55% @@ -45,17 +43,21 @@ To use **automatic selection**, turn off the manual switch and navigate through .. note:: - When using the **automatic selection** method, the latitude and longitude input text fields will be deactivated. Notice that the coordinates will be automatically synchronized as you move the cursor over the map. + When using the **Automatic selection** method, the latitude and longitude input text fields will be deactivated. Notice that the coordinates will be automatically synchronized as you move the cursor over the map. + +The next step is to select the **HydroBASIN target level** by using the dropdown list. -The next step is to select the **HydroBASIN target level** by using the dropdown list. **HydroBASINs** are delineated basins in the HydroATLAS database. Their levels range from 5 to 12, where higher numbers indicate smaller basins nested inside larger sub-basins. For more information about how these data are obtained, see `HydroSHEDS documentation <https://www.hydrosheds.org/products/hydrobasins>`_. +**HydroBASINs** are delineated basins in the HydroATLAS database. Their levels range from 5 to 12, where higher numbers indicate smaller basins nested inside larger sub-basins. -The forest cover change map is based on the  `Global Forest Change product <https://www.science.org/doi/10.1126/science.1244693>`_ (Hansen *et al.*, 2013), retrieved from `Google Earth Engine <https://developers.google.com/earth-engine/datasets/catalog/UMD_hansen_global_forest_change_2021_v1_9>`_. Created to show forest cover change on a global-scale based on Landsat imagery, the product has forest change data from 2000 to 2001. +For more information about how these data are obtained, see the `HydroSHEDS documentation <https://www.hydrosheds.org/products/hydrobasins>`_. + +The forest cover change map is based on the `Global Forest Change product <https://www.science.org/doi/10.1126/science.1244693>`_ (Hansen *et al.*, 2013), retrieved from `Google Earth Engine (GEE) <https://developers.google.com/earth-engine/datasets/catalog/UMD_hansen_global_forest_change_2021_v1_9>`_. Created to show forest cover change on a global-scale based on Landsat imagery, the product has forest change data from 2000 to 2001. The **Resilient rivers and basins** app will crop and summarize forest cover statistics for each of the forest cover classes at the selected basin scale (i.e. the HydroBASIN level). -To begin, use the sliders to select the **start and end year**. +To begin, use the sliders to select the **Start and end year**. -Next, select the **forest threshold**, which determines the level of tree cover required for a pixel in the Global Forest Change product to be classified as **forest**. Changing the value will alter the amount of forest cover or forest cover change observed. +Next, select the **Forest threshold**, which determines the level of tree cover required for a pixel in the Global Forest Change (GFC) product to be classified as **Forest**. Changing the value will alter the amount of forest cover or forest cover change observed. .. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/basin-rivers/master/doc/img/levels.png :width: 55% @@ -65,11 +67,11 @@ Next, select the **forest threshold**, which determines the level of tree cover Select the :btn:`Get upstream basins` button to run the process. The results will be displayed as a map of forest cover change by sub-basin. .. note:: - The amount of time required for calculation depends on the selected **HydroBASIN level** and the **location of the downstream point**. + The amount of time required for calculation depends on the selected **HydroBASIN level** and the **Location of the downstream point**. - Also, the number of **sub-basins** displayed will vary depending on the **downstream point** (e.g. a watershed draining to a point at the mouth of a fairly mountainous area will include more upstream sub-basins than a watershed draining to a higher-level point in the same orography). + Also, the number of **Sub-basins** displayed will vary depending on the **Downstream point** (e.g. a watershed draining to a point at the mouth of a fairly mountainous area will include more upstream sub-basins than a watershed draining to a higher-level point in the same orography). -To start a new process, you can use the **trash bin** button in the upper-left of the map to remove the **downstream point** or remove the **sub-basins** selection (for more information, see the next section, which explains how to constrain the analysis to a given set of sub-basins). +To start a new process, you can use the **Trash bin** button in the upper left of the map to remove the **Downstream point** or remove the **Sub-basins** selection (for more information, see the next subsection, which explains how to constrain the analysis to a given set of sub-basins). .. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/basin-rivers/master/doc/img/trash_bin.png :width: 30% @@ -78,12 +80,12 @@ To start a new process, you can use the **trash bin** button in the upper-left o To calculate and display statistical results in the **Results** dashboard, use the **Statistics** tile. There are two selection methods: -1. **no filter** (i.e. use all basins); -2. **filter**. +1. **No filter** (i.e. use all basins) +2. **Filter** -When using the **Filter** option, a new dropdown menu will appear at the bottom of the tile with all of the sub-basin IDs. +When using the **Filter** option, a new dropdown menu will appear at the bottom of the tile with all of the sub-basin IDs. -Manually select or remove **sub-basins** by selecting each row. Notice that the map will automatically sync the selected basins by displaying a black boundary and zooming in. +Manually select or remove **Sub-basins** by selecting each row. Notice that the map will automatically sync the selected basins by displaying a black boundary and zooming in. Select the **Calculate statistics** button. @@ -97,24 +99,24 @@ Once the dashboard is calculated, a red dot will be displayed in the **Results** Dashboard _________ -The **Dashboard** panel is divided into three main sections: +The **Dashboard** pane is divided into three main sections: -1. the **Settings** tile in the upper-left; -2. the **Pie chart** in the upper-right; and -3. **detailed charts** at the bottom. +1. the **Settings** tile in the upper left; +2. the **Pie chart** in the upper right; and +3. **Detailed charts** at the bottom. .. tip:: - All graphs have an option for independent download directly to your browser. Simply hover the cursor in the upper-right corner and select the  :icon:`fa-solid fa-camera`  icon. + All graphs have an option for independent download directly to your browser. Simply hover the cursor in the upper-right corner and select the  :icon:`fa-solid fa-camera` icon. In the **Settings** tile, you can choose the variable to display: -- **all**, -- **gain and loss**, -- **loss**, -- **non-forest**, -- **forest**, and -- **gain**. +- **All** +- **Gain and loss** +- **Loss** +- **Non-forest** +- **Forest** +- **Gain** By choosing one of these options, all graphs will display the selected statistics. From this menu, you can also filter the data by one or more sub-basins, allowing the possibility of generating dynamic comparisons between areas. @@ -130,16 +132,15 @@ The **Overall ratio** is an interactive pie chart that displays the output varia :title: Overall ratio pie chart :group: dashboard -The detailed, interactive charts at the bottom display both the **ratio** and the **total area** of the selected variable. +The detailed, interactive charts at the bottom display both the **Ratio** and the **Total area** of the selected variable. -On the left, the **pie chart** shows the proportion of the area for each of the selected sub-basins. +On the left, the **Pie chart** shows the proportion of the area for each of the selected sub-basins. -On the right, the **bar chart** displays the absolute values. +On the right, the **Bar chart** displays the absolute values. .. note:: - In the Global Forest Change product dataset (Hansen *et al.*, 2013), only forest loss has a temporal dimension. When a new time period is selected, a new graph representing the trend of forest loss will be displayed at the bottom of the screen. + In the GFC product dataset (Hansen *et al.*, 2013), only forest loss has a temporal dimension. When a new time period is selected, a new graph representing the trend of forest loss will be displayed at the bottom of the screen. .. image:: https://raw.githubusercontent.com/sepal-contrib/basin-rivers/master/doc/img/interactive_stats.gif - -.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/basin-rivers/master/doc/en.rst +.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/basin-rivers/release/doc/en.rst diff --git a/docs/source/modules/dwn/bfast_explorer.rst b/docs/source/modules/dwn/bfast_explorer.rst index 129057cd5e..20d5b8d92d 100644 --- a/docs/source/modules/dwn/bfast_explorer.rst +++ b/docs/source/modules/dwn/bfast_explorer.rst @@ -134,4 +134,4 @@ Since **bfast** can detect multiple breakpoints, it may take a couple of seconds <i class="fa fa-download"></i> -.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/bfast-explorer/master/md/tutorial.rst +.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/bfast-explorer/main/md/tutorial.rst diff --git a/docs/source/modules/dwn/bfast_r.rst b/docs/source/modules/dwn/bfast_r.rst index 5a9957fbc7..aafe990d0c 100644 --- a/docs/source/modules/dwn/bfast_r.rst +++ b/docs/source/modules/dwn/bfast_r.rst @@ -173,9 +173,9 @@ BFAST was computed over the following area in Indonesia over the years 2013–20 .. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/result_band_3.png :group: bfastspatial -Finally, you will find an additional layer called **Threshold. The thresholded magnitude is calculated using the magnitude output, calculating the mean magnitude value over the AOI and applying thresholds of up to +/- 4 standard deviations from the mean. The layer is a thematic, classification map which has values ranging from 0–10, corresponding to the legend below (you can see how to name them in the following figure). +Finally, you will find an additional layer called **Threshold**. The thresholded magnitude is calculated using the magnitude output, calculating the mean magnitude value over the AOI and applying thresholds of up to +/- 4 standard deviations from the mean. The layer is a thematic, classification map which has values ranging from 0–10, corresponding to the legend below (you can see how to name them in the following figure). .. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/result_sigma.png :group: bfastspatial -.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/bfastspatial/master/www/tutorial/tutorial.rst +.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/bfastspatial/main/www/tutorial/tutorial.rst diff --git a/docs/source/modules/dwn/bootstrap_sampling_simulator.rst b/docs/source/modules/dwn/bootstrap_sampling_simulator.rst deleted file mode 100644 index 7bb796c6a6..0000000000 --- a/docs/source/modules/dwn/bootstrap_sampling_simulator.rst +++ /dev/null @@ -1,5 +0,0 @@ -.. note:: - - This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker <https://github.com/openforis/sepal-doc/issues/new?assignees============================&labels============================&template============================documentation-needed.md>`__. - -.. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst diff --git a/docs/source/modules/dwn/geo_processing.rst b/docs/source/modules/dwn/geo_processing.rst deleted file mode 100644 index c2edbca606..0000000000 --- a/docs/source/modules/dwn/geo_processing.rst +++ /dev/null @@ -1,5 +0,0 @@ -.. note:: - - This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker <https://github.com/openforis/sepal-doc/issues/new?assignees==============&labels==============&template==============documentation-needed.md>`__. - -.. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst diff --git a/docs/source/modules/dwn/gwb.rst b/docs/source/modules/dwn/gwb.rst index 165307640c..a9f3806c90 100644 --- a/docs/source/modules/dwn/gwb.rst +++ b/docs/source/modules/dwn/gwb.rst @@ -1157,9 +1157,9 @@ The resulting files are stored in the folder :code:`module_results/gwb/rss/`. Fo Here is the result of the computation using the default parameters on the :code:`example.tif` file: .. csv-table:: - :header: FNAME, AREA, RAC[%], NR_OBJ, LARG_OBJ, APS, CNOA, ECA, COH[%], REST_POT[%] - -example_bin_map.tif,428490.00,42.860572,2850,214811,150.34737,311712,221292.76,51.644789,48.355211 + :header: FNAME, AREA, RAC[%], NR_OBJ, LARG_OBJ, APS, CNOA, ECA, COH[%], REST_POT[%] + + example_bin_map.tif,428490.00,42.860572,2850,214811,150.34737,311712,221292.76,51.644789,48.355211 Simplified pattern analysis (SPA) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/docs/source/modules/dwn/gwl_analysis.rst b/docs/source/modules/dwn/gwl_analysis.rst deleted file mode 100644 index 4569949853..0000000000 --- a/docs/source/modules/dwn/gwl_analysis.rst +++ /dev/null @@ -1,5 +0,0 @@ -.. note:: - - This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker <https://github.com/openforis/sepal-doc/issues/new?assignees============&labels============&template============documentation-needed.md>`__. - -.. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst diff --git a/docs/source/modules/dwn/plot_generator.rst b/docs/source/modules/dwn/plot_generator.rst deleted file mode 100644 index c2edbca606..0000000000 --- a/docs/source/modules/dwn/plot_generator.rst +++ /dev/null @@ -1,5 +0,0 @@ -.. note:: - - This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker <https://github.com/openforis/sepal-doc/issues/new?assignees==============&labels==============&template==============documentation-needed.md>`__. - -.. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst diff --git a/docs/source/modules/dwn/sae_design.rst b/docs/source/modules/dwn/sae_design.rst deleted file mode 100644 index 558be81074..0000000000 --- a/docs/source/modules/dwn/sae_design.rst +++ /dev/null @@ -1,5 +0,0 @@ -.. note:: - - This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker <https://github.com/openforis/sepal-doc/issues/new?assignees==========&labels==========&template==========documentation-needed.md>`__. - -.. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst diff --git a/docs/source/modules/dwn/sar_time_series.rst b/docs/source/modules/dwn/sar_time_series.rst deleted file mode 100644 index eaf4a60a14..0000000000 --- a/docs/source/modules/dwn/sar_time_series.rst +++ /dev/null @@ -1,5 +0,0 @@ -.. note:: - - This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker <https://github.com/openforis/sepal-doc/issues/new?assignees===============&labels===============&template===============documentation-needed.md>`__. - -.. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst diff --git a/docs/source/modules/dwn/sepafe.rst b/docs/source/modules/dwn/sepafe.rst index 466095f3cf..02af7213e8 100644 --- a/docs/source/modules/dwn/sepafe.rst +++ b/docs/source/modules/dwn/sepafe.rst @@ -78,4 +78,4 @@ Select any point on the map and use the **Refresh** icon (:btn:`<fa-solid fa-rot .. attention:: This option requires a valid Planet Level 2 key; otherwise, you will receive an error message in the **Status** bar. -.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/planet_active_fires_explorer/master/doc/en.rst +.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/planet_active_fires_explorer/release/doc/en.rst diff --git a/docs/source/modules/dwn/sepal_mgci.rst b/docs/source/modules/dwn/sepal_mgci.rst index e221b7682f..f64a7152b9 100644 --- a/docs/source/modules/dwn/sepal_mgci.rst +++ b/docs/source/modules/dwn/sepal_mgci.rst @@ -1,378 +1,613 @@ -SEPAL - MGCI :sub:`beta` -======================== -*Compute and report against SDG Indicator 15.4.2, as well as track the progress of efforts to monitor ecosystem restoration* +SEPAL-SDG 15.4.2 :sub:`beta` +============================ -General information -------------------- +*A tool to support the computation of SDG Indicator 15.4.2 Indicator 15.4.2: (a) Mountain Green Cover Index and (b) Proportion of degraded mountain land using SEPAL (System for Earth Observation Data Access, Processing, and Analysis for Land Monitoring). * -About SEPAL–MGCI :sub:`beta` -^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +This guide will introduce you to SEPAL-SDG 15.4.2 :sub:`beta` and will provide you detailed instructions on how the set it up and carry out the computation of both sub-indicators in a step-by-step manner. Screenshots are included to make it easier for the user to know what each description refers to. -SEPAL-MGCI :sub:`beta` was developed to help member countries compute and report against SDG Indicator 15.4.2, as well as track the progress of efforts to monitor ecosystem restoration (MGCI refers to Mountain Green Cover Index). -It is available on the SEPAL platform in a beta stage (i.e. still in development). +General Information +------------------- -If you have questions or concerns, use the `SEPAL-MGCI GitHub issue tracker <https://github.com/dfguerrerom/sepal_mgci/issues>`__, follow our documentation's `Contribution guidelines <https://github.com/dfguerrerom/sepal_mgci/blob/master/CONTRIBUTE.md>`__. +About SEPAL-SDG 15.4.2 :sub:`beta` +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Please contact the **SEPAL-MGCI :sub:`beta` team** with any comments or suggestions. +SEPAL-SDG 15.4.2 :sub:`beta` has been developed by the Food and Agriculture Organization (FAO) of the United Nations to support national authorities to compute and report against SDG Indicator 15.4.2. SEPAL-SDG 15.4.2 :sub:`beta` is built on SEPAL, an open-source cloud-based platform that allows users to query and process satellite data quickly and efficiently, tailor products for local needs, and produce sophisticated and relevant geospatial analyses quickly. To know more about SEPAL visit the `SEPAL website <https://docs.sepal.io/en/latest/>`_. -Authors -^^^^^^^ +SEPAL-SDG 15.4.2 :sub:`beta` is in a beta stage and therefore it is still under development. If you have specific bugs to report or improvements to the tool that you would like to suggest, please use the `GitHub’s issue tracker <https://github.com/dfguerrerom/sepal_mgci/issues>`_ of SEPAL-SDG 15.4.2 :sub:`beta` and do follow the `contribution guidelines <https://github.com/dfguerrerom/sepal_mgci/blob/master/CONTRIBUTE.md>`_. -SEPAL-MGCI :sub:`beta` was developed by the Food and Agriculture Organization of the United Nations (FAO). +Authors +^^^^^^^ -Specific contributors to SEPAL-MGCI :sub:`beta` and its documentation include: +SEPAL-SDG 15.4.2 :sub:`beta` has been developed by the Food and Agriculture Organization (FAO) of the United Nations, and has been funded by Norway's International Climate and Forest Iniciative (NICFI). -- Daniel Guerrero -- Pierrick Rambaud -- Corinna Ravilious -- Xavier de Lamo +SEPAL-SDG 15.4.2 :sub:`beta` has been developed by Daniel Guerrero. Ann Cheptoo Rotich developed the technical documentation. Xavier de Lamo led and supervised the development of both products. License ^^^^^^^ -SEPAL-MGCI :sub:`beta` is free and open-source. It is licensed under an `MIT license <https://opensource.org/licenses/MIT>`__. - -The documentation is made available under the terms of the `Creative Commons Attribution 4.0 International License (CC BY 4.0) <https://creativecommons.org/licenses/by/4.0>`__. The boundaries, names and designations used do not imply official endorsement or acceptance by the United Nations. +SEPAL-SDG 15.4.2 :sub:`beta` is free and open source. It is licensed under `MIT license <https://opensource.org/licenses/MIT>`_. The documentation is made available under the terms of the `Creative Commons Attribution 4.0 International License (CC BY 4.0) <https://creativecommons.org/licenses/by/4.0/>`_. Data sources ^^^^^^^^^^^^ -**SEPAL-MGCI** draws on a number of global data sources to allow the computation of SDG Indicator 15.4.2 when national data is not available. +SEPAL-SDG 15.4.2 :sub:`beta` draws on a number of global data sources to allow the computation of the SDG 15.4.2 indicator when similar national data is not available. The datasets described below have been made available by the following organizations under separate terms as indicated in their respective metadata. -The datasets described below have been made available by the following organizations under separate terms, as indicated in their respective metadata: +- **Land cover**: European Space Agency (ESA) Climate Change Initiative (CCI) Land cover, available at `ESA-CCI land cover website <https://maps.elie.ucl.ac.be/CCI/viewer/index.php>`_. +- **Digital Elevation Model**: The Shuttle Radar Topography Mission (SRTM), available at `Google Earth Engine Data SRTM <https://developers.google.com/earth-engine/datasets/catalog/CGIAR_SRTM90_V4>`_. +- **Administrative Boundaries**: FAO GAUL: Global Administrative Unit Layers 2015, available at `Google Earth Engine Data FAO GAUL <https://developers.google.com/earth-engine/datasets/catalog/FAO_GAUL_2015_level1>`_. -- **Land cover**: European Space Agency (ESA) Climate Change Initiative (CCI) land cover available at the `ESA-CCI viewer <http://maps.elie.ucl.ac.be/CCI/viewer/index.php>`__. +**Note:** The Administrative Boundaries provided in this tool are in the public domain. The designations employed and the presentation of material on this map do not imply the expression of any opinion whatsoever on the part of the Secretariat of the United Nations concerning the legal status of any country, territory, city or area or its authorities, or concerning the delimitation of its frontiers or boundaries. If using SEPAL-SDG 15.4.2 :sub:`beta` for official purposes, it is recommended that users use an official boundary provided by the designated office of their country. -- **Digital elevation model**: The Shuttle Radar Topography Mission (SRTM), available via `Google Earth Engine (GEE) <https://developers.google.com/earth-engine/datasets/catalog/CGIAR_SRTM90_V4>`__. +Before using SEPAL-SDG 15.4.2 :sub:`beta` +----------------------------------------- -- **Administrative boundaries**: FAO Global Administrative Unit Layers (GAUL) 2015, available via `GEE <https://developers.google.com/earth-engine/datasets/catalog/FAO_GAUL_2015_level1>`__. +Initial setup +^^^^^^^^^^^^^ +SEPAL is closely linked to Google Earth Engine (GEE), a Google-powered Earth-observation cloud-computing platform, as it builds in many of its functionalities. This means that to run SEPAL-SDG 15.4.2 :sub:`beta` you will need to have **connected SEPAL and GEE accounts**. -.. note:: The **Administrative boundaries** provided in **SEPAL-MGCI** are in the public domain. Designations employed and presentation of material on this map do not imply the expression of any opinion whatsoever on the part of the Secretariat of the United Nations concerning the legal status of any country, territory, city, or area or of its authorities, or concerning the delimitation of its frontiers or boundaries. If using **SEPAL-MGCI** for official purposes, it is recommended that users use an official boundary provided by the designated office of their country. +- To **Create a SEPAL account** please follow the `registration steps described here <https://docs.sepal.io/en/latest/setup/register.html#sign-up-to-sepal>`_ and then familiarize yourself with the tool by exploring its interface. +- To **Create a Google Earth Engine (GEE) account** please follow these `steps <https://docs.sepal.io/en/latest/setup/gee.html#create-a-gee-account>`_ and don't forget to `initialize the home folder <https://docs.sepal.io/en/latest/setup/gee.html#initialize-the-home-folder>`_. +- To **Connect your SEPAL and GEE accounts** follow the `instructions described here <https://docs.sepal.io/en/latest/setup/gee.html#connection-between-gee-and-sepal>`_. -Background -^^^^^^^^^^ +Data Requirements +^^^^^^^^^^^^^^^^^ +SDG Indicator 15.4.2 requires several spatial data inputs to be computed. These include: -SDG Indicator 15.4.2 – Mountain Green Cover Index (MGCI) is one of the two indicators under SDG Target 15.4, which aims to "ensure the conservation of mountain ecosystems, including their biodiversity, to enhance their capacity to provide benefits which are essential for sustainable development". +- **A Mountain Area Map:** For the purposes of standardization and international comparability of indicators values, SDG Indicator 15.4.2 adheres to the UNEP-WCMC mountain definition (UNEP-WCMC, 2002). The UNEP-WCMC method defines total global mountain area as the sum of seven classes (commonly known as ‘Kapos mountain classes’), based on elevation, slope and local elevation ranges parameters. This mountain area is subdivided into bioclimatic belts (Nival, Alpine, Montane, and Remaining Mountain Area) based on average temperatures as defined by Körner et al. (2011). A global mountain area map based on these definitions and methodologies has been developed by FAO and is used by default by SEPAL-SDG 15.4.2 :sub:`beta` as part of the computations. -FAO is the custodian agency of this indicator. The MGCI is designed to measure the extent and changes of green vegetation in mountain areas to monitor progress towards SDG Target 15.4. +- **A National Administrative Boundary for the country of interest:** SEPAL-SDG 15.4.2 :sub:`beta` has been conceived to facilitate the computation of of SDG Indicator 15.4.2 at country level. To facilitate access to this , SEPAL-SDG 15.4.2 :sub:`beta` uses as a default global data source for national boundaries: the FAO GAUL Global Administrative Unit Layers 2015 data set. However, the tool also allows national agencies to use their own national country boundary layer if available. -The MGCI is defined as the ratio of the mountain green cover area to the total mountain area: +- **A collection of Land Cover Maps for the country of interest:** Land cover maps represent spatial information on different types (classes) of physical coverage of the Earth's surface, e.g. forests, grasslands, croplands, lakes, wetlands. This data serves different functions for SDG Indicator 15.4.2: In Sub-Indicator 15.4.2a, land cover is used to categorize land into green and non-green cover areas. In Sub-Indicator 15.4.2b, land cover is used to identify areas where changes in the type of land cover may indicate a decline or loss of biodiversity, mountain ecosystem functions or services that are considered desirable in a local or national context. The collection of land cover maps to compute this indicator should be available from the year 2000. Simlarly, to the national administrative boundary dataset, SEPAL-SDG 15.4.2 :sub:`beta` provides access to the default land cover maps selected by FAO to compute the indicator (see Data Sources section). However, it also facilitates national authorities to use relevant national or regional land cover datasets. These datasets should also be available as GEE assets as an `image collection <https://developers.google.com/earth-engine/guides/ic_creating>`_ in order to allow SEPAL-SDG 15.4.2 :sub:`beta` to access it. The next section of the tutorial will explain you how to do this. -.. math:: - - MGCI = (Mountain Green Cover Area)/(Total Mountain Area) +Uploading files into Google Earth Engine +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +GEE allows the uploading of different types of data formats: shapefiles, raster images, image collection and CSV tables. This section will show how to upload different data types into the platform. -Where: +1. Go to **Assets** in the top left panel in the **Earth Engine Code Editor** page. Clicking on it will open the **Asset Manager** -- **Mountain green cover area**: Sum of mountain area (km :sup:`2`) covered by cropland, grassland, forestland, shrubland and wetland, as defined based on the Intergovernmental Panel on Climate Change (IPCC) classification (Penman *et al.*, 2003). This component is calculated from the vegetation descriptor layer. -- **Total mountain area**: Total area (km :sup:`2`) of mountains. In both the numerator and denominator, mountain area is defined according to Kapos *et al.* (2000). This component is calculated from the mountain descriptior layer. -- **Vegetation descriptor layer**: The vegetation descriptor layer categorizes land cover into green and non-green areas. Green vegetation includes both natural vegetation and vegetation resulting from anthropic activity (e.g. crops, afforestation). Non-green areas include very sparsely vegetated areas, bare land, water, permanent ice/snow, and urban areas. The vegetation descriptor layer is derived from a land cover map, where land cover categories are classified into IPCC categories and then in green/non-green areas. - - .. _ipcc_classes: - - .. csv-table:: IPCC classification - :header: "Code", "Description" - :widths: auto - :align: center - - "1","Forest" - "2","Grassland" - "3","Cropland" - "4","Wetland" - "5","Settlement" - "6","Other land" - - -- **Mountain descriptor layer**: The mountain descriptor layer consists of a map of mountain classes following the UN Environment Programme World Conservation Monitoring Centre (UNEP-WCMC) classification (Kapos *et al.*, 2000), which classifies world mountain areas according to altitude, slope and elevation range into the following categories: - - .. csv-table:: Mountain classes - :header: "UNEP-WCMC Mountain Class", "Description" - :widths: auto - :align: center - - "1","Elevation > 4.500 m" - "2","Elevation 3.500–4.500 m" - "3","Elevation 2.500–3.500 m" - "4","Elevation 1.500–2.500 m and slope > 2" - "5","Elevation 1.000–1.500 m and slope > 5 or local elevation range (LER 7 km radius) > 300 m" - "6","Elevation 300–1.000 m and local elevation range (7 km radius) > 300 m" - -SEPAL-MGCI :sub:`beta` allows the user to compute each of these descriptive layers to then calculate MGCI values for any given area using both global and user-provided data. The results of this analysis can then be exported to a set of standardized reporting tables where MGCI values are disaggregated by mountain class and IPCC land category, as specified in the `metadata of SDG Indicator 15.4.2 <https://unstats.un.org/sdgs/metadata/files/Metadata-15-04-02.pdf>`_. - -References -^^^^^^^^^^ - -- Kapos, V., Rhind, J., Edwards, M., Prince, M. & Ravillous, C. 2000. Developing a map of the world’s mountain forests. In: *Forests in Sustainable Mountain Development: A State-of-Knowledge Report for 2000*. pp. 4–9. Wallingford, CAB International. -- Penman, J., Gytarsky, M., Hiraishi, T., Krug, T., Kruger, D., Pipatti, R., Buendia, L., Miwa, K., Ngara, T. & Tanabe, K. 2003. *Good Practice Guidance for Land Use, Land-use Change and Forestry*. - -Before using SEPAL-MGCI :sub:`beta` ------------------------------------ +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/setting_up/uploading_gee/new%20button.PNG + :align: center + :width: 900 + :alt: GEE_Interface -To run the **SEPAL-MGCI** module you will need: +2. Select **New**. You will have several choices, including **Raster** (Geotiffs or TFRecords), **Vector* (Shapefiles) and **Data tables** (csv files), which will be described in the following subsections. -- a web browser -- an internet connection -- SEPAL and Google Earth Engine (GEE) accounts +2.3.1 Uploading a vector file +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1. In SEPAL-SDG 15.4.2 :sub:`beta` custom country boundaries need to be uploaded in vector format. To do so, choose **Shapefiles**. A pop-up window will appear. Navigate to the location of your data. +2. In the pop-up window, select the file you want to upload from your computer. You can upload the vector data in a compressed mode as a :code:`.zip` file. If not, remember that the a :code:`.shp` file alone is not sufficient and must be accompanied with other files describing the vector data. - - **SEPAL**: The environment where the SEPAL-MGCI :sub:`beta` is deployed and therefore displayed. To create a SEPAL account, please follow the `registration steps <https://docs.sepal.io/en/latest/setup/register.html#sign-up-to-sepal>`__. Then, familiarize yourself with the tool by exploring its interface. - - **Google Earth Engine (GEE)**: SEPAL-MGCI :sub:`beta` has been built under the GEE Python API, which means that all computational steps are done through GEE servers. To open a GEE account, follow the `registration steps <https://docs.sepal.io/en/latest/setup/gee.html#create-a-gee-account>`__, remembering to `initialize the home folder <https://docs.sepal.io/en/latest/setup/gee.html#initialize-the-home-folder>`__. - - **Connect your SEPAL and GEE accounts**: The last step is to connect both accounts by following `these step-by-step instructions <https://docs.sepal.io/en/latest/setup/gee.html#connection-between-gee-and-sepal>`__. +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/setting_up/uploading_gee/all%20files%20listed.PNG + :align: center + :width: 300 + :alt: Vector_File + +Any file errors will be highlighted by the uploader, as in the example below: -SEPAL interface ---------------- +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/setting_up/uploading_gee/error%20message.PNG + :align: center + :width: 500 + :alt: Vector_Error -If you are new to SEPAL, it is recommended to take a review the interface and familiarize yourself with the main tools. A detailed description of the features can be consulted in the `interface documentation <https://docs.sepal.io/en/latest/setup/presentation.html#sepal-interface>`__. +3. Once all files are loaded correctly, they are displayed in the task manager. Typically this process takes a couple of minutes depending on the size of the dataset. The progress of the upload is displayed in the task manager as shown below: -To open SEPAL-MGCI :sub:`beta`: +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/setting_up/uploading_gee/task%20manager.PNG + :align: center + :width: 300 + :alt: vector_uploading_process -- use the `apps tab <https://docs.sepal.io/en/latest/setup/presentation.html#apps-tab>`__ and navigate through the pages, or -- enter "Mountain Green Cover Index" into the search box, select the app drawer, and wait until the SEPAL-MGCI :sub:`beta` module has been displayed in your session (it may take a few minutes). The module should look like the following image: +4. The uploaded assets will be listed in the Assets List under the Assets tab. If not displayed, click on the Refresh button. -.. image:: https://raw.githubusercontent.com/dfguerrerom/sepal_mgci/master/doc/img/0_app_overview.PNG +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/setting_up/uploading_gee/upload_success.PNG :align: center - :width: 600 - :alt: MGCI module + :width: 700 + :alt: Assets_listed -SEPAL-MGCI :sub:`beta` module ------------------------------ +5. Clicking on the asset will open a pop-window. The asset is ready for use. You can now visualize, share or delete it accordingly it entirely: -SEPAL-MGCI :sub:`beta`, as any other SEPAL module, is divided into two main sections: +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/setting_up/uploading_gee/asset%20details.PNG + :align: center + :width: 800 + :alt: asset_popupwindow -- **Process drawers**: Find processing steps to accomplish the goal of the module, which consists of four steps: +Uploading a raster file +^^^^^^^^^^^^^^^^^^^^^^^ - - Area of interest (AOI) selection - - Mountain descriptor - - Vegetation descriptor - - MGCI results +1. In SEPAL-SDG 15.4.2 :sub:`beta`, land cover maps need to be uploaded as raster files and made available as an `image collection <https://developers.google.com/earth-engine/guides/ic_creating>`_. To do so, select **Image**. -- **Help drawers**: Learn more about the tool, objectives, and background on the module's development. This consists of: +2. In the pop-up window, select the file you want to upload from your computer (compatible formats include :code:`.tiff`, :code:`.tif`, :code:`.json`, :code:`.tfrecord` or :code:`.tfrecord.gz`; the name of your asset can be changed in the next text field). By default, the asset will be named after the basename. Please ensure that the name includes the reference year of the land cover map. - - Source code: The module was developed under an `MIT license <https://opensource.org/licenses/MIT>`__, meaning the development is freely accessible and the code is public (it will link you to the GitHub repository of the module). - - Wiki: The latest documentation on SEPAL-MGCI :sub:`beta`, where you can start learning the workflow and module features. - - Bug report: Use this section to report any unexpected results or behaviours by following the `contribution guidelines <https://github.com/dfguerrerom/sepal_mgci/blob/master/CONTRIBUTE.md>`__. +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/setting_up/uploading_gee/geotiff_upload.PNG + :align: center + :width: 300 + :alt: Geotiff_upload -Area of interest (AOI) ----------------------- +3. Repeat step 2 for each of the land cover maps. -The calculation of the MGCI will be restricted to a specific AOI. In this step, you will have the option to choose between a predefined list of administrative layers or use a custom dataset. The available options include: - -- Predefined layers: - - Country/province - - Administrative level 1 - - Administrative level 2 - -- Custom layers - - Vector file: Use this option to upload a custom vector file. Select the **Vector file** method in the dropdown list; a **File manager** will be displayed, allowing you to search and select a vector file stored in your **SEPAL environment** (see `How to exchange files with SEPAL <https://docs.sepal.io/en/latest/setup/filezilla.html#exchange-files-with-sepal>`__). The dropdown menu **Column** is useful to filter the features of the vector file. The default option is **Use all features**. To filter the collection, select a **Column** and a **Value** in the corresponding dropdown list, then select the :guilabel:`Select aoi` button. - - .. image:: https://raw.githubusercontent.com/dfguerrerom/sepal_mgci/master/doc/img/1_vector_file.PNG - :align: center - :width: 600 - :alt: AOI selection - - .. note:: The AOI tool will read the following formats: [".shp", ".geojson", ".gpkg", ".kml"]; it will transform its original coordinates into EPSG:4326. - - - GEE asset name: See how to `upload an asset in GEE <https://docs.sepal.io/en/latest/setup/gee.html#upload-files-to-gee>`__. +4. Once all the land cover maps have been uploaded, you can create an image collection following `Google Earth Engine good practice guidelines on the topic <https://developers.google.com/earth-engine/guides/ic_creating>`_. + +Uploading a table file +^^^^^^^^^^^^^^^^^^^^^^ +Google Earth Engine allows the upload of tabular data in CSV format. To upload a table file do the following: + +1. Select New > **csv file upload**. +2. In the pop-up window that appears, select the file you want to upload from your computer (note: compatible formats include :code:`.csv`, :code:`.json`). -Since all processing is done in GEE, custom layers have to be previously stored as an `Earth Engine asset <https://developers.google.com/earth-engine/guides/asset_manager>`__ in your GEE account (either private or in a third-party account as a public asset; see `How to upload an asset to GEE <https://docs.sepal.io/en/latest/setup/gee.html#upload-files-to-gee>`__). The dropdown menu will query all assets in your GEE folder that matches the image type. Select it from the dropdown menu or enter it directly. +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/setting_up/uploading_gee/uploading_csv.PNG + :align: center + :width: 300 + :alt: Geotiff_upload -.. attention:: +.. tip:: - The administrative boundaries provided in SEPAL-MGCI are in the public domain. The designations employed and the presentation of material on this map do not imply the expression of any opinion whatsoever on the part of the Secretariat of the United Nations concerning the legal status of any country, territory, city, or area or of its authorities, or concerning the delimitation of its frontiers or boundaries. If using SEPAL-MGCI for official purposes, it is recommended that users use an official boundary provided by the designated office of their country. + Now you can access and use your assets in SEPAL. As you have already established a connection between your GEE and SEPAL accounts, all your assets are synced and available for you in SEPAL. You will be able to select them from the dropdown or copy/paste them directly from GEE when prompted in SEPAL-SDG 15.4.2 :sub:`beta` -After selecting the desired area, select the :guilabel:`Select AOI` button; the map will display your selection. +The SEPAL interface and the SEPAL-SDG 15.4.2 :sub:`beta` module +--------------------------------------------------------------- -.. note:: +If you are new to SEPAL, it is recommended to take a look over the interface and familiarize yourself with the main tools. A detailed description of the features can be consulted in the `interface documentation <https://docs.sepal.io/en/latest/setup/presentation.html#sepal-interface>`_. - You can only select one AOI. In some cases, depending on the input data, the process could take longer (see the :ref:`calculation <calculation>` section for more info). -.. image:: https://raw.githubusercontent.com/dfguerrerom/sepal_mgci/master/doc/img/1_aoi_selection.PNG +Setting up a SEPAL instance +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Applications such as the SEPAL-SDG 15.4.2 :sub:`beta` make use of SEPAL instances; running them will use your SEPAL computing resources. Selecting an app automatically initiates the process and starts the smallest instance to run the SEPAL sandbox. However, in some cases, especially where more powerful processing is required, you might need larger instances. For this reason, in some cases you may need manually set up a larger SEPAL instance before running SEPAL-SDG 15.4.2 :sub:`beta`. To do that do the following: + +1. Go to the `SEPAL terminal <https://docs.sepal.io/en/latest/setup/presentation.html#terminal>`_ (blue icon in the left panel in the image below) and wait for the instance selector to start. + +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/defining_e/sepal_terminal.PNG :align: center - :width: 600 - :alt: AOI selection + :width: 300 + :alt: Geotiff_upload -Mountain descriptor layer -------------------------- +2. Type the instance name. In our case m2 or m4 should suffice, then press ENTER. +3. Wait for the instance to finish loading. +4. Once completed, go back to the dashboard of the application to launch your app. It will automatically use the instance you have set. -This section of SEPAL-MGCI :sub:`beta` produces a UNEP-WCMC mountain class map for the study area selected in the previous step using a **Digital elevation model (DEM)** as an input. You have the option to provide a custom DEM for your study area or use the Shuttle Radar Topography Mission (SRTM) DEM (90 m resolution) developed by NASA/CGIAR. +Opening SEPAL-SDG 15.4.2 :sub:`beta` +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Questionnaire -^^^^^^^^^^^^^ +To open the the SEPAL-SDG 15.4.2 :sub:`beta` module use the `apps tab <https://docs.sepal.io/en/latest/setup/presentation.html#apps-tab>`_ and navigate through the list of apps until you find the module (alternatively, you can type in the search box "SDG 15.4.2"). Once you have find it, click over the app drawer and wait patiently until SEPAL-SDG 15.4.2 :sub:`beta` module is displayed (it may take a few minutes). -Here you have to indicate the DEM dataset you wish to use to develop the mountain class map. If you wish to use your own DEM dataset, select **Yes**. By selecting the desired option, the module will hide or display a text box to insert or select an asset ID. +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/defining_e/sepal_app.PNG + :align: center + :width: 700 + :alt: MGCI module + +The module should look like the image below. As any other SEPAL module, SEPAL-SDG 15.4.2 :sub:`beta` is divided into two main sections: -.. image:: https://raw.githubusercontent.com/dfguerrerom/sepal_mgci/master/doc/img/2_questionaire.PNG +- **Process drawers**: Located on the top left of the interface. This is where you can find the processing steps to accomplish the goal of the module. In SEPAL-SDG 15.4.2 beta, this is composed by 4 processing steps: Area of interest; Land cover settings; Indicator settings and Results. + +- **Help drawers**: Located just below the process drawers. This is used to describe the tool, the objectives and give a background about how it was developed. This is composed by the source code (the module was developed under a MIT license, which means that the development is freely accessible, and the code is public in GitHub); the Wiki (the latest documentation on tool) and the Bug report (use this section to report any unexpected result or behavior. To do so, please follow the `contribution guidelines <https://github.com/dfguerrerom/sepal_mgci/blob/master/CONTRIBUTE.md>`_.) + +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/App_landing.PNG :align: center - :width: 300 - :alt: DEM questionnaire + :width: 700 + :alt: MGCI module -Custom dataset -:::::::::::::: +Personalising SEPAL-SDG 15.4.2 :sub:`beta` +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Since all processing is done in GEE, all inputs must be uploaded as an `Earth Engine asset <https://developers.google.com/earth-engine/guides/asset_manager>`__. When using a custom dataset, it must be stored in your GEE account (private or in a third-party account as a public asset). The dropdown menu will query all assets in your GEE folder that match the image type. You can select it from the dropdown menu or enter it directly. +SEPAL includes functionalities to personalize the appearance of SEPAL-SDG 15.4.2 :sub:`beta` -After selecting the :guilabel:`Create UNEP-WCMC Mountain Class Map` button, the module will create the mountain descriptor layer; it will be automatically displayed on the map. +**Theme customization:** +You can choose between a dark or light theme. To change the theme, click the light mode icon (highlighted) at the top ribbon of the interface. The application will need to be restarted to apply the changes. -.. image:: https://raw.githubusercontent.com/dfguerrerom/sepal_mgci/master/doc/img/2_mountain_descriptor.PNG +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/Theme_light.PNG :align: center - :width: 600 - :alt: Mountain layer example + :width: 700 + :alt: MGCI module -Vegetation descriptor layer ---------------------------- +**Language selection:** +SEPAL-SDG 15.4.2 :sub:`beta` is currently only available in English. New language versions will be made available soon. -This section of SEPAL-MGCI :sub:`beta` produces the vegetation descriptor layer needed to compute the MGCI for the selected study area. It does so by reclassifying a land cover map into the six :ref:`IPCC land cover classes <ipcc_classes>` (Forest, Cropland, Grassland, Wetland, Settlements and Other Land), and then into green and non-green cover following the reclassification rules specified in the indicator’s metadata. +Calculating SDG Indicator 15.4.2 +-------------------------------- -Questionnaire -^^^^^^^^^^^^^ +Conceptual framework +^^^^^^^^^^^^^^^^^^^^ +This section will guide you through the sequence of processing steps to calculate SDG indicator 15.4.2. The main goal is to assess the changes in land cover in mountain areas by bioclimatic belts. The algorithm works using land cover data, a digital elevation model, a mountain area map and a national administrative boundary layer. + +Overview of Sub-Indicator 15.4.2a (Mountain Green Cover Index) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Here you have to indicate the land cover map that you wish to use to compute the vegetation descriptor layer. If you wish to use your own land cover map, select :guilabel:`yes`. If you select :guilabel:`no`, SEPAL-MGCI :sub:`beta` will use the CCI land cover datasets developed by the European Space Agency (ESA) for the years 1992–2018 (at 300 m resolution) to produce the vegetation descriptor layer for the selected AOI. +**Sub-indicator 15.4.2a**, Mountain Green Cover Index (MGCI), is designed to measure the extent and changes of green cover - i.e. forest, shrubs, trees, pasture land, cropland, etc. – in mountain areas. MGCI is defined as the percentage of green cover over the total surface of the mountain area of a given country and for given reporting year. The aim of the index is to monitor the evolution of the green cover and thus assess the status of conservation of mountain ecosystems. -.. image:: https://raw.githubusercontent.com/dfguerrerom/sepal_mgci/master/doc/img/3_questionnaire.PNG +.. math:: + + MGCI = (Mountain Green Cover Area n)/(Total Mountain Area) + +Where: + +- **Mountain Green Cover Area n** = Sum of areas (in km2) covered by (1) tree-covered areas, (2) croplands,(3) grasslands, (4) shrub-covered areas and (5) shrubs and/or herbaceous vegetation, aquatic or regularly flooded classes in the reporting period n +- **Total mountain area** = Total area of mountains (in km2). In both the numerator and denominator, mountain area is defined according to UNEP-WCMC (2002). + +Overview of Sub-Indicator 15.4.2b (Proportion of degraded mountain land) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +**Sub-indicator 15.4.2b**, Proportion of degraded mountain land, is designed to monitor the extent of degraded mountain land as a result of land cover change of a given country and for given reporting year. Similarly to sub-indicator ‘’trends in land cover” under SDG Indicator 15.3.1 (Sims et al. 2021), mountain ecosystem degradation and recovery is assessed based on the definition of land cover type transitions that constitute degradation, as either improving, stable or degraded. The definition of degradation adopted for the computation of this indicator is the one established Intergovernmental Science-Policy Platform on Biodiversity and Ecosystem Services (IPBES). + +.. math:: + + Proportion Of Degraded Mountain Land = (Degraded Mountain Area n) / (Total Mountain Area) * 100 + +Where: + +- **Degraded mountain area n** = Total degraded mountain area (in km2) in the reporting period n. This is, the sum of the areas where land cover change is considered to constitute degradation from the baseline period. Degraded mountain land will be assessed based on the land cover transition matrix in Annex 1. +- **Total mountain area** = Total area of mountains (in km2). In both the numerator and denominator, mountain area is defined according to UNEP-WCMC (2002). + +**Disaggregation:** + +Both of these sub-indicators are disaggregated by mountain bioclimatic belts as defined by Körner et al. (2011). In addition, sub-indicator 15.4.2a is +disaggregated by the 10 SEEA classes based on UN Statistical Division (2014). Those values are reported both as proportions (percent) and area (in square kilometres) + +More detailed information on the overall conceptual framework of the indicator is available in the `indicator's metadata <https://unstats.un.org/sdgs/metadata/files/Metadata-15-04-02.pdf>`_. + +Let’s us now compute SDG 15.4.2 step-by step using the example of Nepal. + + +Defining the area of interest (AoI) +----------------------------------- + +The calculation of the SDG 15.4.2 will be restricted to a specific area of interest defined by the user. In this first step, you will have the option to choose between a predefined list of administrative layers or to use a custom dataset. + +**1. Click on the Area of Interest Drawer to define your AoI.** + +A pop-up will display the available options to set your AoI: + +- Administrative definitions +- Custom layers + +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/Area_of_Interest.PNG :align: center - :width: 600 - :alt: Vegetation descriptor questionnaire + :width: 800 + :alt: MGCI module +**2. The Administrative definitions option uses the predifined administrative boundary layers available by default in the module. To define the Area of Interest using this option, do the following:** -If you have selected **No** -::::::::::::::::::::::::::: +- Select **Country** under Administrative definitions. +- In the dropdown list that will appear, select the country or territory in which you want to calculate SDG Indicator 15.4.2. In this example, we will select Nepal, as shown below. -SEPAL-MGCI :sub:`beta` will use the ESA-CCI land cover dataset. You just have to select the year for which you want to compute the analysis (**select band/property** in the dropdown menu). Once you have selected the year, select :guilabel:`display on map` to create an IPCC land cover class. +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/Selecting_Nepal.PNG + :align: center + :width: 800 + :alt: selecting_nepal -.. image:: https://raw.githubusercontent.com/dfguerrerom/sepal_mgci/master/doc/img/3_default.PNG +- Click on **Select Area of Interest (AOI)** and the map will display your selection. A corresponding legend is also displayed. The algorithm automatically generates a legend based on the mountain bioclimatic belt classes and the area for each of them as defined in the global mountain map developed by FAO to compute this indicator. + +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/defining_aoi_customlayers.PNG :align: center - :width: 600 - :alt: Default classification + :width: 700 + :alt: displaying_nepal + +.. warning:: The administrative boundaries available SEPAL-SDG 15.4.2 :sub:`beta` are extracted from FAO GAUL (Global Administrative Unit Layers) 2015 data set. The designations employed and the presentation of material on this map do not imply the expression of any opinion whatsoever on the part of the Secretariat of the United Nations concerning the legal status of any country, territory, city or area or of its authorities, or concerning the delimitation of its frontiers or boundaries. -If you have selected **Yes** -:::::::::::::::::::::::::::: +**3. The Custom layers option allow users to use their own national administrative boundary layers. To define the Area of Interest using your own custom administrative boundary layer you have two options: use a vector file that you have previously uploaded in GEE as an asset (GEE asset name option), or use a vector file that you have previously uploaded in your SEPAL environment (Vector file option). To use a GEE asset, do the following:** -Similarly to the mountain descriptor layer, to be able to use your own land cover map you would need upload it first to your GEE account or in a third-party account as a public asset (see `How to upload files to GEE <https://docs.sepal.io/en/latest/setup/gee.html#upload-files-to-gee>`__). The dropdown menu will query all assets in your GEE folder that match the image type. You can select it from the dropdown list or directly copy and paste the link to the dataset. +- Choose **GEE Asset Name** as your AOI selection method. +- Copy the **Asset ID** in GEE and paste under "Select an asset" +- Specify the column or leave the "Use all features" option to leave the default settings. -.. image:: https://raw.githubusercontent.com/dfguerrerom/sepal_mgci/master/doc/img/3_custom.PNG +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/gee_asset_vector_selection.PNG :align: center :width: 600 - :alt: Custom classification + :alt: displaying_nepal + +Land cover dataset +------------------ + +In this section of the module, you have to indicate which land cover data you want to used in the analysis. If using land cover maps different from the default ones, you will also be requested to set up the land cover legend reclassification rules for Sub-indicator A and B, as well as the land cover transition matrix for computing Sub-Indicator B. -To allow SEPAL-MGCI :sub:`beta` to create an IPCC land cover class map using the land cover map you have provided, specify how the land cover classes of your map have to be reclassified into the :ref:`six IPCC classes <ipcc_classes>` in one of two ways: +Defining your land cover dataset to be used in the analysis +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- Upload a table in .csv format (reclassification matrix), showing the IPCC land cover equivalent of the classes of your land cover map. See its structure in the :ref:`reclassification matrix <reclass_table>` section below. To provide information in this way, select :guilabel:`yes` below the question **Do you have a reclassification matrix table in .csv format?** +**1. Click on the Land cover dataset in the left panel menu.** A pop-up will ask you to indicate the land cover map you wish to use. - Once the table is in the **SEPAL enviroment**, select :guilabel:`Filename`, navigate through the folders, choose your table, and select the :guilabel:`load` button. - - .. image:: https://raw.githubusercontent.com/dfguerrerom/sepal_mgci/master/doc/img/3_search_table_and_load.PNG - :align: center - :width: 600 - :alt: Search and load table +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/Land_cover_dataset_landing.PNG + :align: center + :width: 900 + :alt: land cover module + +**2. In the first question of the questionnaire, you have to indicate the land cover maps that you wish to use to compute the indicator. If you want to use your own custom land cover datasets and select :guilabel:`yes` to this question, a new button (Open Parameters Settings) will appear. If you select :guilabel:`no`, the module will automatically use the default global land cover datasets for calculating this indicator (see section Data Sources above). Let's assume that you whish to your own land cover maps**. + +- Select :guilabel:`yes` to the first question. Then click on :guilabel:`Open Parameters Settings` + +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/custom_dataset_subA.PNG + :align: center + :width: 800 + :alt: land cover module + +- A new pop-up window will open to allow you to select your the collection of land cover maps as a GEE asset (remember that they must be stored as a `GEE image collection <https://developers.google.com/earth-engine/guides/ic_creating>`_ to be able to be imported. Use the bottom arrow to choose your asset or copy/paste it directly from GEE. Then click on :guilabel:`Get classes` - .. _reclass_table: - +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/importgeeimagecollection.PNG + :align: center + :width: 900 + :alt: land cover module + +Reclassify the legend of your land cover map to compute sub-Indicator A +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +- Once you have specified your custom land cover maps, you will be required to reclassify the legend of your land cover maps into the 10 landcover classes as defined by the UN-SEEA land cover classification, which is the default land cover legend for this sub-indicator. + +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/reclass_sub_A.PNG + :align: center + :width: 900 + :alt: reclass subA + +You can do this in two different ways: + +- Upload a reclassification matrix table in a csv format, indicating the SEEA land cover equivalent of the classes of your land cover map. To provide the information in this way, click on the arrow icon in the top right corner of the pop-up window. The table must already be uploaded in your SEPAL environment. To learn how to do that, please see the `how to exchange files in SEPAL <https://docs.sepal.io/en/latest/setup/filezilla.html#exchange-files-with-sepal>`_. Note that the target values must match with the UN-SEAA classes codes for sub-indicator A (click on the info button at the top of the table for information on how the SEEA classes are codified into numbers). + +.. _reclass_table: .. tip:: What is a reclassification matrix table?: - A reclassification matrix is a comma-separated values (.csv) file used to reclassify pixel values from one dataset into another. The .csv file only has to contain two values per line: the first one refers to the **from** value, while the second is the **target** value (see following table). - + + A reclassification matrix is a comma-separated values (CSV) file used to reclassify old pixel values into new ones. The CSV file only has to contain two values per line, the first one refers to the `from` value, while the second is the `target` value, just as it is described in the following table: + .. csv-table:: Reclassification table example :header: "Origin class", "Target class" :widths: auto :align: center - + "311", "1" "111", "5" "...","..." "511", "4" - - To upload a classification table, see `How to exchange files in SEPAL <https://docs.sepal.io/en/latest/setup/filezilla.html#exchange-files-with-sepal>`__. - - **Note**: The target values must match with the :ref:`IPCC classification table <ipcc_classes>`. -- Directly specify the reclassification rules by selecting :guilabel:`get table`; then, manually indicate the IPCC land cover equivalent (in the destination class column) of each of the land cover classes of your custom dataset (in the original class column) in the interactive table. To provide the reclassification matrix using this method, select **No** below the question, **Do you have a reclassification matrix table in .csv format?** +- Directly specify the reclassification rules by manually indicating the SEEA land cover equivalent (in the destination class column) of each of the land cover classes of your land cover map (in the original class column). After manually reclassifying your legend, you can use the save button at the top of the table to store the table as a CSV file, and use it in a future calculation instead of manually filling up the table. -.. image:: https://raw.githubusercontent.com/dfguerrerom/sepal_mgci/master/doc/img/3_1_reclassify_table.PNG +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/Reclassify_landcover.PNG :align: center - :width: 600 - :alt: Reclassification table + :width: 800 + :alt: Reclassify table + +In our example, we will reclassify Nepal’s national land cover class using the following guide: + +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/reclassification_guide_subA.PNG + :align: center + :width: 700 + :alt: Reclassify table + +- Once you have reclassified all the land classes for Sub-Indicator A, click on "Reclassify Land Cover for Sub-Indicator B" + +Reclassify the legend of your land cover map to compute Sub-Indicator B +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +This step allows you to reclassify the legend of your land cover map for computing Sub-Indicator B. + +In contrast to Sub-Indicator A, the land cover legend used for the calculation of Sub-Indicator B does not necessarily have to be the 10 UN-SEEA classes mentioned earlier. In this sub-indicator, the UN-SEEA legend can be adapted to the national context to ensure that it adequately captures the key degradation and improvement transitions identified in the prior step. For instance, a given country may decide to differentiate "natural forests" from "tree plantations" in sub-indicator B. + +For this reason, this step allows users to apply a new reclassification, or alternatively, used the same reclassification rules as in Sub-Indicator A. In the latter case. In any of both cases, users will need to upload the land cover reclassification rules in a csv file, following the same method as in the prior step. + +Upload a transition matrix for computing Sub-Indicator B +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +This step should only be completed if you have prodivded different land cover reclassification rules for Sub-Indicator B in the prior step. In such a case, in this step you will need to upload a land cover transition matrix, defining which land cover transitions are considered to be “degradation” and “improvement”, consistent to the legend you have provided in the prior step. This will allow SEPAL-SDG 15.4.2 :sub:`beta` to compute this sub-indicator in the next processing steps. + +Here again the transition matrix should have been previously uploaded in your SEPAL environment as a csv file, containing the following columns: from_code, to_code, impact_code, columns names have to be exactly the same. + +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/4_transition_matrix.PNG + :align: center + :width: 700 + :alt: Reclassify table + +Changing the default land cover transition matrix for computing Sub-Indicator B using the default global land cover data +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +SEPAL-SDG 15.4.2 :sub:`beta` allows the user to modify the default land cover transition matrix without needing to provide a custom land cover map. This allow national authorities to adapt the transition matrix to to the local context and in this way better capture the main land degradation processes occurring in the country without needing to provide alternative land cover data. + +This can be done selecting :guilabel:`Yes` in the second question of the land cover dataset questionnaire, and then clicking on "Open Parameter Settings". -.. tip:: After manually reclassifying your dataset, use the :guilabel:`save` button to store the table as a .csv file so that it can be used again later. - -Display results -^^^^^^^^^^^^^^^ +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/Yes_to_second_question.PNG + :align: center + :width: 800 + :alt: Reclassify table + +This will open a pop-up window including the default land cover transitions matrix, showing positive land cover transitions in green, negative in red, and stable/neutral transitions in blue. The matrix can be directly modified by clicking on each cell and changing the sign of the transition. + + +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/Modify_default_transitions.PNG + :align: center + :width: 900 + :alt: Reclassify table + +Once finished, just click outside the window and move to the next processing step: Indicators Settings. + +.. note:: + + Adapting the default land cover transition matrix using the default global land cover data should be carefully considered. Decisions about which land cover transitions are linked to a degradation or an improvement process in the context of sub-indicator B should be made taking into account the expected change in biodiversity and the mountain ecosystem functions or services that are considered desirable in a local or national context. For these reasons, FAO recommends to consider as degradation all land cover transitions that involve changes from natural land cover types (such as forests, shrublands, grasslands, wetlands) to anthropogenic land cover types (artificial surfaces, cropland, pastures, plantation forests, etc.) as a general rule, given that land use change is known to be the primary driver of biodiversity loss (IPBES, 2019). + +Indicators settings +------------------- -Once you have reclassified the new values or used the default land cover dataset, display the reclassified map by selecting the :guilabel:`display map` button. Depending on your AOI, the map should look like this: +Now that we have defined our area of interest and the land cover data to be used in the analysis, together with the land cover legend reclassification rules and associated transitions matrix, click on the **Indicator Settings drawer** to start setting the parameters that the tool will need in the computation of the sub-indicators. -.. image:: https://raw.githubusercontent.com/dfguerrerom/sepal_mgci/master/doc/img/3_3_vegetation_descriptor_2.PNG +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/Indicator_settings.PNG + :align: center + :width: 900 + :alt: Reclassify table + +From here on, let’s tackle the sub-indicators individually. + +Defining parameters for Sub-indicator A: Mountain Green Cover Index +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +**1. Click on the add layer icon (highlighted below) to define the years for which the indicator will be calculated** + +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/sub_indicatorA.PNG :align: center :width: 600 - :alt: Vegetation layer example map + :alt: Reclassify table + +**2. In the pop-up window that will appear you need to link each of the land maps (either the default ones or the custom ones that you may have uploaded in the prior steps) to the corresponding reference year of each map. You can report one or multiple years. To increase the number of years to be reported, just click on the + sign to define additional years that you need to report.** + +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/sub_a_reporting_years.PNG + :align: center + :width: 500 + :alt: Reclassify table + +.. note:: + + Remember that reporting years for Sub-indicator A are 2000, 2005, 2010, 2015 and subsequently every 3 years (2018, 2021, 2024,...). If you are using custom national land cover maps that are not annually updated and does not exactely match reporting years (for example, you may have a land cover map for 2004 instead of 2005), the tool will automatically interpolates values for the reporting years based on the years for which land cover data is available. -.. tip:: +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/defining_multiple_years.PNG + :align: center + :width: 400 + :alt: Reclassify table + +**3. When finished, press OK. The list of reporting years will now be listed at the bottom of the Sub-Indicator A box.** + +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/defining_multiple_results.PNG + :align: center + :width: 500 + :alt: Reclassify table - Remember that the MGCI is only calculated over mountain classes, so the vegetation layer will mask out the areas where there is no presence of a mountain class. +Defining parameters for Sub-Indicator B: Proportion of Degraded Mountain Land. +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +In contrast to Sub-Indicator A, in Sub-Indicator B the extent of degraded mountain land is calculated first in the baseline period 2000 - 2015. This baseline sets the benchmark ​from which the extent of land degradation is measured and monitored​ every 3 years after 2015. Put simply, new land cover degradation in the reporting periods (2018, 2021, 2024, ...) is added to the baseline to estimate the current extent of land cover degradation. This is why in this instance the tool automatically uses the 2000-2015 as baseline. -MGCI calculation ----------------- +**1. Define your landcover maps for the baseline years (2000 and 2015) by linking each of the land maps to the corresponding reference year of each map. If you are using custom national land cover maps that does not exactely match reporting years of the baseline, select the map whose reference year is closest to the reporting year (For example, you could select a land cover map for 1998 for the reporting year 2000).** -Once you have set the inputs in the previous steps, select **Calculate MGCI** to calculate both the area of each IPCC land cover class and MGCI values for the whole mountain area and for each mountain class. The module has the option of executing the calculation using the planimetric area or the `real surface area <https://www.fs.fed.us/rm/pubs_other/rmrs_2004_jenness_j001.pdf>`__. Each section will provide an overall MGCI displayed in a circle, along with the summary of the area in each of the IPCC classes, as shown in the below image. +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/sub_B_baseline.PNG + :align: center + :width: 500 + :alt: Reclassify table -.. _calculation: +**2. Then define the land cover maps for each of the reporting years and click OK** -Calculation -^^^^^^^^^^^ +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/subB_reporting_years.PNG + :align: center + :width: 500 + :alt: Reclassify table -Depending on the size of your AOI and whether you are using the real surface area or not, the process could take longer. As explained in the previous sections, the calculation of the land cover/use area per mountain class, as well as the MGCI, is done in GEE, meaning that the computation is restricted by the available GEE resources; one of these limitations is the time to get the results on the fly (see `Computation time out <https://developers.google.com/earth-engine/guides/debugging#timed-out>`__). +Calculation of SDG Indicator 15.4.2 +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Once you have set the parameters of each sub-indicator, the tool is now ready to run as shows below: -.. image:: https://raw.githubusercontent.com/dfguerrerom/sepal_mgci/master/doc/img/4_dashboard_1_calculation.PNG +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/calculate_mgci.PNG :align: center :width: 600 - :alt: Dashboard calculation + :alt: Reclassify table -To overcome this limitation, the process will be executed as a task, which is an operation that is capable of running much longer than the standard timeout (see `GEE tasks <https://developers.google.com/earth-engine/guides/playground#tasks-tab>`__). If the computation is created as a task, you will see a similar message as shown in the following image. To receive the results, see the :ref:`calculation from task <calculation_from_task>` section; otherwise, the result will be displayed on the dashboard (see :ref:`dashboard <display>`). +**1. Click on the "Calculate MGCI" to initiate the computation.** -.. image:: https://raw.githubusercontent.com/dfguerrerom/sepal_mgci/master/doc/img/4_computation_timeout.PNG +**2. Once is completed, you should see something like the image below:** + +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/MGCI_done..PNG :align: center :width: 600 - :alt: Computation timed out + :alt: Reclassify table -.. _calculation_from_task: +.. tip:: -Calculation from task -^^^^^^^^^^^^^^^^^^^^^ + SEPAL-SDG 15.4.2 :sub:`beta` calculates the indicator values assuming a planimetric area methods by default. To calculate indicator values using a real surface area method (a method that takes into account the third dimension of mountain surfaces through the use of digital elevation models and is known to derive closer estimates of the real surface area of mountain regions), click on "Use Real Surface Area" -If the computation can't be done on the fly, a new file containing the ID of the task is created and stored in the `../module_results/sdg_indicators/mgci/tasks` folder, which will help you track the status of the task. To do so, search for this file in your SEPAL environment using the **Navigator** by selecting the :guilabel:`search file` button; then, select the :guilabel:`Calculate MGCI` button. The result will be displayed if the process status is complete. +3. The entire process is done "on the fly” and thus you need to export your reporting tables to visualize and use them when required. To do that, click on the "Export Reporting Tables". When completed, a message will appear indicating where the tables have been exported. -.. tip:: +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/Export_Tables.PNG + :align: center + :width: 600 + :alt: Reclassify table - An alternative way to track the progress of the task is by using the `GEE task tracker <https://code.earthengine.google.com/tasks>`_, where you can find tasks running on the server. +Calculation from Task +^^^^^^^^^^^^^^^^^^^^^ +As explained in the previous sections, SEPAL runs on GEE. This means that the computation is restricted by the GEE available resources. One of these limitations is the time to get the results on the fly (see `computation time out <https://developers.google.com/earth-engine/guides/debugging#timed-out>`_). So any computation that takes more than five minutes will throw an exception. To overcome this limitation, the process will be executed as a task —which are operations that are capable of running much longer than the standard timeout. If the computation is created as a task, you will see a similar message as the shown in the below image. -.. image:: https://raw.githubusercontent.com/dfguerrerom/sepal_mgci/master/doc/img/4_dashboard_tasks.PNG +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/tasks_notice.png :align: center :width: 600 - :alt: Download from task - -| + :alt: Reclassify table -.. _display: +When computation can’t be done on the fly, a new file containing the id of the task is created and stored in the ../module_results/sdg_indicators/mgci/tasks folder. This file will help you to track the status of the task at any moment. An alternative way to track the progress of the task is by using the GEE task tracker, there you can find the tasks that are running on the server. -Display dashboard -^^^^^^^^^^^^^^^^^ +**1. To enable a computation from task; first we need to locate the tasks file within SEPAL.** + +To do so, you only have to search this file in your SEPAL environment using the navigator by clicking on the search file button, and then clicking over the Calculate MGCI button and the result will be displayed if the process status is completed. To locate the tasks manually, alternatively to locate the tasks navigate to the File Layer > Downloads > Module results>Tasks on SEPAL as shown below. + +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/locating_tasks.PNG + :align: center + :width: 700 + :alt: Reclassify table + +**2. Once that’s done in GEE, you will need to bring it back to SEPAL for the tool to finish computation. Click on the "Calculation from Task" tab to initiate this process.** + +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/calculation_from_task.PNG + :align: center + :width: 700 + :alt: Reclassify table + +**3. Load your task to finish computation.** + +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/task_file_choice.PNG + :align: center + :width: 700 + :alt: Reclassify table + +Visualizing the results +----------------------- -Whether the computation is done on the fly or you have used the task, the dashboard will be rendered in the same way (i.e. divided into two sections): +We can visualize the results in the following two ways: -- Overall MGCI: Indicates the overall index for the whole mountain area. -- Mountain class MGCI: Indicates the index for that specific mountain class. +• The exported tables: These provide the full results of the computation in a tabular format. -.. note:: The module will only work with the six IPCC classes. If you have provided different values to the classes, the module will classify them as the **Other lands** class (IPCC 6). +• Using the MGCI results drawer provides a simplified and visual representation of the results. -Export results -^^^^^^^^^^^^^^ +Let’s look at these individually. -After the calculation is done, the **Export** button will become available. To generate the report, enter your institution's name and select :guilabel:`export reporting tables` for the year of the land use/cover map. The report will consist of the following three files: +Exporting tables +^^^^^^^^^^^^^^^^ -- ER_MTN_GRNCOV: Mountain green cover area (skqm). -- ER_MTN_GRNCVI: Mountain Green Cover Index. -- ER_MTN_TOTL: Total mountain area (sqkm) +As explained earlier, once computation is completed, users can export the reporting tables to their SEPAL environment -.. image:: https://raw.githubusercontent.com/dfguerrerom/sepal_mgci/master/doc/img/4_dashboard_export.PNG +**1. To locate the tables, navigate to the Files Tab > Under the Downloads, you should see your table under MGCI reports as shown below:** + +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/downloading_report.PNG :align: center - :width: 600 - :alt: Export report + :width: 700 + :alt: Reclassify table + +**2. To download the report from SEPAL, click on the report and this activates the download icon in the top right side of the screen.** + +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/export_mgci.PNG + :align: center + :width: 700 + :alt: Reclassify table + +**3. Once the report is downloaded, you can visualize the results of the computation as seen below for all the reporting years defined earlier on.** + +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/results_excel_subA.PNG + :align: center + :width: 700 + :alt: Reclassify table + +The tables follow the standard format for SDG reporting and therefore can be used to report SDG Indicator 15.4.2 values to FAO + +Visualizing the results through the MGCI Results Drawer +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +SEPAL-SDG 15.4.2 :sub:`beta` also allows to explore the results of the computation visually. The module generates dashboards that show the changes that have occurred in the area of interest. To generate these dashboards do the following; -Once the process is done, the alert message will display the storage location of the report files, which can be downloaded by using any of the options presented in `Exchange files in SEPAL <https://docs.sepal.io/en/latest/setup/filezilla.html#exchange-files-with-sepal>`__. +**1. Click on the **MGCI results drawer** in the left panel. To see the results from the computation for Sub-Indicator A, choose which year you want to visualize and click on the Calculate button. + +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/MGCI_Results_SUbA.PNG + :align: center + :width: 700 + :alt: Reclassify table + +This generates dashboards to visualize the results of the computation. As seen below, the tool will generate an Overall MGCI for your study area. Additionally, a dashboard will be generated for each of the bioclimatic classes. + +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/Visualizing%20SUbA.PNG + :align: center + :width: 700 + :alt: Reclassify table + +**2. To see the results for Sub-Indicator B, choose a target year (baseline or one of the reporting years) using the drop-down arrow and a bioclimatic belt. Then click on Calculate:** + +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/results_sub_indicator_b.PNG + :align: center + :width: 700 + :alt: Reclassify table + +The results, shown as transitions in land cover types for a given belt will be displayed using a Sankey Plot, as shown below: + +.. image:: https://raw.githubusercontent.com/xavidelamo/sepal_images/main/computation/nival_results.PNG + :align: center + :width: 700 + :alt: Reclassify table .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/sepal_mgci/release/doc/en.rst diff --git a/docs/source/modules/dwn/tmf.rst b/docs/source/modules/dwn/tmf.rst index e89aab8f74..d0d5d33ea0 100644 --- a/docs/source/modules/dwn/tmf.rst +++ b/docs/source/modules/dwn/tmf.rst @@ -1,5 +1,94 @@ +TMF +=== +*Wrapper for Tropical Moist Forests* + + +This module provides an interface to clip and download the TMF product (Source: EC JRC) inside SEPAL + +About TMF +--------- + +The European Commission’s Joint Research Centre developed this new dataset on forest cover change in tropical moist forests (TMF) using 38 years of Landsat time series. +The wall-to-wall maps at 0.09 ha resolution (30m) depict the TMF extent and the related disturbances (deforestation and degradation), and post-deforestation recovery (or forest regrowth) through two complementary thematic layers: a transition map and an annual change collection over the period 1990-2019. +Each disturbance (deforestation or degradation) is characterized by its timing and intensity. +Deforestation refers to a change in land cover (from forest to non-forested land) when degradation refers to a temporary disturbance in a forest remaining forested such as selective logging, fires and unusual weather events (hurricanes, droughts, blowdown). + +License +^^^^^^^ + +All data here are produced under studies funded by the Directorate-General for Climate Action of the European Commission through the Roadless-For pilot project and the Lot 2 (Tropical moist Forest Monitoring) of the ForMonPol project (Forest Monitoring for Policies). All data are provided free of charge, without restriction of use. For the full license information see the Copernicus Regulation of the European Commission. + +Citation +^^^^^^^^ + +Publications, models and data products that make use of these datasets must include proper acknowledgement, including citing datasets and the journal article as in the following citation. + +For any use, please cite the source dataset: + +C. Vancutsem, F. Achard, J.-F. Pekel, G. Vieilledent, S. Carboni, D. Simonetti, J. Gallego, L.E.O.C. Aragão, R. Nasi. `Long-term (1990-2019) monitoring of forest cover changes in the humid tropics <https://doi.org/10.1126/sciadv.abe160>`_. Science Advances + + +TMF Explorer +^^^^^^^^^^^^ + +The `Tropical Moist Forest Explorer <https://forobs.jrc.ec.europa.eu/TMF/>`_ is a web-mapping tool that shows the dataset and allows users to navigate the tropics visualizing the main layers of the Tropical Moist Forest dataset without installing any software. +We recommend its use to explore the TMF product + + +Data Users Guide +^^^^^^^^^^^^^^^^ + +For a description of the TMF datasets and details on how to use the data, you can download the `Data USers Guide <https://forobs.jrc.ec.europa.eu/TMF/download/TMF_DataUsersGuide_vf.pdf>`_. + +Usage +----- + +Select an AOI +^^^^^^^^^^^^^ + +Using the provided AOI selector, select an AOI of your choice between the different methods available in the tool. We provide 3 administration descriptions (from level 0 to 2) and 3 custom shapes (drawn directly on the map, asset or shapefile). + +.. figure:: https://raw.githubusercontent.com/lecrabe/tmf_sepal/main/doc/img/aoi_select.png + + aoi selector + .. note:: - This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker <https://github.com/openforis/sepal-doc/issues/new?assignees===&labels===&template===documentation-needed.md>`__. + If a custom aoi from shape or drawing is selected, you will be able to use it directly and the upload to GEE will be launched in the background + +Select parameters +^^^^^^^^^^^^^^^^^ + +You need to select the start and final year of your analysis. TMF let you choose from 2014 to 2019. +Then you need to select what is the output you want to display on the map: + +- Deforestation +- Degradation +- Annual change + +Click on the validation button and your data will be automatically displayed on the map. If you want to change one of them you'll need to click on the button again. + +.. figure:: https://raw.githubusercontent.com/lecrabe/tmf_sepal/main/doc/img/parameters.png + + Parameters + +.. figure:: https://raw.githubusercontent.com/lecrabe/tmf_sepal/main/doc/img/display.png + + display + +Export +^^^^^^ + +Once you're happy with the information displayed then can be exported to be further used in a GIS software or in a GEE process. The tool provide 2 main exportation options, as an asset(in GEE) or as a Tif file in SEPAL. + +.. figure:: https://raw.githubusercontent.com/lecrabe/tmf_sepal/main/doc/img/export.png + + export + +.. danger:: + + When the image is exported to SEPAL, you cannot quit the application until the downloading is finished. + + -.. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst +.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/tmf_sepal/release/doc/en.rst diff --git a/docs/source/modules/dwn/zonal-analysis.rst b/docs/source/modules/dwn/zonal-analysis.rst deleted file mode 100644 index dc8c547187..0000000000 --- a/docs/source/modules/dwn/zonal-analysis.rst +++ /dev/null @@ -1,14 +0,0 @@ -Zonal analysis -============== - -.. warning:: - - The english documentation of the module have not been set. - -.. tip:: - - Please open an issue on their repository : https://github.com/openforis/zonal-analysis/issues/new - -One modification to see if the updating works - -.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/zonal-analysis/release/doc/en.rst diff --git a/docs/source/modules/index.rst b/docs/source/modules/index.rst index 334272927a..e8be10d412 100644 --- a/docs/source/modules/index.rst +++ b/docs/source/modules/index.rst @@ -72,12 +72,9 @@ If a particular app's documentation requires the user to start a specific instan :hidden: :maxdepth: 1 -.. custom-edit:: https://raw.githubusercontent.com/openforis/sepal-doc/main/docs/source/_templates/index.rst - other time-series restoration - inventories disaster PlanetLab SMFM \ No newline at end of file diff --git a/docs/source/modules/inventories.rst b/docs/source/modules/inventories.rst deleted file mode 100644 index 4feacf88bd..0000000000 --- a/docs/source/modules/inventories.rst +++ /dev/null @@ -1,17 +0,0 @@ -Inventories -=========== - -Modules with the **Inventories** tag include: - -.. toctree:: - :maxdepth: 1 - :hidden: - - dwn/bootstrap_sampling_simulator - dwn/plot_generator - -.. csv-table:: - - :doc:`dwn/bootstrap_sampling_simulator`,"..." - :doc:`dwn/plot_generator`,"..." - diff --git a/docs/source/modules/other.rst b/docs/source/modules/other.rst index c6dabb9518..8e4e40a232 100644 --- a/docs/source/modules/other.rst +++ b/docs/source/modules/other.rst @@ -11,15 +11,11 @@ Modules with the **Other** tag include: dwn/alos_mosaics dwn/coverage_analysis dwn/fcdm - dwn/geo_processing dwn/gfc_wrapper_python dwn/gfc_wrapper_R - dwn/gwl_analysis dwn/vector_manager dwn/sae_analysis - dwn/sae_design dwn/tmf - dwn/zonal-analysis dwn/gee-source dwn/weplan dwn/basin-river @@ -30,15 +26,11 @@ Modules with the **Other** tag include: :doc:`dwn/alos_mosaics`,"Create and manipulate ALOS K&C Mosaics" :doc:`dwn/coverage_analysis`,"Check per-pixel data availability" :doc:`dwn/fcdm`,"Mapping all kind of canopy disturbances (natural or human induced) within (semi-)evergreen forests" - :doc:`dwn/geo_processing`,"..." :doc:`dwn/gfc_wrapper_python`,"Combine the GFC layers to produce a forest change map" :doc:`dwn/gfc_wrapper_R`,"Combine the GFC layers to produce a forest change map" - :doc:`dwn/gwl_analysis`,"..." :doc:`dwn/vector_manager`,"Tool to manage vector files in SEPAL (upload, download, export to GEE and grid generation)" :doc:`dwn/sae_analysis`,"..." - :doc:`dwn/sae_design`,"..." - :doc:`dwn/tmf`,"Wrapper for TMF" - :doc:`dwn/zonal-analysis`,"..." + :doc:`dwn/tmf`,"Tropical Moist Forest by EC-JRC" :doc:`dwn/gee-source`,"Extract source code from any GEE app URL" :doc:`dwn/weplan`,"Explore restoration planning solution provided by WePlan - Forests" :doc:`dwn/basin-river`,"Get Forest Cover Change by upstream sub-catchment" diff --git a/docs/source/modules/time-series.rst b/docs/source/modules/time-series.rst index 0dfd0695fe..4ae4349a1c 100644 --- a/docs/source/modules/time-series.rst +++ b/docs/source/modules/time-series.rst @@ -11,7 +11,6 @@ Modules with the **Time-series** tag include: dwn/bfast_gpu dwn/bfast_r dwn/cusum - dwn/sar_time_series .. csv-table:: @@ -19,5 +18,4 @@ Modules with the **Time-series** tag include: :doc:`dwn/bfast_gpu`,"GPU implementation of the BFAST algorithm to analyse time series" :doc:`dwn/bfast_r`,"..." :doc:`dwn/cusum`,"Spatially cumulative sum algorithm for change detection within univariate time-series (GPU powered)" - :doc:`dwn/sar_time_series`,"..." diff --git a/pyproject.toml b/pyproject.toml index 24331315d3..af9e7cd29a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,5 +11,5 @@ ignore = ["D001"] # we follow a 1 line = 1 paragraph style ignore-path = ["docs/source/modules/*"] [tool.codespell] -skip = 'docs/source/_data/modules/*.json,*.po,docs/source/modules/dwn/*,docs/build/*,docs/source/_bib/workflows/drivers.bib' +skip = 'docs/source/_data/modules/*.json,*.po,docs/source/modules/dwn/*,docs/build/*,docs/source/_bib/workflows/drivers.bib,docs/source/_data/*' ignore-words-list='alos,cywgin,toi,aoi' \ No newline at end of file From d2524113bdce4dc69c4398b1a2da9dc4b1762c83 Mon Sep 17 00:00:00 2001 From: dfguerrerom <dfgm2006@gmail.com> Date: Tue, 19 Dec 2023 12:48:33 +0100 Subject: [PATCH 103/110] edit no_module template --- docs/source/_templates/no_module.rst | 3 +++ docs/source/modules/dwn/cusum.rst | 5 +++-- docs/source/modules/dwn/gfc_wrapper_R.rst | 5 +++-- docs/source/modules/dwn/sepal_mgci.rst | 2 +- docs/source/modules/dwn/smfm_deforest.rst | 5 +++-- 5 files changed, 13 insertions(+), 7 deletions(-) diff --git a/docs/source/_templates/no_module.rst b/docs/source/_templates/no_module.rst index e859e4173f..974cf9eab8 100644 --- a/docs/source/_templates/no_module.rst +++ b/docs/source/_templates/no_module.rst @@ -1,3 +1,6 @@ +Module_name += + .. note:: This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker <https://github.com/openforis/sepal-doc/issues/new?assignees=&labels=&template=documentation-needed.md>`__. diff --git a/docs/source/modules/dwn/cusum.rst b/docs/source/modules/dwn/cusum.rst index a25f47d757..b345c69e43 100644 --- a/docs/source/modules/dwn/cusum.rst +++ b/docs/source/modules/dwn/cusum.rst @@ -1,5 +1,6 @@ +cusum +===== + .. note:: This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker <https://github.com/openforis/sepal-doc/issues/new?assignees=====&labels=====&template=====documentation-needed.md>`__. - -.. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst diff --git a/docs/source/modules/dwn/gfc_wrapper_R.rst b/docs/source/modules/dwn/gfc_wrapper_R.rst index 079358e816..51b7d75b89 100644 --- a/docs/source/modules/dwn/gfc_wrapper_R.rst +++ b/docs/source/modules/dwn/gfc_wrapper_R.rst @@ -1,5 +1,6 @@ +gfc_wrapper_R +============= + .. note:: This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker <https://github.com/openforis/sepal-doc/issues/new?assignees=============&labels=============&template=============documentation-needed.md>`__. - -.. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst diff --git a/docs/source/modules/dwn/sepal_mgci.rst b/docs/source/modules/dwn/sepal_mgci.rst index f64a7152b9..438f20cc1a 100644 --- a/docs/source/modules/dwn/sepal_mgci.rst +++ b/docs/source/modules/dwn/sepal_mgci.rst @@ -1,7 +1,7 @@ SEPAL-SDG 15.4.2 :sub:`beta` ============================ -*A tool to support the computation of SDG Indicator 15.4.2 Indicator 15.4.2: (a) Mountain Green Cover Index and (b) Proportion of degraded mountain land using SEPAL (System for Earth Observation Data Access, Processing, and Analysis for Land Monitoring). * +*A tool to support the computation of SDG Indicator 15.4.2 Indicator 15.4.2: (a) Mountain Green Cover Index and (b) Proportion of degraded mountain land using SEPAL (System for Earth Observation Data Access, Processing, and Analysis for Land Monitoring).* This guide will introduce you to SEPAL-SDG 15.4.2 :sub:`beta` and will provide you detailed instructions on how the set it up and carry out the computation of both sub-indicators in a step-by-step manner. Screenshots are included to make it easier for the user to know what each description refers to. diff --git a/docs/source/modules/dwn/smfm_deforest.rst b/docs/source/modules/dwn/smfm_deforest.rst index 079358e816..8b7f1716d0 100644 --- a/docs/source/modules/dwn/smfm_deforest.rst +++ b/docs/source/modules/dwn/smfm_deforest.rst @@ -1,5 +1,6 @@ +smfm_deforest +============= + .. note:: This article of SEPAL documentation is not yet available. To request that it be made available, use the `GitHub Issue Tracker <https://github.com/openforis/sepal-doc/issues/new?assignees=============&labels=============&template=============documentation-needed.md>`__. - -.. custom-edit:: https://github.com/openforis/sepal-doc/blob/master/docs/source/_templates/no_module.rst From 18f8f084e5f7228d6419d3431ac2fe22372a37a1 Mon Sep 17 00:00:00 2001 From: dfguerrerom <dfgm2006@gmail.com> Date: Tue, 19 Dec 2023 12:49:29 +0100 Subject: [PATCH 104/110] refactor: no copy edit button when there's no doc --- docs/source/_script/modules.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/source/_script/modules.py b/docs/source/_script/modules.py index 3b9df7102c..70216e739b 100755 --- a/docs/source/_script/modules.py +++ b/docs/source/_script/modules.py @@ -44,7 +44,6 @@ def get_modules(): module_list = json.loads(module_json.read_text()) for name in module_list: - dst = dwn_dir / f"{name}.rst" file = module_list[name].get("url", no_module_url) @@ -60,9 +59,10 @@ def get_modules(): if file == no_module_url: txt = txt.replace("Module_name", name).replace("=", "=" * len(name)) - # add the custom edit directive to the file to ensure the "edit this page" - # point to the correct file. - txt += f"\n.. custom-edit:: {file}\n" + if file != no_module_url: + # add the custom edit directive to the file to ensure the "edit this page" + # point to the correct file. + txt += f"\n.. custom-edit:: {file}\n" dst.write_text(txt) @@ -83,7 +83,6 @@ def get_tags(): tags = list(dict.fromkeys(tags)) for tag in tags: - # create a stub file tag_file = module_dir / f"{tag}.rst" copy(tag_template, tag_file) @@ -130,7 +129,6 @@ def get_translation(): # loop in the modules for name in module_list: - locale_folder = module_list[name].get("locale") doc_url = module_list[name].get("url") From 00a35c623b181f687d37ab7656cfd3676ea3342d Mon Sep 17 00:00:00 2001 From: dfguerrerom <dfgm2006@gmail.com> Date: Tue, 19 Dec 2023 13:04:14 +0100 Subject: [PATCH 105/110] lint --- docs/source/_data/modules/en.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/_data/modules/en.json b/docs/source/_data/modules/en.json index d3324b1604..12d70ad1af 100644 --- a/docs/source/_data/modules/en.json +++ b/docs/source/_data/modules/en.json @@ -74,7 +74,7 @@ }, "sepafe": { "tag": ["PlanetLab"], - "description" : "Display active and past fire events from the Fire Information for Resource Management System (FIRMS) using Planet Lab data.", + "description": "Display active and past fire events from the Fire Information for Resource Management System (FIRMS) using Planet Lab data.", "url": "https://raw.githubusercontent.com/sepal-contrib/planet_active_fires_explorer/release/doc/en.rst" }, "sepal_mgci": { @@ -104,7 +104,7 @@ "tmf": { "description": "Tropical Moist Forest by EC-JRC", "tag": ["other"], - "url" : "https://raw.githubusercontent.com/sepal-contrib/tmf_sepal/release/doc/en.rst" + "url": "https://raw.githubusercontent.com/sepal-contrib/tmf_sepal/release/doc/en.rst" }, "gee-source": { "description": "Extract source code from any GEE app URL", From 30d7fc4956f88bd4dc54e49638092f2e8d272235 Mon Sep 17 00:00:00 2001 From: dfguerrerom <dfgm2006@gmail.com> Date: Tue, 19 Dec 2023 13:09:36 +0100 Subject: [PATCH 106/110] feat: add lint trailing script --- docs/source/_script/lint_trailing.py | 45 ++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 docs/source/_script/lint_trailing.py diff --git a/docs/source/_script/lint_trailing.py b/docs/source/_script/lint_trailing.py new file mode 100644 index 0000000000..7997d3a361 --- /dev/null +++ b/docs/source/_script/lint_trailing.py @@ -0,0 +1,45 @@ +import os +import sys +from docutils.core import publish_string +from docutils import ApplicationError + + +def process_file(file_path): + """Process a single .rst file, checking for validity and fixing whitespace.""" + try: + with open(file_path, "r") as f: + content = f.read() + # publish_string(source=content, writer_name="null") # Validate RST + with open(file_path, "w") as f: + f.writelines([line.rstrip() + "\n" for line in content.splitlines()]) + print("done") + except (IOError, ApplicationError) as e: + print(f"Skipping file {file_path}: {e}") + + +def process_directory(path): + """Process all .rst files in a directory.""" + for root, dirs, files in os.walk(path): + for file in files: + if file.endswith(".rst"): + process_file(os.path.join(root, file)) + + +def main(): + """Main function for the script.""" + if len(sys.argv) != 2: + print(f"Usage: {sys.argv[0]} path_or_file") + sys.exit(1) + + path_or_file = sys.argv[1] + if os.path.exists(path_or_file): + if os.path.isdir(path_or_file): + process_directory(path_or_file) + else: + process_file(path_or_file) + else: + print(f"The path {path_or_file} does not exist.") + + +if __name__ == "__main__": + main() From 3aeddc6521bccc063f7cf3c0413ea7451ae222c3 Mon Sep 17 00:00:00 2001 From: dfguerrerom <dfgm2006@gmail.com> Date: Tue, 19 Dec 2023 13:11:55 +0100 Subject: [PATCH 107/110] lint --- docs/source/_script/lint_trailing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/_script/lint_trailing.py b/docs/source/_script/lint_trailing.py index 7997d3a361..56ccb4503b 100644 --- a/docs/source/_script/lint_trailing.py +++ b/docs/source/_script/lint_trailing.py @@ -1,6 +1,6 @@ import os import sys -from docutils.core import publish_string + from docutils import ApplicationError From 900a612c678a373e7435fcccffd645c599159a02 Mon Sep 17 00:00:00 2001 From: dfguerrerom <dfgm2006@gmail.com> Date: Tue, 19 Dec 2023 13:43:43 +0100 Subject: [PATCH 108/110] fix: add double space when adding custom-link --- docs/source/_script/modules.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/_script/modules.py b/docs/source/_script/modules.py index 70216e739b..c3d6f3bb78 100755 --- a/docs/source/_script/modules.py +++ b/docs/source/_script/modules.py @@ -62,7 +62,7 @@ def get_modules(): if file != no_module_url: # add the custom edit directive to the file to ensure the "edit this page" # point to the correct file. - txt += f"\n.. custom-edit:: {file}\n" + txt += f"\n\n.. custom-edit:: {file}\n" dst.write_text(txt) From ecd37f4cf88d1dd6f3799a3dde55f3a827b3d2f5 Mon Sep 17 00:00:00 2001 From: dfguerrerom <dfgm2006@gmail.com> Date: Tue, 19 Dec 2023 13:44:05 +0100 Subject: [PATCH 109/110] refactor: remove legacy map background css code --- docs/source/_static/css/custom.css | 37 ------------------------------ 1 file changed, 37 deletions(-) diff --git a/docs/source/_static/css/custom.css b/docs/source/_static/css/custom.css index cc0bf2f860..1bd863224a 100644 --- a/docs/source/_static/css/custom.css +++ b/docs/source/_static/css/custom.css @@ -94,43 +94,6 @@ html[data-theme="dark"] img:not(.only-dark):not(.dark-light) { filter: none; } -/******************************************************************************* -* characteristic of the map -* -**/ -#map, -#map-overlay { - position: fixed; - top: 0; - left: 0; - margin: 0; - padding: 0; - height: 100vh; - width: 100vw; -} - -#map { - z-index: -2; -} -#map-overlay { - z-index: -1; -} -html[data-theme="light"] #map-overlay { - background-color: rgba(255, 255, 255, 0.8); -} -html[data-theme="dark"] #map-overlay { - background-color: rgba(18, 18, 18, 0.3); -} -.leaflet-container { - background: var(--pst-color-background) !important; -} -.lb-outerContainer { - background-color: var(--pst-color-background); -} -footer { - background-color: var(--pst-color-background); -} - /******************************************************************************* * custom article footer rendering */ From aa370b1d98b102a4c27b825d7a69b16afe331c8d Mon Sep 17 00:00:00 2001 From: dfguerrerom <dfgm2006@gmail.com> Date: Tue, 19 Dec 2023 13:44:30 +0100 Subject: [PATCH 110/110] update source --- docs/source/modules/dwn/alert_module.rst | 1 + docs/source/modules/dwn/alos_mosaics.rst | 1 + docs/source/modules/dwn/basin-river.rst | 1 + docs/source/modules/dwn/bfast_explorer.rst | 1 + docs/source/modules/dwn/bfast_gpu.rst | 2 -- docs/source/modules/dwn/bfast_r.rst | 1 + docs/source/modules/dwn/clip-time-series.rst | 2 -- docs/source/modules/dwn/coverage_analysis.rst | 1 + docs/source/modules/dwn/damage_proxy_map.rst | 1 + docs/source/modules/dwn/fcdm.rst | 1 + docs/source/modules/dwn/gee-source.rst | 2 -- docs/source/modules/dwn/gfc_wrapper_python.rst | 1 + docs/source/modules/dwn/gwb.rst | 1 + docs/source/modules/dwn/planet_order.rst | 1 + docs/source/modules/dwn/sae_analysis.rst | 1 - docs/source/modules/dwn/sdg_indicator.rst | 2 -- docs/source/modules/dwn/sepafe.rst | 1 + docs/source/modules/dwn/sepal_mgci.rst | 1 + docs/source/modules/dwn/sepal_pysmm.rst | 2 -- docs/source/modules/dwn/seplan.rst | 1 + docs/source/modules/dwn/smfm_biota.rst | 2 -- docs/source/modules/dwn/tmf.rst | 1 + docs/source/modules/dwn/vector_manager.rst | 1 + docs/source/modules/dwn/weplan.rst | 1 + 24 files changed, 17 insertions(+), 13 deletions(-) diff --git a/docs/source/modules/dwn/alert_module.rst b/docs/source/modules/dwn/alert_module.rst index 7db1733260..33b940c503 100644 --- a/docs/source/modules/dwn/alert_module.rst +++ b/docs/source/modules/dwn/alert_module.rst @@ -407,4 +407,5 @@ Navigate through the images using the buttons in the **Planet navigator**. Use : .. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/alert_module/master/doc/img/planet_daily.png :title: Planet daily mosaic displayed in CIR :group: alert-module + .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/alert_module/release/doc/en.rst diff --git a/docs/source/modules/dwn/alos_mosaics.rst b/docs/source/modules/dwn/alos_mosaics.rst index 059714ac8b..555b79048c 100644 --- a/docs/source/modules/dwn/alos_mosaics.rst +++ b/docs/source/modules/dwn/alos_mosaics.rst @@ -96,4 +96,5 @@ Both use the GEE export system and share the same set of parameters: .. attention:: When exporting images to SEPAL, do not quit the application until the downloading process is complete. + .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/alos_mosaics/release/doc/en.rst diff --git a/docs/source/modules/dwn/basin-river.rst b/docs/source/modules/dwn/basin-river.rst index 0ef1bcc9b3..3b9c57293b 100644 --- a/docs/source/modules/dwn/basin-river.rst +++ b/docs/source/modules/dwn/basin-river.rst @@ -143,4 +143,5 @@ On the right, the **Bar chart** displays the absolute values. In the GFC product dataset (Hansen *et al.*, 2013), only forest loss has a temporal dimension. When a new time period is selected, a new graph representing the trend of forest loss will be displayed at the bottom of the screen. .. image:: https://raw.githubusercontent.com/sepal-contrib/basin-rivers/master/doc/img/interactive_stats.gif + .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/basin-rivers/release/doc/en.rst diff --git a/docs/source/modules/dwn/bfast_explorer.rst b/docs/source/modules/dwn/bfast_explorer.rst index 20d5b8d92d..be6789259b 100644 --- a/docs/source/modules/dwn/bfast_explorer.rst +++ b/docs/source/modules/dwn/bfast_explorer.rst @@ -134,4 +134,5 @@ Since **bfast** can detect multiple breakpoints, it may take a couple of seconds <i class="fa fa-download"></i> + .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/bfast-explorer/main/md/tutorial.rst diff --git a/docs/source/modules/dwn/bfast_gpu.rst b/docs/source/modules/dwn/bfast_gpu.rst index 3de4cc784d..46b959ca72 100644 --- a/docs/source/modules/dwn/bfast_gpu.rst +++ b/docs/source/modules/dwn/bfast_gpu.rst @@ -171,7 +171,5 @@ Here you'll find an example of two bands over the Juaboso Region in Ghana with a .. figure:: https://raw.githubusercontent.com/12rambau/bfast_gpu/master/utils/breaks.png Breaks masked in the centre of the region, displayed with a viridis colormap, values in [2017.26, 2019.98] - -.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/bfast_gpu/release/doc/en.rst .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/bfast_gpu/release/doc/en.rst diff --git a/docs/source/modules/dwn/bfast_r.rst b/docs/source/modules/dwn/bfast_r.rst index aafe990d0c..01226f482d 100644 --- a/docs/source/modules/dwn/bfast_r.rst +++ b/docs/source/modules/dwn/bfast_r.rst @@ -178,4 +178,5 @@ Finally, you will find an additional layer called **Threshold**. The thresholded .. thumbnail:: https://raw.githubusercontent.com/12rambau/bfastspatial/master/www/tutorial/img/result_sigma.png :group: bfastspatial + .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/bfastspatial/main/www/tutorial/tutorial.rst diff --git a/docs/source/modules/dwn/clip-time-series.rst b/docs/source/modules/dwn/clip-time-series.rst index f6d30d4b0e..650fa553ae 100644 --- a/docs/source/modules/dwn/clip-time-series.rst +++ b/docs/source/modules/dwn/clip-time-series.rst @@ -204,5 +204,3 @@ Then, the module will present an active link in the green button to a preview of :title: The output preview of a table input using Landsat mosaics .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/clip-time-series/release/doc/en.rst - -.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/clip-time-series/release/doc/en.rst diff --git a/docs/source/modules/dwn/coverage_analysis.rst b/docs/source/modules/dwn/coverage_analysis.rst index b6e8ebe348..829d6c4dff 100644 --- a/docs/source/modules/dwn/coverage_analysis.rst +++ b/docs/source/modules/dwn/coverage_analysis.rst @@ -86,4 +86,5 @@ Both use the GEE export system and share the same set of parameters: .. attention:: When exporting the image to SEPAL, you cannot quit the application until the download is finished. + .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/coverage_analysis/release/doc/en.rst diff --git a/docs/source/modules/dwn/damage_proxy_map.rst b/docs/source/modules/dwn/damage_proxy_map.rst index b535cd3c71..4e3d491d00 100644 --- a/docs/source/modules/dwn/damage_proxy_map.rst +++ b/docs/source/modules/dwn/damage_proxy_map.rst @@ -39,4 +39,5 @@ Selecting this button will trigger the full workflow (Note: Some of the steps ma Once the computation has finished, the result files will be stored in the :code:`module_results/Damage_proxy_map/<aoi name>_<event date>/` folder. .. figure:: https://raw.githubusercontent.com/sepal-contrib/damage_proxy_maps/main/doc/img/complete.png + .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/damage_proxy_maps/release/doc/en.rst diff --git a/docs/source/modules/dwn/fcdm.rst b/docs/source/modules/dwn/fcdm.rst index e98492f486..350686e86f 100644 --- a/docs/source/modules/dwn/fcdm.rst +++ b/docs/source/modules/dwn/fcdm.rst @@ -250,4 +250,5 @@ Select the cloud in the upper-left corner of the map to open the following pop-u If you choose to export to GEE, the process can be monitored from the GEE **Task manager**. Select :guilabel:`Apply` to start the exportation process. + .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/fcdm/release/doc/en.rst diff --git a/docs/source/modules/dwn/gee-source.rst b/docs/source/modules/dwn/gee-source.rst index b1a9a00155..7aebd59c1e 100644 --- a/docs/source/modules/dwn/gee-source.rst +++ b/docs/source/modules/dwn/gee-source.rst @@ -18,7 +18,5 @@ Here is an example computing the `GLAD_S2 application <https://glad.earthengine. .. thumbnail:: https://raw.githubusercontent.com/sepal-contrib/gee_source/master/doc/img/gee-source.PNG :title: The result of the parsing of the GLAD-S2 application :group: module-gee-source - -.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/gee_source/release/doc/en.rst .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/gee_source/release/doc/en.rst diff --git a/docs/source/modules/dwn/gfc_wrapper_python.rst b/docs/source/modules/dwn/gfc_wrapper_python.rst index 2e8986be5d..a94675ae20 100644 --- a/docs/source/modules/dwn/gfc_wrapper_python.rst +++ b/docs/source/modules/dwn/gfc_wrapper_python.rst @@ -89,4 +89,5 @@ The files are named after your parameters, following this convention: :code:`<th .. thumbnail:: https://raw.githubusercontent.com/openforis/gfc_wrapper_python/master/doc/img/results.png :group: gfc_wrapper + .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/gfc_wrapper_python/release/doc/en.rst diff --git a/docs/source/modules/dwn/gwb.rst b/docs/source/modules/dwn/gwb.rst index a9f3806c90..260a304e7d 100644 --- a/docs/source/modules/dwn/gwb.rst +++ b/docs/source/modules/dwn/gwb.rst @@ -1265,4 +1265,5 @@ References ---------- `GuidosToolbox Workbench: Spatial analysis of raster maps for ecological applications <https://doi.org/10.1111/ecog.05864>`_ + .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/gwb/release/doc/en.rst diff --git a/docs/source/modules/dwn/planet_order.rst b/docs/source/modules/dwn/planet_order.rst index 03bd420489..738036b807 100644 --- a/docs/source/modules/dwn/planet_order.rst +++ b/docs/source/modules/dwn/planet_order.rst @@ -129,4 +129,5 @@ The images will be stored in the following folder: :code:`~/module_results/plane If the requested image is not available (e.g. the grid points to water area, the image was too cloudy and filtered by Planet, you don't have the rights to download it, etc.) the image will fail. If the image already exists in your folder, it will be skipped. This behaviour allows you to restart a process if your SEPAL connection crashes without needing to restart all downloads. + .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/planet-order/release/doc/en.rst diff --git a/docs/source/modules/dwn/sae_analysis.rst b/docs/source/modules/dwn/sae_analysis.rst index 367bbb591c..4ba7233e22 100644 --- a/docs/source/modules/dwn/sae_analysis.rst +++ b/docs/source/modules/dwn/sae_analysis.rst @@ -111,6 +111,5 @@ In this exercise, we collected validation data using a stratified sample, so the For support, `ask the community <https://groups.google.com/g/sepal-users>`__. -.. custom-edit:: https://raw.githubusercontent.com/openforis/accuracy-assessment/master/aa_analysis/doc.rst .. custom-edit:: https://raw.githubusercontent.com/openforis/accuracy-assessment/master/aa_analysis/doc.rst diff --git a/docs/source/modules/dwn/sdg_indicator.rst b/docs/source/modules/dwn/sdg_indicator.rst index b7ca2bf137..be655906d9 100644 --- a/docs/source/modules/dwn/sdg_indicator.rst +++ b/docs/source/modules/dwn/sdg_indicator.rst @@ -487,5 +487,3 @@ The following .gif will show you the full reclassification process with a simple :alt: Reclassification demo .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/sdg_15.3.1/release/doc/en.rst - -.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/sdg_15.3.1/release/doc/en.rst diff --git a/docs/source/modules/dwn/sepafe.rst b/docs/source/modules/dwn/sepafe.rst index 02af7213e8..593a2054ca 100644 --- a/docs/source/modules/dwn/sepafe.rst +++ b/docs/source/modules/dwn/sepafe.rst @@ -78,4 +78,5 @@ Select any point on the map and use the **Refresh** icon (:btn:`<fa-solid fa-rot .. attention:: This option requires a valid Planet Level 2 key; otherwise, you will receive an error message in the **Status** bar. + .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/planet_active_fires_explorer/release/doc/en.rst diff --git a/docs/source/modules/dwn/sepal_mgci.rst b/docs/source/modules/dwn/sepal_mgci.rst index 438f20cc1a..6754c337b1 100644 --- a/docs/source/modules/dwn/sepal_mgci.rst +++ b/docs/source/modules/dwn/sepal_mgci.rst @@ -610,4 +610,5 @@ The results, shown as transitions in land cover types for a given belt will be d :align: center :width: 700 :alt: Reclassify table + .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/sepal_mgci/release/doc/en.rst diff --git a/docs/source/modules/dwn/sepal_pysmm.rst b/docs/source/modules/dwn/sepal_pysmm.rst index e033c06458..55201e22b0 100644 --- a/docs/source/modules/dwn/sepal_pysmm.rst +++ b/docs/source/modules/dwn/sepal_pysmm.rst @@ -226,5 +226,3 @@ Open-source data from Sentinel-1 operates using C-band synthetic aperture radar It is recommended that densely vegetated areas are excluded from analysis due to the limitation of C-band radar to penetrate dense canopy cover. Use a **forest map** to exclude dense forest areas from the analysis. .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/sepal_pysmm/release/doc/en.rst - -.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/sepal_pysmm/release/doc/en.rst diff --git a/docs/source/modules/dwn/seplan.rst b/docs/source/modules/dwn/seplan.rst index a5de9df3f9..2b2bc81a8e 100644 --- a/docs/source/modules/dwn/seplan.rst +++ b/docs/source/modules/dwn/seplan.rst @@ -1099,4 +1099,5 @@ This tool has been developed by FAO in close collaboration with the Spatial Info :class: ma-1 :alt: MAAF_logo :height: 100 + .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/se.plan/release/doc/en.rst diff --git a/docs/source/modules/dwn/smfm_biota.rst b/docs/source/modules/dwn/smfm_biota.rst index f25c1009ff..4545a5e963 100644 --- a/docs/source/modules/dwn/smfm_biota.rst +++ b/docs/source/modules/dwn/smfm_biota.rst @@ -278,5 +278,3 @@ On the left side, you can access: :width: 600 .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/sepal_smfm_biota/release/doc/en.rst - -.. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/sepal_smfm_biota/release/doc/en.rst diff --git a/docs/source/modules/dwn/tmf.rst b/docs/source/modules/dwn/tmf.rst index d0d5d33ea0..57dd12315e 100644 --- a/docs/source/modules/dwn/tmf.rst +++ b/docs/source/modules/dwn/tmf.rst @@ -91,4 +91,5 @@ Once you're happy with the information displayed then can be exported to be furt + .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/tmf_sepal/release/doc/en.rst diff --git a/docs/source/modules/dwn/vector_manager.rst b/docs/source/modules/dwn/vector_manager.rst index 16a87973c6..ab2c3665a8 100644 --- a/docs/source/modules/dwn/vector_manager.rst +++ b/docs/source/modules/dwn/vector_manager.rst @@ -43,4 +43,5 @@ The second drawer will allow you to create a grid on top of any AOI. The grid co An extra column is added to the grid: **Batch**. You can select the size of the batch by changing the width of the batch using the initial grid cell as a unit (e.g. by setting :guilabel:`grid size` to 10, you'll create a grid batch of 10 x 10 cells). The naming will be automatically set according to your AOI name and batch size. By validating, you will create a GeoJSON file that will be stored in :code:`module_results/aoi/<asset_name>.geojson`, launching the creation of the same grid in your GEE assets. + .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/vector_manager/release/doc/en.rst diff --git a/docs/source/modules/dwn/weplan.rst b/docs/source/modules/dwn/weplan.rst index 24e89f8454..5237778889 100644 --- a/docs/source/modules/dwn/weplan.rst +++ b/docs/source/modules/dwn/weplan.rst @@ -50,4 +50,5 @@ The application will retrieve four types of analysis from the WePlan - Forests p - :code:`scen_tradeoffs_mb_target_<X>_weight_<Y>_<version>.tif`: Max-benefit scenarios; these rasters are the optimal solutions that maximize benefit, ignoring costs where :code:`X` is an integer referring to the target category and :code:`Y` is an integer referring to the order of relative weights between carbon and biodiversity objectives. For more information about the computation methodology and scenarios, refer to the `WePlan - Forests website <http://www.weplan-forests.org/flrp/choose.php>`__. + .. custom-edit:: https://raw.githubusercontent.com/sepal-contrib/weplan/release/doc/en.rst