Technical University of Denmark
Browse

Global Wind Atlas v4 (landcover)

Version 2 2025-07-30, 09:29
Version 1 2025-07-09, 10:33
dataset
posted on 2025-07-30, 09:29 authored by Rogier Ralph FloorsRogier Ralph Floors, Neil DavisNeil Davis, Bjarke Tobias OlsenBjarke Tobias Olsen, Jake BadgerJake Badger, Brian Ohrbeck HansenBrian Ohrbeck Hansen
<p dir="ltr">Landcover in GWA 4.0 was derived from the European Space Agency’s (ESA) WorldCover dataset v200<sup>[1]</sup>. This dataset is based on both optical sensors and Sentinel 1 and 2 data, and achieves an accuracy of 76.7% for the version used in the GWA4 dataset. It contains 11 land cover classes and has a horizontal grid spacing of approximately 10 m. For the GWA, the data were resampled to 1/2400 degree resolution (approximately 50 m) using nearest neighbour extrapolation. The WorldCover data was provided in the WGS 1984 coordinate system (EPSG: 4326).</p><p dir="ltr">The data was converted to roughness length by defining a specific roughness length to each of the land cover classes. Because the roughness length of taller canopies (landcover classes 10, 20 and 95) is highly uncertain, the roughness length was instead determined based on the ETH tree height dataset<sup>[2]</sup>. This dataset was resampled to the same horizontal grid spacing as the land cover data using bilinear interpolation. The tree heights were then classified into 2 m bins from 2 to 30 m. The simple approach of estimating the roughness length as 0.1 times the tree height was used to convert these bins into new landcover classes. The displacement height was estimated as 2/3 times the tree height.</p><p dir="ltr">The landcover to roughness and displacement height conversion table can be found <a href="https://globalwindatlas.info/en/about/dataset" rel="noreferrer" target="_blank">here</a>.</p><p dir="ltr">We recommend the <a href="https://docs.wasp.dk/windkit/latest/" rel="noreferrer" target="_blank">windkit</a> library if you want to convert the landcover to roughness length or displacement height map:</p><pre>import windkit as wk<br>lc = wk.read_landcover_map("https://api.globalwindatlas.info/cogs/GWA4_ESA_WorldCover_2021_50m.tif")<br>lct = wk.get_landcover_table("GWA4")<br>lcs = lc.sel(west_east=slice(10,11),south_north=slice(55,56))<br>lcs = lcs.load()<br>z0 = wk.topography.raster_map._landcover_to_roughness(lcs, lct, field="z0")<br></pre><p dir="ltr">Note that the above only works for limited areas, because the full dataset is likely too large to fit into your computers memory. If you want to convert landcover using gdal you can do something like:</p><pre>gdal raster reclassify -f GTIFF --ot UInt16 -m '0=0;10=1500;100=10;20=300;30=30;40=100;50=500;60=5;70=3;80=0;90=100;95=700;101=300;102=300;103=500;104=700;105=900;106=1100;107=1300;108=1500;109=1700;110=1900;111=2100;112=2300;113=2500;114=2700;115=2900;116=3000' -i GWA4_ESA_WorldCover_2021_50m.tif -o z0.tif<br></pre><p dir="ltr">Also note that for landcover class 0 (water) the roughness length is 0.0002 m when running the global wind atlas. This is because this landcover class is both defining the sea/land mask and a roughness length in this dataset.</p><p dir="ltr">When using this dataset, please cite using the following DOI:<br>Floors, R. et al. (2025) <i>Global Wind Atlas v4 (landcover)</i>, 10.11583/DTU.28955279</p>

History

Related Materials

ORCID for corresponding depositor

Location

Global

Topic

  • Siting;>Wind Atlases

Models

  • Flow;>Other

Activities

  • Modeling

External conditions

  • Location;>Onshore;>Other

Data category

  • Topographic data

Usage metrics

    DTU Wind

    Categories

    Licence

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC