#2347: r.ros uses arbitrary direction convention
-------------------------------------+--------------------------------------
Reporter: madi | Owner: grass-dev@…
Type: defect | Status: new
Priority: normal | Milestone: 6.4.4
Component: Default | Version: unspecified
Keywords: r.ros, r.spread, angles | Platform: Unspecified
Cpu: Unspecified |
-------------------------------------+--------------------------------------
Changes (by wenzeslaus):
* keywords: r.ros => r.ros, r.spread, angles
Comment:
There is not only wind direction but also direction of maximal rate of
spread and aspect.
G7:r.ros:
* ''direction'': wind directions (degree), CW from N
* ''aspect'': aspect (degree, CCW from E) - GRASS convention, not tested
* ''output'': `.maxdir`: directions of maximal ROS, CW from N
* ''velocity'': wind velocities at half of the average flame height
(feet/minute)
G7:r.spread:
* ''dir'': directions of maximal ROS (degree), CW from N
* ''w_speed'': midflame wind speed (ft/min)
[http://en.wikipedia.org/wiki/Wind_direction Wikipedia says]:
> Wind direction is reported by the direction from which it originates.
For example, a northerly wind blows from the north to the south. Wind
direction is usually reported in cardinal directions or in azimuth
degrees. For example, a wind coming from the south is given as 180
degrees; one from the east is 90 degrees.
Which is CW from N but defining the direction ''from'' wind blows, not the
direction of ''vector field'' defined by wind directions and wind speeds.
This is also what [http://grasswiki.osgeo.org/wiki/Meteorology#Conventions
GRASS Wiki says] about "main wind data providers". (If you put together
the images and the text you get that:) GRASS convention is CCW from E and
pointing ''to'' the direction (aspect, flow) while wind is usually CW from
N and pointing ''from'' where wind blows.
What is unclear to me why the GRASS Wiki says that GRASS convention is 0
for vector of zero magnitude (e.g. no wind) and 360 for the reference axis
direction. I don't remember this behavior from G7:r.slope.aspect,
G7:d.rast.arrow, or G7:r.flow. But this is not particularly important now.
Again, `r.ros` is using wind direction clockwise from north. And it is
right in its own sense since direction is pointing ''to'' but as Madi
says, it is not a GRASS nor meteorological convention. However, it is not
uncommon convention, it is an azimuth of wind (''to'') direction (e.g.
ArcGIS defines aspect in the same way).
I seems that there is several applicable conventions for wind. Perhaps, we
should support more than one. Supporting the GRASS one is good for
consistency (and other usages of `r.ros` and `r.spread` than fire), the
meteorologic one can be practical and the current is useful default for
backward compatibility.
Also, the maximum ROS direction map passed from `r.ros` to `r.spread`
follows `r.ros`'s wind direction convention, so it is wrong from GRASS
point of view. We should probably change this too, although it is
basically not part of the interface, so it is not critical.
I was not looking to the source code, so I don't know how difficult it
would be to change this (e.g., are angles out of ``[0, 360]`` interval
allowed?).
--
Ticket URL: <https://trac.osgeo.org/grass/ticket/2347#comment:1>
GRASS GIS <http://grass.osgeo.org>