I would like to propose a new community module to introduce a new PNG-WIND output format
The module will provide a compact PNG encoding of wind vector fields for use in web visualization clients to produce browser-based wind particle animations and other vector field visualizations.
It supports WIND raster layers containing either U/V components or speed and direction, converting them internally to an RGB byte-scaled representation (R=U, G=V, B=mask) suitable for transport and client-side reconstruction.
Moreover PNG tEXt metadata chunks (currently already supported by the GeoServer’s PNG writers) are included containing context details and parameters needed to re-compute the wind values.
The format it’s only supported for GetMaps against a single raster layer (no multi-layer, no layergroups, no vector layers) with exactly 2 bands (either u,v or speed/direction) with some configurable heuristics to recognize other cases where the nomenclature is not the above.
i.e. eastward_wind, u_wind_above_surface,hourly_wind_u_component and the like. (supporting a mix of exact matches and key-words containment checks).
In that case, wind vector components are encoded into image channels and used as textures for client-side rendering.
The idea for PNG-WIND emerged from internal discussions on how to transmit wind vector fields in a compact, web-friendly way. PNG was chosen because it is a widely supported binary container in web environments, and the necessary scaling information can be stored in PNG text chunks.
Future versions could potentially support additional binary formats as well