GEE Tutorials

Google Earth Engine Tutorial: Extract and Analyze Daily Wind Speed

Credit: Youtube Channel “Terra Spatial, Learn how to extract daily wind speed data and perform long-term analysis using ERA5 reanalysis data.”

You can see all the tutorials from here: Techgeo Academy.

Introduction

Google Earth Engine (GEE) is a powerful platform for planetary-scale environmental data analysis. This tutorial demonstrates how to extract and analyze daily wind speed data using GEE’s dataset libraries and JavaScript API.

Setting Up Google Earth Engine

To begin, ensure you have a Google account and access to the GEE platform. Visit https://earthengine.google.com and authenticate using your credentials. Install the GEE JavaScript API and the Earth Engine Python client if needed for your workflow.

Loading Wind Speed Data

GEE provides access to several global wind datasets. One common source is the NOAA/NCDC/ERSST/V4 dataset, which includes surface wind data. Select a dataset with wind speed as a band, such as ECMWF/ERA5/DAILY or NOAA/OISST/V2. Use the following code snippet to load the dataset:

  
      
      var dataset = ee.ImageCollection("NOAA/NCDC/ERSST/V4")  
        .filterDate('2020-01-01', '2020-12-31');  
      
  

Filtering by Date and Region

Define a specific date range and geographic region to analyze. For example, to filter for a particular month and a polygon:

  
      
      var region = ee.Geometry.Rectangle([lon1, lat1, lon2, lat2]);  
      var filtered = dataset.filterDate('2020-01-01', '2020-01-31')  
        .filterBounds(region);  
      
  

Extracting Wind Speed Data

Identify the wind speed band in the dataset. Use the select() method to isolate it. For example, if the dataset includes a wind_speed band:

  
      
      var windSpeed = filtered.select('wind_speed');  
      
  

Visualize the data as a single image or time series using the map() function or export tools.

Analyzing Wind Speed Trends

Calculate daily averages or maximums by reducing the image collection. Use reduce(ee.Reducer.mean()) to generate a time series:

  
      
      var dailyMean = windSpeed.reduce(ee.Reducer.mean());  
      Map.addLayer(dailyMean, {min: 0, max: 15, palette: ['blue', 'green', 'red']}, 'Daily Wind Speed');  
      
  

For spatial analysis, create a statistic image nested within the region of interest (ROI) and visualize the output.

Exporting Results

Export the results as a GeoTIFF, CSV, or shapefile for further processing. Example for exporting a GeoTIFF:

  
      
      Export.image.toDrive({  
        image: dailyMean,  
        description: 'Wind_Speed_Export',  
        folder: 'GEE_Exports',  
        fileNamePrefix: 'daily_wind_speed',  
        region: region,  
        scale: 1000,  
        crs: 'EPSG:4326'  
      });  
      
  

FAQ

What datasets are available for wind speed?

Common datasets include ECMWF/ERA5/DAILY, NOAA/OISST/V2, and NOAA/NCDC/ERSST/V4. Check the GEE documentation for details on each dataset’s supported bands and temporal resolution.

How do I handle missing or invalid data?

Use mask() to remove invalid values or unmask() to replace them with a default. For example: image = image.unmask(0).

Can I analyze wind speed for a specific area?

Yes, define a geometry (e.g., rectangle, polygon) using ee.Geometry and apply it with filterBounds() to focus on your region of interest.

Why am I getting an authentication error?

Ensure you are logged in via the GEE platform and have initialized the API with ee.Authenticate() in your script or environment.

How do I visualize time-series data?

Use the ui.Chart.image.series() function to plot wind speed values over time. Specify the image collection, properties, and region for the chart.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *