Time to whip out the hairy ball theorem: <a href="https://en.wikipedia.org/wiki/Hairy_ball_theorem" rel="nofollow">https://en.wikipedia.org/wiki/Hairy_ball_theorem</a><p>Yes I heard what I just said.
The javascript shows they are thinking about this as particle traces of wind velocities. In visualization, the technique is called Line Integral Convolution (LIC). Each line follows the direction of the wind vector, and the overall brightness is the sum of the magnitude of the winds under the line. This particular variant just uses the wind speed at one point under the line. LIC won't accidentally miss field singularities like vector-arrow representations, and there are variants that provide smooth animations.<p>It's great that we've advanced from needing VTK to being able to do a visualization like this as a live movie, translating GRIB files to JSON.
Beautiful!<p>If you turn the globe upside down, the controls for rotating it are backwards.<p>Some way to pan/zoom without pausing the visualization would be nice, but probably very difficult without moving to webgl-based rendering.
Can it display different data by playing with the url?<p>e.g. I'm looking at<p><pre><code> http://earth.nullschool.net/#current/wind/isobaric/1000hPa/orthographic=-11.40,53.26,489
</code></pre>
The only thing I can get to change is the lon, lat, zoom at the end. Are there more things I can change?
At 10hPa, it's windy as dicks around the arctic circle. The antarctic, however, is relatively calm. Is that a seasonal thing? Will it be the opposite in June?
looks broken here if i rotate it until it redraws which is a shame...<p>i do find this interesting coming from a native rendering background. the idea of converting data from one, fairly inefficient format (FORTRAN friendly from the look) to a spectacularly less efficient format still is a bit mind boggling without appreciation for the web stack (JSON is not for run-time in my world - its for 'tools' or 'compile' time).<p>the rendering is also quite underwhelming on a desktop PC - especially that it cuts out whilst rotating. there is some obvious stuff here that can be cached on inspection of the comments on github...<p>for instance, since there is a lot of data processing already, how about 'unprojecting' the data to remove the extra interpolation overhead from having to apply a transform and its inverse? Just because they have chosen to project their data onto a sphere doesn't mean you have to follow suit... its probably a useful format for meteorologists or cartographers but its not suited for rendering at all.<p>of course doing that will have similar results to a low pass filter unless you use a much higher density grid than the source (since you want a regular grid in your result and have irregular data points) - but visually that is very acceptable as a compromise.<p>the obvious guess suggestion is webgl and a 3d canvas, and dropping any fancy svg or other elements if they need to be visually sycned up with precision and rendering all of it yourself in a single consistent way. in the browser world its often a bad idea to rely on the implementation of anything if you need guarantees of quality - there is a lot of variation and a lot of bugs that have persisted for years on end...<p>i'd also suggest partitioning the data once its in 3d - a kd-tree or regular octree is quite easy to implement and understand and perfectly suited for this imo
This is really cool, but it is clearly heavily influenced in design by Viegas and Wattenberg's Wind Map: <a href="http://hint.fm/wind/" rel="nofollow">http://hint.fm/wind/</a><p>The creator should really acknowledge their work...