WebGL Wind Patterns in the Strait of Georgia and Salish Sea — World Demo - Salish Sea Demo
A WebGL-powered visualization of wind power. Capable of rendering up to 1 million wind particles at 60fps.
This project is forked from the work of:
which in turn was heavily inspired by the work of:
- Cameron Beccario and his wonderful Earth project with its open-source version.
- Fernanda Viégas and Martin Wattenberg and their US Wind Map project.
- Chris Wellons and his WebGL tutorials, in particular A GPU Approach to Particle Physics.
- Greggman and his WebGL Fundamentals guide.
The current version is build to run and test on github pages. See the original for a version that can run locally:
The ERA5 model is a retrospective reanalysis of past weather conditions produced by the European Centre for Medium-Range Weather Forecasts. The original visualization code project uses ecCodes (e.g. brew install eccodes
) to download wind data directly from a website, but due to issues installing on Windows, I instead reprogrammed the processing of copernicus NetCDF files in Python (see notebook). To run and customize this code:
- Download copernicus model files as NetCDF and place it in the 'data' folder.
- Run the Python script provided in the Jupyter noteboook to produce a PNG file.
- If desired, swap out or remove the geoJSON and background elevation image (set in the index.html and index.js files in demo folder). You should do this if you're downloading different data than I used.
- Run the 'demo' which uses the PNG file and interpolates it using tools in WEBGL and simulates particles.
Notes:
- drawing of geoJSON correctly is fiddley. To properly align with the wind image you'll need to play with params in index.js
- the user controls are implemented using dat.gui