Question about the quality of wind data within DOE epw files

A bit off topic.

I’m in the midst of a pedestrian comfort study and I’m currently analyzing wind velocities on 12 orientations. To do that I need an average velocity over the year for each of the orientations (0, 30, 60, …).

I use a simple definition with native components to extract this information from the epw file. However, I run into some ‘trouble’.

There seem to be a lot of 0 values in the wind velocities. Most of these 0 values seem to be associated with the 0 direction (north direction is common in this weather file, i.e. Singapore, but I doubt it is so many 0s).

I then proceeded to cull all the hours with 0 wind velocity and did the averaging over all the remaining hours (around 7100 for this weather file). However, I still get a bit of odd results that don’t coincide with other data I have for the area. For example, average wind velocity in the north seems to be 1.12m/s while officially Singapore reports 2.1m/s. More discrepancies arise in the frequencies of the wind directions (the hours of each direction per year divided by total hours) from publically available data.

Anyways, I don’t want to tire you with so many specifics. The question to the forum is if anyone has used .epw files to collect wind data before and if we believe they are dependable for such calculations? If not, do you have any idea on where I could find open wind data of good quality?

Thank you very much in advance.

Kind regards,


P.S.: Will be adding the definition once I’m in the office, even though it is quite straightforward.


This is an interesting one.

First of all, without knowing how is the weather in Singapore, i don’t agree and like annual averages for wind considerations. Yo can’t bring together winter and summer (for instance) into the same calculation for the average. You should know, at least, what is going on in winter, summer, or any other period of time.

Second, you are right about your fears of the reliability of the weather files. But, unless you have a local station, there is not much you can do about this. Unfortunately this is a big constrain and limitation. The best is to have the station at your plot. Any other data you have will be an approximation to your site.

Third, this is a wish for the wind analysis components. I wish to get the main first and second directions and their average velocities (in just 2 numbers and directions).


You can find daily mean and max values for singapore here, you can even download csv data which makes life much easier:

As Abraham said, best thing would be a station near your plot and detailed data, but “you can’t always get what you want…but…sometimes…you get what you need”.

Hope this helps.



hi Theodoros,

Usually in wind data (at least here in the UK) when you have wind coming from north it is 360 deg and not 0. the wind direction 0 usually indicates calm, no wind condition that does no relate to the wind coming from north.

I would suggest you to put a condition in you formulas that when wind speed is 0 and direction 0 it goes on a 13th category.

I hoppe this helps.


Ladybug windrose does already filter the hours with 0 wind speed. That’s why it generates a separate circle for calm hours.

Hi Amedeo,

Since the original post I have realized that indeed and have filtered out the results. It has brought the frequencies to the expected number for each orientation.

The other mismatch of average velocities was my mistake. Apparently Singapore is unique in the way the average their velocites (@15m), which is different than what EPW files do (@10m).


Kind regards,


Hi Mostapha,

Do you think it is easy to incorporate average wind velocity calculations to the windrose? That is if that isn’t there already :slight_smile:

I can imagine the component cutting the rose into as many segments the user requires, and spiting out average velocities for each segment.

Kind regards,


It’s not there but it’s pretty doable. Let’s add it to Ladybug’s github.

I developed a definition that gives you % of frequencies based on the beaufort scale and season, Is that something you might be interested in?

Hi Amedeo,

That would be very interesting definition. It would be nice if you wanna share. It would be very helpful for single point pedestrian wind comfort assessment.

However, for assessment of even the smallest grid the files produced by the current workflow we are testing will be way too large for GH lists. I think python coding will be needed. That said, that code is quite simple and doable (if I knew how). At the moment, my solution is working in R, which handles big data quite well. I will share my R code/process here in the morning (again a very simple code), in case it helps this.

Kind regards,



It is still a WIP but I hope it helps, sometime the wind roses are a bit funny.

Sadly i don’t know python so it is based on gh components

Ranges are <3,3,4,5,6 and >6 in order to correlate wind speeds with the lawson criteria which is the pedestrian wind comfort mostly used in the UK.


Beaufort scale (756 KB)

Thank you very much for sharing Amadeo!

Will give this a try and see the limits of native GH components in relation to how long can the lists imported be.

Kind regards,


Hi Amedeo,

I couldn’t get the file to work as I wasn’t sure what is the excel data to be imported. I definitely think it’s quite useful to map comfort on top of values. How do you use this? Do you map the values on top of the wind-rose or do you calculate percentages?

I’m going to re-write wind-rose component soon and I can include this feature in the component. What about mapping the values as an annualHourlyData?


Hi Mostapha Sorry for the delay,

You need to input Speed, Direction and Month in this wayi don’t really plot Comfort on the wind map but I use ranges that relates to the Lawson criteria which is the most used comfort criteria for pedestrian in UK.

It isbe resumed in this graph

here you can fine some information…

I hope this helps!



Hi Amadeus,

I also use the Beaufort scale for analyzing wind conditions and usability of open spaces.

I think it should be clarified that the percentage of time related to annual data and not user defined period. This is specially important to notice for B7-8 where the mechanical influence of the wind can put people in danger.

In your example above you basically took the wind data for one month (or any desired period for that matter)? Can be the whole year?

Another point for reflection is that the epw gives only data for the more frequent wind at any specific hour, but there are other winds at the same hour that unfortunately are not taken into account. For this there is nothing to do, but good to have in mind.



Hi Abrahm,

Thanks for you comment.

I usually use 10 y weather data, calculating comfort based on a seasonal analysis (for example sitting is not really required for winter) and safety on all the weather data collected.