Author Topic: Measure / Calculate / Report Wind Speed  (Read 320 times)

0 Members and 1 Guest are viewing this topic.

Offline roebert

  • Member
  • *
  • Posts: 5
Measure / Calculate / Report Wind Speed
« on: February 14, 2021, 06:02:25 AM »
I'm not sure if I should post this in the hardware or software forum, but the software part is in the hardware, and not the pc software, so I decided to put it here.

I built the electronics of my station myself, and now i'm writing the code for the anemometer (I have a davis 6410).

The actual windspeed is changing very fast, therefore the reported speed is averaged over time. I read, that the WMO reports an 10 minute average in their maps, but sometimes I also read about 2 minute average.

Similar question about wind gusts: I read about a certain speed increase for at least 3sec, maximum 20sec and so on, but on the other hand, some stations just report the absolute maximum speed within the last observation period of a few seconds.

So finally, what should I

*show on the display

*report to the wx software (I use weewx)

for windspeed and gusts?

Thanks for help!


Online johnd

  • Forecaster
  • *****
  • Posts: 3998
Re: Measure / Calculate / Report Wind Speed
« Reply #1 on: February 14, 2021, 12:41:57 PM »
A wind gust is effectively the basic measurement unit of wind speed. It is the wind speed averaged over a short period of time - a few seconds. There seems to be  no common or agreed time-span for this in hobbyist grade anemometers, but 2 to 3 seconds is the period typically used.

(The WMO do publish recommendations for high-end anemometers but these need more frequent wind speed values than are available from most hobbyist anemometers. With a single magnet the 6410 anemometer is limited (IIRC) to 0.444Hz signal per 1mph reading, so there is little point at making measurements more often than every 2.25secs, at least at low wind speeds, if you're only counting pulses. Of course you could measure the time interval between successive revolutions of the cups which could give you higher 'instantaneous' wind speed values, but it's still the case that wind gusts are typically expressed as the average speed over successive 2-3 second periods, rather than the highest instantaneous speed seen in each interval.)

Average wind speeds are then calculated by averaging the most recent set of gust values measured over the averaging time. The time for average speeds does vary according to the purpose of the measurement. For meteorological records (and eg correct interpretation of the Beaufort scale) mean speeds are averaged over 10 mins. For aviation purposes, a 2 min mean is usual I believe. But definitions can vary internationally so you'd need to consult the regulations for individual countries. Weather station software often gets around this problem by calculating multiple mean speeds, eg 1 min, 2 min and 10 mins.
« Last Edit: February 14, 2021, 12:44:00 PM by johnd »
Prodata Weather Systems
Prodata's dedicated Davis EnviroMonitor website
UK Davis Premier Dealer - All Davis stations, accessories and spares
Littleport, Ely, Cambs UK

Sorry, but I can't help with individual issues by email. Please post your issue in the relevant forum section here & I will comment there if I have anything useful to add.

Offline Yfory

  • Senior Member
  • **
  • Posts: 64
Re: Measure / Calculate / Report Wind Speed
« Reply #2 on: February 14, 2021, 04:41:15 PM »
Hello Robert;

I am very new here (under this name - with a new "tude").

This is not an answer to your question but a compliment...

I am building my own weather station and telling you your idea of building your own DIY program and hardware is a great idea - good for you!!!

My coding has taken me a year of so but very intermittently over this year of work. I am using the SHT31 Sensitron series of temp/humidity sensors bought from Adafruit. It is an excellent sensor - no - it is a GREAT sensor - the best I have ever tested over 30 years of DIY testing of temp/hum sensors. I come from a long career of work with advanced medical systems such as CT, linear accelerators, and a cyclotron built in Berkeley.

As for your question - I am deep into my own coding so I have no answer - how is that for a non-answer...    ](*,) but...wind sensor displays are difficult. They are usually a matter of study of common data displays and then adapting your code to what you prefer. There are often standard coded mathematical models that become accepted standards. But that does not mean they are correct for all stations, at all times, for all locations on this planet.

I am suggesting you continue - try something, test it, and adapt your code to your needs - it is extremely rewarding - it is just plain fun because it is your coding and YOU can report what you want and you can make additions and mods, just as you are attempting now,  in your question. I am working on the issue of an easy to read, statistical display of wind direction over a 24 hour period.

Keep it up - your results will be far superior to most "store bought" systems and custom designed for your needs at your location and can change with sensor developments. Another problem I am working with is what I call house weather - room pollution readings and another example of rapidly changing sensor technology. Just the discussion of wind speed measurement is a very hot subject - so-to-speak.

Sorry for the non-answer but there are many very smart and considerate people here who can guide you.


Offline roebert

  • Member
  • *
  • Posts: 5
Re: Measure / Calculate / Report Wind Speed
« Reply #3 on: February 15, 2021, 05:35:23 AM »
In my current implementation I'm actually measuring the time between the pulses, because at low windspeeds around 1mph you would get someimes 1 mph then sometimes 0mph, but nothing in between. But as the windspeed is averaged over a few minutes, this is actually no big deal, so maybe I will change this to pulse counting within a certain period (afaik davis is using 2.5s), like most others do.

At the moment I average for 2 minutes for the windspeed reading, and for gust I calculate a 3sec running average, and I report the highest 3sec average of the last 10 Minutes. I also calculate a 5 second average of the wind direction.
The timebase for the average speed, time for the gust history, and also the time for direction averaging are parameters I can change over the air, so I don't have to reprogram the ESP if I want to change them.

« Last Edit: February 15, 2021, 05:43:11 AM by roebert »

Offline joegr

  • Member
  • *
  • Posts: 46
Re: Measure / Calculate / Report Wind Speed
« Reply #4 on: February 16, 2021, 11:35:05 AM »
I currently do both, pulse counting and time between pulse measurement.
I keep a rolling pulse counter, and store it's current count every second in an array of 600.  That way, at any given time (second), I can calculate the average wind speed for the last x seconds (up to ten minutes).  I calculate the gust by the average time between pulses, for the last ten pulses, and then take the maximum of that for the last x seconds (another array used).  I am using an ESP32.

Offline Yfory

  • Senior Member
  • **
  • Posts: 64
Re: Measure / Calculate / Report Wind Speed
« Reply #5 on: February 16, 2021, 12:51:00 PM »
joegr has some good methods.

I am also working on array averages for wind speeds. I am finding that a very carefully placed delay can help but the delay must be placed and integrated in my work with care.

These ideas shown here are both good, well thought out code wind speed capture systems. I am finding code for wind/wind gusts speeds must simply test flawlessly for a week or more (with wind and calm) especially looking for array entry and array length errors. My wind cup anemometer is low enough I can create artificial gusts with a long stick.

My comments are not helping except in a very general way so I will drop out of the discussion unless I make a new process discovery.

good work - both of you!

Online safuser

  • Member
  • *
  • Posts: 35
Re: Measure / Calculate / Report Wind Speed
« Reply #6 on: February 16, 2021, 03:38:08 PM »
@joegr Is your code posted somewhere?  I would love to take a look if possible.  I am using a ESP32 with a RFM69 currently to relay Davis sensors.  Looking to integrate it with a RM Young anemometer next.  Your calculations look applicable and very interesting.