GEDI forest transects
Implementation Note for Jura Mountains mapping
Jura Mountains mapping ¦ Forests ¦ Main map
We describe here how the Jura Mountains mapping website uses GEDI LIDAR (light detection and ranging) transects (PDF).
But first, some guidance for users.
Images giving the profiles of the density of biomass - technically the Plant Area Volume Density (PAVD) - along GEDI lidar shot transects (rows of red circles) are made available by selecting "Transects" in the map menu. The map should then be rotated (use Alt + Shift keys) and zoomed to the resolution that makes the length of the transect (the blue line below the transects PAVD image) equal to the PAVD profile shown in the image.
A few shots (green circles) are also shown for transects for which structure metrics were calculated (see below).
Clicking a shot gives details of the shot. For green circles, details will include a summary of the structure metrics for the shot).
Project level
OpenStreetMap technology is rarely applied at the local project-level as opposed to the global level. The Jura Mountains mapping website aims to overcome this shortcoming by piloting open-source OpenStreetMap project-level applications.
A recent development for application at the global level involves the Global Ecosystem Dynamics Investigation (GEDI) high-resolution earth-observation LIDAR data.
GEDI Level 1 and Level 2 products have been made available since late-2019. They allow the canopy height and vegetation density of forested areas to be estimated.
Level 3 products that grid spatially interpolated Level 2 footprint estimates of canopy cover, canopy height, leaf-area, and vertical foliage profiles were planned for release in mid-2020, and are presumably still planned for release.
Level 4 products - the highest GEDI product level - will eventually use calibrated models to derive estimates of above-ground biomass density footprints.
These footprints will then be used to estimate biomass within 1 km square cells in order to monitor the Earth's carbon cycle at the global level as a component of carbon accounting aimed at reducing the level of atmospheric carbon dioxide which drives climate change.
The three GEDI lasers mounted on the International Space Station fire 242 times each second to produce eight beam tracks which are spaced approximately 600 m apart in the cross-track direction (see specifications). Two beams are full-power beams and a third laser beam is split into two "coverage" beams. Every other shot of each of the beams is optically dithered across-track to give an additional beam tracks with irregularly spaced shots. Each beam samples the Earth at points that are approximately 60m apart along the beam track's orbit, resulting in almost continuous along-track coverage. Each illuminated footprint reflects LIDAR energy with a diameter of about 30 m and a vertical measurement accuracy of about 2o to 3o mm.
The focus at the project-level pilot is to evaluate the application of GEDI products to the built environment that comprises urban and nature-based infrastructure which blend vegetation and man-made structures.
As a first step, Level 2 GEDI metrics for transects through the Jura Mountain forests are being examined. The aim is to see if the vertical foliage profile can be used not only to monitor logging and other forestry activity but also to spatially quantify the built environment.
Web mapping uses OpenLayers since map rotation is needed to align images of PAVD profiles with GEDI transects. Drop-down menus are used now to select profiles, but this will be changed at some stage by using pop-up images.
In passing, we note that the SwissIMAGE high-resolution aerial imagery that is now publically available can be displayed not only in the JOSM OpenStreetMap map editor and other editors, but also in Leaflet and OpenLayers map layers using respectively:
- var swissimageLayer = L.tileLayer.wms('https://wms.geo.admin.ch/?FORMAT=image/vnd.jpeg-png8&TRANSPARENT=TRUE&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap&LAYERS=ch.swisstopo.images-swissimage&STYLES=&CRS=EPSG:3857',{layers:'ch.swisstopo.images-swissimage',format:'image/png'});
- var osmAerial = new ol.layer.Tile({source: new ol.source.TileWMS({crossOrigin: null, url: 'https://wms.geo.admin.ch/', params: {'LAYERS': 'ch.swisstopo.images-swissimage','FORMAT': 'image/jpeg',},serverType: 'mapserver',})});
Implementation
Implementation is fairly straightforward. As regards data processing, the starting point is to map vegetation profiles along sections of the GEDI beam tracks that span forests in the Jura Mountains.
Images of PAVD profiles are obtained using a Jupyter Notebook published by the US Land Processes Distributed Active Archive Center (LP DACC). There are separate Notebooks for Version 1 and Version 2 and for GEDI L2A and GEDI L2B data but only the GEDI_LL2A _Tutorial and GEDI_L2B_Tutorial Notebooks for Version 2 data are available.
As the tutorial Notebook explain, using a terminal (search for "cmd" , the Command Prompt in Windows 10), create a Conda environment and install and run the Notebook:
- conda create -n geditutorial -c conda-forge --yes python=3.8 h5py shapely geopandas pandas geoviews holoviews
- conda activate geditutorial
- conda install jupyter notebook
- jupyter notebook
Installing Conda can be a bit troublesome. For Windows 10 with Python already installed, Miniconda is adequate. After downloading and following instructions, let the installer set the PATH variable, which can checked with the terminal command:
- echo %PATH%
GEDI Level 2B data (as HDF5 formated files) then needs to be downloaded. The DAAC tutorial Notebook demonstration file is: GEDI02_B_2019170155833_O02932_T02267_02_001_01.h5
As explained in the Notebook, a NASA EarthData account is needed and the .h5 file must be downloaded or copied into the same directory as the Notebook (for a simple installation, the Notebook and the .h5 file will be in c:/Users/admin where admin is a Windows 10 administrator account).
With the release of Version 2 GEDI data products, an entire orbit does not need to be downloaded, either from EarthData or from the GEDI Data Pool. Instead, following the GEDI Quick Guide, a granule can be downloaded for a specific area using EarthData Search.
In running the L2A Tutorial Notebook, an error will probably be thrown when the PAVD profile of a single shot is printed, so the single-shot PAVD profile is not displayed - but it can be saved as a .png image by adding to the relevant Notebook cell:
- hv.sav(path1,'path1.png')
Second, care must be taken in specifying the GeoJSON file that is used to define the boundary of the beam track that will be sampled. The tutorial explains that a GeoJSON file for the Redwood National Park must be downloaded from Earthdata (or other sources - see below) to the same directory as the Notebook and the .h5 file.
The Notebook in fact uses the maximum and minimum dimensions of an envelope that encapsulates the GeoJSON. It is usually wise to define the sampled area as a simple polygon. However, the GeoJSON file must be a denoted as a MultiPolygon. Fortunately the GeoJSON can be expressed in Web Mercator EPSG 4326 units (i.e., in terms of coordinates given by say Google maps).
Once the GeoJSON is loaded in the Notebook, the full GEDI orbit is plotted for Version 1 files, amd a partial orbit for Version 2 files. By zooming the orbit to the area outlined by the GeoJSON file one can select the beam shot that will become the centre of the PAVD profile. Clearly, selecting a point that is at the centre of the intersection between the GeoJSON polygon and the orbit is the most sensible approach. However, by default (which can be changed), the PAVD profile is generated for a scan that covers 50 laser shots on either side of the selected shot. So different parts of the demarcated area can be sample by selecting different shots. The selected beam shot must then be entered in the Notebook.
The last section of the Notebook exports the section of the GEDI beam swathe that was used to calculate the PAVD profile across the area designated by the GeoJSON and centred on the selected shot. The swathe has (as shown on the Jura mountains GEDI map) two full-power beams with a third laser beam split into two coverage beams. Each of the beams is optically dithered across-track to give four additional beam tracks. The beam number for one of the eight beams - usually a full-power beam - must be entered in the Notebook.
Some observations
The Plant Area Volume Density (PAVD) - the derivative of the cumulative Plant Area Index - that measures the volume density distribution of biomass is recognised as a sensitive measure of forest dynamics.
In the figures, the PAVD is plotted against height in order to show the vertical distribution of biomass in forested areas. Several strata with high PAVD values are generally of interest, namely biomass concentrated as follows:
- bottom - understory (trunks, shrubs and juvenile trees);
- middle - sub-canopy (branches and leaves of sub-canopy trees and trunks of the canopy trees in the understory);
- top - tree canopy (canopy branches and leaves).
While GEDI's LIDAR can penetrate forest canopies, optical imagery certainly cannot. So confirming conclusions drawn from PAVD observations generally requires ground-truth. With this in mind it is noted that for the transects displayed so far, which are for predominantly coniferous forests in leaf-off mid-winter with some snow cover at higher altitudes:
- high top, middle or bottom densities can extend over a considerable distance (200-300 m);
- immature forests have densities that vary litle with height;
- some mountain tops appear to have exceptionally dense sub-canopies (snow-laden trees?).
Ground truth will establish whether or not these features, especially the first, reflect forestry practice.
The impact of topography on PAVD is well known, so it is probably not surprising that canopy heights are underestimated considerably for very steep slopes. One assumes that this means that the vertical distribution of biomass appears concentrated into a small height. At what point this effect may impact the identification of man-made structures is unclear.
This concern reflects a more general issue relating to high-resolution LIDAR earth observation of mixtures of man-made structures and vegetation that is discussed below.
Jura Mountain forested and non-forested areas (generally mountain pastures with scattered trees) are not unsurprisingly easily resolved. GEDI transects also clearly resolve man-made features down to the scale of 2m wide earthen tracks that are not tree covered.
GEDI data
The best way to identify GEDI orbits that intersect the area of interest (technically in terms of the Jupyter Notebook, the input bounding box) is to use the GEDI Finder (the Finder is available for Version 1 products but not for Version 2 and will be decommissioned when Version 1 products are decommissioned - see announcement). In the case of the Jura Mountains:
- https://lpdaacsvc.cr.usgs.gov/services/gedifinder?product=GEDI02_B&version=001&bbox=[46.35,6.0,46.75,6.5]
The response is a list of linked files equivalent to the link for the .h5 file used for the Notebook:
- https://e4ftl01.cr.usgs.gov/GEDI/GEDI01_B.001/Year.Month.Day/GEDI01_B_2019219181545_O03694_T02694_02_003_01.h5
GEDI L1, 2A and 2B Version 1 products are also available as follows:
Version 2 products have been available since April 2021 at:
Publically available GEDI data started to be available in April 2019 and the latest data is for September 2021.
GEDI Pull is a Python wrapper for GEDI Finder that automates a combined searching and downloading of GEDI data from Earthdata.
The GEDI Algorithm Theoretical Basis Documents (ATBD) provide the basis for GEDI products. Level 4 documents and products covering gridded metrics have yet to be released. Product leads are listed.
DAAC has released Version 1 of Level 3 products (Gridded Land Surface Metrics) but the link to the ATBD is missing although the ATBD is available in the DACC data package (logon required). The products give the mean canopy height, standard deviation of canopy height, mean ground elevation, standard deviation of ground elevation and counts of laser footprints per 1 km x 1 km grid cells. This first release of L3 products are simple averages and standard deviations of the footprint profile metrics within each 1 sq. km cell. Data with a user-selected projection and format can downloaded using a data access tool.
Developments
GEDI has the highest resolution and densest sampling of any LIDAR instrument in orbit to date. It has a nominal mission length of two years, starting in early-2019. The GEDI Level 2A data product demonstrates the enormous amount of data that is generated. The product is based on 156 layers for each of the eight beams, and includes ground elevation, canopy top height, relative return energy metrics (describing canopy vertical structure, for example), and many other interpreted products from the return waveforms.
Applications to date have tended to aim to improve maps of forest height and biomass across the globe. A notable derived service is Global Forest Canopy Height that can be downloaded. A programme to establish calibration plots has been set up. It seeks coincident small-footprint (at least 25 m in diameter) LIDAR data and field-measured plot inventory data. GEDI's success in measuring globally the mean biomass in 1 km cells will probably depend on the outcome of this calibration programme. Technologies based on Entwine and Caesium data storage and display and LOPoCS point-cloud streaming from pgpointcloud-extended PostgreSQL databases to serve biomass mapping will also be crucial.
With regard to the application of OpenStreetMap technology at the local project level, the main issue is whether or not GEDI and its successors will help in spatially quantifying the built environment in terms of vegetation and surface characteristics. The hypothesis here is that the construction and operation of an infrastructure project should be assessed, at least in part, in terms of the project's impact on its microclimate.
Several approaches for classifying vegetation and surface characteristics are used, notably GIT, LULC, LCZ, HERCULES and USVT. GIT (Green Infrastructure Typology) is suitable for use at the local scale with 50-100m data grids, but needs calibration, especially for mixed types of land cover. While GEDI's 30m diameter shots can help, the fundamental problem is that high-resolution GIT-type classification currently requires expensive airborne remote sensing data. Replacement by low-cost space-borne LIDAR data would be a game changer.
Aside from making use of the perhaps unexpected high accuracy of GEDI-generated digital terrain models over water (PDF) and in urban areas (PDF), and recognising the average GEDI geolocation error of about 8 to 11 m (PDF), the main GEDI focus is not the shot level but the 1000m mesh level, primarily to estimate mean biomass using models.
It is estimated that globally and certainly in the northern hemisphere, most of the Earth's 1000m grid cells will be intercepted by two GEDI beam swathes. There are numerous options for interpolating point data to continuous grids depending on the nature of the dataset. As a starting point, a kriging methodology similar to the one outlined in the GEDI Level 3 Algorithm Theoretical Basis Document (PDF) is being used. This is a good option for natural and continuous forest types but probably not for mixed land cover types (called fragmented or urban/suburban forests), vegetated built-up areas and nature-based infrastructure. These will probably need advanced interpolation methods such as co-kriging or fusion with auxiliary data having continuous spatial coverage such as satellite imagery and possibly OpenStreetMap data.
Microclimate classification is becoming the basis for infrastructure project design and selection. If and how GEDI addresses meshing will therefore probably impact the way this classification could be carried out. GEDI height data currently do not discriminate trees from buildings so the Global Forest Canopy Height service for example masks urban areas on the basis of a vegetation index and the gridded Global Human Settlement Layer (GHLS) built-up area dataset. Planned are more sophisticated approaches that would normally include a broader range of land cover masks (e.g., inland water, barren land, imperviousness, and wetland). Filtering data for built infrastructure and vegetation may be another approach. Similar methods are probably applicable for climate mitigation carbon accounting for project planning and certification and policy making at the non-forest project-level, where trees accompanying built infrastructure are an important biomass contributor (PDF).
A similar discussion can take place for project-level biodiversity accounting based on earth observation. So after making a carbon account for one of our vegetation-rich villages, Jura Mountains mapping may turn its project-scale ecology accounting towards biodiversity accounting, perhaps in terms of functional diversity (PDF).
QGIS
Manipulating GEDI data using QGIS is fairly straightforward. As explained, the GEDI subsetter should be copied to the conda enviroment.
As from April 2021, the original subsetter for Version 1 products has been replaced by an updated script for Version 2 products.
The Susetter is run using a terminal command of the form:
- python GEDI_Subsetter.py --dir <insert input directory with GEDI files here> --roi <UpperLeftLatitude,UpperLeftLongitude,LowerRightLatitude,LowerRightLongitude>
which for our simple Windows10 environment translates to :
- python GEDI_Subsetter.py --dir C:\Users\admin\ --roi 46.75,6.0,46.35,6.5
This creates a geojson .json file with the same name as the GEDI .h5 file in a directory call "output". The json file can be loaded into QGIS.
In QGIS, for GEDI Level 2B data, shots can be classified by biophysical attributes such as Plant Area Index (pai), Total Canopy Cover (cover), and Foliage Height Diversity (fhd_normal) and elevation (elev_lowestmode). An archeological investigation provides an illustration. The QGIS clasification is done by choosing layer properties and setting the Symbology to "Categorized" and the "Value" to say rh100, selecting a "Color ramp", and clicking "Classify".
It is useful to have custom layers such as a Digital Surface Model of terrain available in QGIS. So install the OpenLayers plugin in QGIS and for Windows, as explained, edit say the osm.py file
- c:\Users\admin\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugin\openlayers_plugin\weblayers
replacing say the url for the Humanitarian Data Model with a custom url (something like http://map.peterboswell.net/openarea/{z}({x}/{y}.png in our case).
Editing files to set the transparency of the cusom layer in QGIS is a bit fiddly. Best to simply drag the GEDI layer above any custom or standard image layers such a Bing Satellite.
An R package is also available for manipuating GEDI products.
Diversity
Two pilot studies have been carried out to establish which approach is best able to detect human disturbance in the Jura Mountains' forests. Classifying these forests is challenging owing to steep slopes, exposed rock, thick forest cover, and a mix of broadleaved and needle-leaved (conifer) trees.
The first approached used functional diversity, namely functional richness, divergence and evenness which are morphological traits that can be used to describe a forest canopy's architecture.
The aim is to see if there is a way to identify small-scale, localised forest disturbance using morphological traits estimated using GEDI data.
Starting with Level_2B data, we give on the forest map for the Series 3 transects, the laser shot points as RGB colour composites of three normalised GEDI morphological traits:
- Total Canopy Cover (cover)
- Total Plant Area Index (pai)
- Foliage Height Diversity (fhd)
As for the ternary mapping of morphological forest traits which used the normalised:
- Canopy Height (CH, canopy top to ground distance)
- pai (projected plant area per horizontal ground area)
- fhd
the diversity version of track 3 on our map is coloured as follows:
- Red: cover <0.5 fhd <0.5 pai >0.5
- Blue: cover <0.5 fhd >0.5 pai <0.5
- Green: cover >0.3 fhd >0.5 pai <0.5
The transects were measured in mid-winter with snow-on conditions so should be taken as a proof-of-concept at this stage.
It can be seen that grass-covered areas are blue, and forested areas generally pink since vegetation is exposed. Leaf-on spring-to-summer transects are being developed.
The composite RGB morphology track can be aligned to the accompanying PAVD plot by rotating and zooming the map appropriately.
Data processing is straightforward:
- Downloaded GEDI scans are converted to .geojson files using GEDI_Subsetter.py (see above). In QGIS, the .geojson is reprojected to EPSG3857 and split into two files (high quality and low quality) using the QGIS's Data Management Tools > Split Vector Layers to split according to the l2b_quality_flag (value = 1 for high quality).
- The high-quality .geojson is then rasterized into three separate files using Raster > Conversion > Rasterize using a horizontal resolution of 25 and a vertical resolution of 50, with burn value fields cover, fhd and pai.
- A virtual raster is then built from the three rasterized files using Raster > Miscellaneous > Build Virtual Raster with "each input file placed in a separate band" checked.
- The merged file's layer properties are set by setting each band's min and max to 0 and 1 and adding a transparency pixel.
- The merged RGB composite is then exported as a .tif file and the QGIS "Generate XYZ tiles" tool is used to create tiles.
Structure metrics
Alternatives to the cover - fhd - pai scheme used above have been proposed. For example, focussing on canopy richness, the following traits have been reported to have the strongest and most independent contributions to canopy structure (Schneider et al, 2020):
- Canopy Ratio ([RH98 − RH25]/RH98)
- PAI (pai)
- Understory Density (PAI0-10)
A recent investigation of forests in Ukraine that are similar to the Jura Mountains' forests indicates that canopy structure metrics can also be used to classify old and new growth conifer and broadleaf forests (see Spracklen & Spracklen, 2021) . For example, conifer and broadleaf old-growth forest (OGF) categories have:
- a more open forest cover;
- a more layered canopy;
- greater quantities of shrub-layer vegetation
than "not old growth forest" (NOGF).
GEDI Level_2A and Level_2B products (see ATBD - PDF; 2A Levels - PDF; 2B Levels - PDF), both Version 1 and and the newer Version 2, provide data for several canopy metrics:
- Total Canopy Cover or Canopy Cover Fraction (cover)
- Cumulative canopy cover vertical profile or Vertical Cover profile (cover-z)
- Height above ground of the received waveform signal start (Level_2A: rh101; Level_2B: rh100)
- Total Plant Area Index (pai): horizontal projected area of vegetation per unit of ground area within a volume of canopy
- Plant Area Index profile (pai-z)
- Plant Area Volume Density profile (pavd-z)
- Foliage Height Diversity (fhd)
- Canopy Height
- Relative Heights (RH) as percentiles of the vertical distribution of canopy points at 25, 50, 75 and 95%
- Canopy Ratio (canopy depth to canopy height given by [RH98 − RH25]/RH98 where RH refers to the Relative Height at the 25% and 98% percentiles)
- PAI at 10m height intervals, notably PAI0-10, PAI10-20, etc
- Understory Density (PAI0-10)
Given the Spracklen & Spracklen results, for a pilot study we used metrics for forest cover, canopy layering and understory vegetation. Normalised indices for each of these were as follow:
- cover - average of :
- Ground return: fraction of waveform ground component to the sum of ground and canopy components (from GEDI-L2A data) plus
- Cover: fraction of ground covered by a vertical projection of the canopy (GEDI-L2B data)
- layering:
- Thickess canopy: height of thickest canopy as fraction of canopy height rh100 (from GEDI-L2A data)
- understory:
- Shrub: fraction of above-ground energy reflected by 0 - 2 metre understory layer (from GEDI-L2A data).
Pending evaluation of the structure metrics approach, calculations were performed manually for a few GEDI shots located on forested areas that appeared from aerial images to be densely forested with a mixture of conifer and broadleaf trees. Our GEDI transects map shows the results as coloured-coded points on the "Structure" layer, the color coding being determined by assigning RGB colours to a composite index comprising understory (red), cover (green) and layering (blue).
To gauge the value of the structure approach, we note that shots in conifer-forested areas (as determined using the aerial map and the 2018 forest mix map and the 2017 vegetation height model supplied by the Swiss environment agency BAFU) give very different values for the composite structure index between areas that are old growth and new growth.
The same is also the case for area that comprise an approximately 50/50 percent mixture of conifer and deciduous broadleaf trees.
Compared with the initial diversity approach, the metrics approach clearly discriminates between OGF and NOGF. It is therefore planned to automate and extend this approach by adding further metrics and by carrying out a more detailed mapping of conifer and broadleaf areas, both OGF and NOGF, to allow a classification of the the Jura Mountains' forests.
Terrain roughness is clearly an issue, especially topographic effects in steep terrain. For example, our RGB diversity tracks, when overlaid upon a high-resolution surface model (SwissSURFACE) and a high-resolution aerial imagery (SwissIMAGE), indicated that GEDI shots striking steep, forested areas, possibly with extensive understory vegetation, displayed unusually low PAI values. To avoid this effect, the shots for the structure metrics classification were selected for forested areas that were relatively flat and smooth.
The overall concern however is that the number of good quality GEDI shots that cover our region of interest remains limited in the case of structure metrics.
Above ground biomass
GEDI Level 4a data released in August 2021 allows the aboveground biomass density to be estimated (see Earthdata announcement). Three tutorial Jupyter Notebooks are also available for searching, downloading and exploring GEDI L4a data and for subsetting GEDI 4La footprints.
The subsetting Notebok is probably the most useful. Before running the subsetting Notebook, several Python modules need to be installed in the Conda environment:
- conda install -c conda-forge descartes requests contextily
The Notebook can be downloaded from the Github repository or simply copied and pasted into the Conda environment. Several folders are also needed namely "subsets" in which the GEDI Level 4 .h5 files are stored. For convenience, keeping the same names as in the tutorial Notebook, the shapefile (in the ESRI format) used to define the boundary polygon of the area of interest is called "GRSM_BOUNDARY_POLYGON_fid17.shp" and is stored in "c:\Users\admin\polygons\grsm" together with the boundary polygon as a geojson file called "grsm.json".
The boundary polygon using the EPSG:4326 coordinate system can be created as an ESRI shapefile and as a geojson using QGIS.
The subsetting Notebook is run as far as section 6 where a file called "granules.txt" is created. This file lists the GEDI 4La files that cover the area of interest. The files must downloaded using curl or wget. A .netrc is needed. In the case of Windows10, the .netrc file is called _netrc and in our case is located in c:\Users\admin. It contains:
- machine urs.earthdata.nasa.gov login loginname password loginpassword
where loginname and loginpassword are for the Earthdata login.
For Windows10, wget probably needs to be installed. The latest executable (version 1.21.1) can be downloaded and stored in c:\Windows\System32. A new terminal is needed (for Windows10, hold down the Windows key, and press the “R” key to bring up the Run window. Type “cmd“ and then press “Enter” to open a command prompt.) It is probably wise to set the HOME environment variable:
- setx HOME %USERPROFILE%
wget can then be run from any location. It is probably best to run wget from c:\Users\admin. The command to start downloading the granules listed in "granules.txt" is given in the subsetting Notebook:
- wget --load-cookies ~/.urs_cookies --save-cookies ~/.urs_cookies --auth-no-challenge=on --keep-session-cookies --content-disposition -i granules.txt
The first GEDI Level 4a Notebook (Searching and Downloading) describes in more detail the downloading process.
Downloading takes some time and downlaaded files are stored in c:\Users\admin.
Once downloading is finished, one can move to the next Notebook section (called "Subsetting the GEDI l4A files"). Two maps of the subset area with GEDI tracks overlayed may give a "Not found for url: https://stamen-tiles-a.a.ssl.fastly.net/terrain/15/16941/11594.png". This can be ignored.
At section 13 ("Subsetting all downloaded files") , subset files are created in the "subsets" directory. Before runing the next section (section 13) the files need to be copied into a directory called "subset2". Running the Notebook to the end gives the GEDI tracks as a geojson and a ESRI shapefile which can be manipulated in QGIS to display the aboveground biomass density of each laser shot for leaf-on conditions (leaf_off_f = 0, as explained in the GEDI L4a ABGD guide).
September 27, 2021