The WindFlows plug-in visualizes geo-located winds by representing it as running flows of various length and colors on top of a map.
The flow direction corresponds to the wind direction. WindFlows can load multiple time frames of wind velocities and directions, and produce a smooth animation over time.
This section contains the following information:
Note: This plug-in is located in: Plugins -> Geometry plug-ins -> Maps_Adv
WindFlows Properties
General
Data Path: Specifies data files or relevant data (comes in u and v components). This should be a weather grid model data of type Wind. An hours folder of windU or windV component should be specified as input.
Example: W:\DemoData\WindSpeed\EC025\windU\contourdata\hours
Start Time / End Time: Loads only relevant data for that time frame if time frame is specified.
Frame Number: Selects time frame of data.
Frame Interpolation Mode: Loads all available frames of animation to produce a smooth animation between time frames.
The Data Buffer Size [mb] parameter under the Advanced options limits the number of time frames that is being loaded to animation according to desired size.
Timeline (frames): Control time progress between frames while in interpolation mode. Only this parameter and not Frame Number should be animated.
Flows: Determines the number of flows representing wind. Flows are randomly distributed across the canvas.
Line Width: Defines width of strokes. Width is specified in pixels of canvas, changing canvas size causes flows to look as if their width was changed.
Max Age: Defines maximum age in frames of the flows. The age (length) of each stroke is a random quantity; however, flows presented in area of strong winds move faster and those appear longer.
Speed: Controls general speed level of flows, although faster winds always result in faster flows.
Fade Rate (frames): Determines the number of frames it takes to completely fade out the stroke.
Canvas Resolution: Renders flows to a canvas and then this canvas is applied to map like a texture. This parameter allows changing the size of the canvas. Large canvases are useful when small zoom-ins are required without losing the resolution. Flows widths, however, are affected by canvas size. When using Dynamic mode, there is no reason to go beyond Normal canvas size.
Normal: Corresponds to HD resolution (1920X1080).
High: Corresponds to 4K (3840x2160).
Ultra High: Corresponds to 7680x4320.
Color
Color Source: Defines whether color presets are taken from image or a manual preset.
Color Presets: Predefines color presets to start with. Every change sets the position to custom.
Colors: Defines number of colors to be used in color-map, as well as their values.
Color Image: Uses an image to define the color map. Image should be dragged to this control. An example of an image defining color map:
Posterization: Splits a continuous color map to a desired number of discreet colors.
Color Levels: Defines number of desired levels for posterization.
Use Flows Alpha: Allows wind strength to affect flow transparency when set to
On
.
Advanced
Wireframe: Displays a wireframe of the canvas geometry (may be useful for globe geography).
Data Buffer Size (mb): Defines limit for the amount of data to be loaded to the plug-in, used to limit number of frames in animation.
Invert Depth Test: Masks the desired area and shows winds only above that area. A masking image should be put on top of wind flows and this option enabled. See example of the result in Example of Masking to Desired Region.
Canvas Positioning: Defines canvas coverage behavior. Flows are actually rendered to canvas, and then this canvas is placed on top of geo geometry.
Dynamic: Calculates canvas size in each frame. Canvas is of the size of the visible geographic area.
Static: Covers basemap/data range and stays in place. As a result, if you zoom-in in static mode the resolution of flows deteriorates.
Use Window: Limits the visualization area to a specific geographic region manually defined by west/east/north/south borders. Enabled only in Static mode.
Autodetect Max Value: Detects maximum value of loaded data and normalizes the visualization accordingly when set to
On
. When set toOff
, it enables manual setting of the maximum value for normalization. All data larger than maximum defined value obtains maximum value for visualization (maximum alpha and color representing strongest wind).Clip Data: Discards flows larger or smaller of specified clipping values.
Clip Bottom: Discards flows smaller of specified clipping value.
Clip Top: Discards flows larger of specified clipping value.
Adaptive Density: Reduces the number of flows dynamically according to the zoom level such that there are fewer flows as you zoom-in when set to
On
.Density Upper Bound/Density Lower Bound: Defines percentage of flows (out of the number defined in General tab) for the current visible geographic range (When value is set, the visible geo area at that moment is considered). Any zoom-in level below the one saved for the lower bound or zoom-out above the one saved for the upper bound has lower/upper amount of flows correspondingly. In between, the number is interpolated.
Render On Move: Defines behavior of the rendering during movement in dynamic canvas positioning mode. Since it is problematic to move canvas with already rendered data dynamically, add new data and still look correct a number of behaviors were defined:
None: Shows nothing during movement.
Defer: Preserves the previous canvas state until movement stops.
One Frame: Renders only one frame of flows, with the canvas being reset after each frame.
Continuous: Produces a spread-blur effect.
Smooth: Defines smoothing quality of the flows. Be careful with Multisample HQ, as it can be very expensive performance-wise.
Appendix A - Showing Winds on Top of Color Heat Map
It is possible to show flows on top of Color heat-map representing wind strength. IsoGrid is used to show heat-map and WindFlows shows flows on top of it. Some change is required in configuration of the fetch to produce another folder with wind data representing wind strength (instead of just one vector component). This folder is called windS and it should be loaded to IsoGrid in order to show the heat map.
Open WD Administration Tool, go to Providers Info and add the following line for each provider:
<entry name=
"isoScriptOutput"
>contours.log & WindSpeed.py --dataset "PATH_TO_DATA_FOLDER" -R_MODEL_GEO_BOUNDS –I_MODEL_RESOLUTION</entry>
PATH_TO_DATA_FOLDER
is a path to folder containing WindU and WindV folders.MODEL_GEO_BOUNDS
are the bounds found in config.ini file of each model under Region section.MODEL_RESOLUTION
is resolution of data in degrees, also found in the config.ini file.
Example of such a line for GFSX model (0.5 degrees resolution):
<entry name=
"isoScriptOutput"
>contours.log & WindSpeed.py --dataset "C:\Program Files (x86)\vizrt\vizWeather2\SharedData\FetchData\Wind\GFSX" -R-
180.000000
/
180.000000
/-
90.000000
/
90.000000
-I0.
5
</entry>
As mentioned above, after adding this line fetch application should fetch three folders for wind data – WindU, WindV and WindS representing strength.
Appendix B - Example of Masking to Desired Region
Mask image is created with the help of CWM client plug-in. The image should correspond exactly to a georeference on which GeoChart is placed, so make sure the basemap region is defined in CWM Client (in a case when Atlas is used as georeference put it beneath the CWM to correspond exactly).
Go to the CWM Client defining the georeference and change the Texture Compression parameter to
None
. You can find it under the Texture tab.Open Viz World Map Editor and select desired region.
Put the Map Layers Control on a container with CWM (the georeference).
In the Map Layers Control, switch Control to
Enable
and deselect all options except the Selected Regions and press Refresh Map.Go to the CWM Client Miscellaneous tab and press Freeze.
Drag the result image from container to the image pool. You can now use it as a mask for the selected region. You can unfreeze the CWM Client, remove Map Layers Control and change back texture compression, but be careful not to change the size and range of georeference map.