Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a time window to the warned area based on storm vector #40

Open
ke4roh opened this issue Oct 23, 2017 · 0 comments
Open

Add a time window to the warned area based on storm vector #40

ke4roh opened this issue Oct 23, 2017 · 0 comments

Comments

@ke4roh
Copy link
Owner

ke4roh commented Oct 23, 2017

The consumer does not want to shelter except when there is imminent danger of a tornado. Warning lead times >15 minutes negate the value of a warning. (Economic and Societal Impacts of Tornadoes by Simmons, Kevin M.)

Effectively warn for a sliding window x minutes before the storm until y minutes after the storm following the storm vector (in the text message below the polygon, we'll have to add the vector to the parsed messages, too).

Calculate the arrival time of the storm at the observation location by constructing a triangle with vertices S (at the storm), R (at the radio), and T (a point along the storm vector representing a right angle between S and R, at which the storm is predicted to be closest to R).

The points R and S are known, as is the distance between them, and the angle RST, θ. The distance ST will be traversed by the storm at the vector's given speed. Use cosine to solve for the distance ST:

cos θ = ST/SR
ST = SR (cos θ)
ST / speed = Arrival time

Warn for x minutes before to y minutes after the arrival time. x must be at least 7, y must be at least 5, because at farther distances from the storm, the arrival time error will increase. x should generally be 10-15, and y should be 5-10.

Beware that speed is given in nautical miles per hour, not the usual statute miles per hour. Check units twice!

Acceptance criteria:

  • x and y are configurable, in integer minutes, default = 100 (which is effectively infinity)
  • Storm warning is issued at the later of warning issue time or x minutes before arrival time.
  • Warning condition is lifted y minutes after the storm has passed, or when the polygon leaves, whichever occurs first.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant