Skip to content
A script that grabs wind data from NOAA and outputs a high resolution global wind map in a black-and-white, pencil-drawn style
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
downloads
fonts
output
samples
tools
.gitignore
LICENSE
README.md
download.py
lib.py
run.py

README.md

Custom historical wind maps

A simple script that grabs wind data from 10 meters above sea level any day/time from January 1, 1979 to about three days ago and outputs a high resolution global wind map in a black-and-white, pencil-drawn style suitable for printing.

Samples

My birthday (1/29/1986):

Wind map of the world on my birthday

Hurricane Sandy (10/29/2012):

Wind map of the world during Hurricane Sandy

Hurricane Harvey (8/26/2017):

Wind map of the world during Hurricane Harvey

Requirements

  • Python
  • pygrib - for reading GRIB files, also requires ecCodes or equivalent
  • Python Pillow - for image processing and output
  • PyOpenCL - for efficient data processing by taking advantage of graphics card
  • curl - for downloading files from internet (alternatively, you can manually download files to ./downloads/ folder)

Data sources

All data is publicly available from NOAA's National Centers for Environmental Information. It comes from three different datasets depending on the date:

Running script

Basic usage

The following an image using highres data for January 1, 1979 at noon. You can choose any date after 1/1/1979 up until about three days ago. Valid hours are 00, 06, 12, 18 (every 6 hours starting at midnight). The data is rather large (sometimes > 1GB of data) so may take a little while for slow internet connections or older computers.

python run.py -date " 1979-01-01-12"

Custom size

The following creates an image that is 17 x 11in with a 1 inch margin (image will be vertically centered) at 150dpi

python run.py -width 17 -height 11 -margin 1 -dpi 150

Custom styles

You can change the number of wind lines

python run.py -particles 100000

Or the length of the wind lines

python run.py -ppp 500

Or overall line brightness

python run.py -brightness 0.5

Custom labels

python run.py -label "My custom label"

To see all the possible parameters:

python run.py -h
You can’t perform that action at this time.