Drop down lists for Weather file URLs

I find myself using the weather data URLs a lot. I had an idea. I’ve taken the HoneyBee bldgPrograms list as a starting point and created a new drop down menu with some major India cities instead. Along with their associated weather data URLs. I’ve saved this as a user object, double click on canvas and enter citiesindia and hay presto.

Not sure if this idea is used already or useful for others but sharing in this mail for anyone interested.

CitiesIndia.ghuser (2.2 KB)


@seanmoo, great idea and we can easily do this for all the weather locations on the epwmap.

How do you think it will be most useful? Create them for each continent, country? It can be overwhelming that way. We can also make a component similar to construction list to output the available cities, etc.

Hi @mostapha. I would agree that per country is tricky as we’re talking of 195 or so. Was thinking about your idea and doodled this image. Select a continent and it gives cities available. Select one within a list selector and it outputs the URL.

The part I was mulling over was how to get from a city to an output with the URL. It would need more things to plug in for more filtering.

Another idea is to have a component where you hook up a continent (1). See the associated cities (2) add a panel with city you want (3) and output the URL (4).

Let me know your thoughts.

Great idea @seanmoo. I’ve always felt that searching for epw files is a pain, and because it’s the first step in everyone’s workflow, translates badly to the user experience of ladybug.

To throw another idea into the mix: I really like the way the Ladybug Vizzz team from the AEC hackathon handled this problem with their project - basically searching for a city will give you a list of available EPW files in a very seamless fashion. I think they achieved this using the https://github.com/geopy/geopy package.

@mostapha, can we use the geopy package to search for epw files in the new core ladybug library https://github.com/ladybug-tools/ladybug? Do you think that would be a good way to solve this?

I am working on a dropdown menu with a better interface, but in the meantime I made this small tool that will return any doe link for the weather-station closest to the input location.

it is based on a list I got from @sarith with all the web-links.

EPW_link.gh (501.5 KB)

I like all the ideas here and I think they are all useful is one way or another.

I personally think people mostly will look for the city in a country to get the url. If they want to know what is available in general then they can use epwmap. I think we don’t want to get this two merged into a single component.

Also my main concern about using the latitude and longitude is that for a location that doesn’t have a weather station you may end up choosing a station which is the closest but doesn’t have rge same climate pattern. This can be very dangerous for beginners.

Finally we don’t necessarily need to add a new dependency. Since we have the latitude and longitude of all the station it’s a very straight forward math to find the closest stations to any location.

@mostapha I agree with what you say regarding the issue with the closest station. In my opinion this will be more for power users to quickly import an epw without going into the map or into a downloaded folder (not that this is hard work, but with smart tools we get more lazy :slight_smile: ).
I did the closest point tool as a place holder for the dropdown menu of country-city-epw.
Will keep you all updated in this thread.

Speaking on behalf of lazy users, I can’t wait to see what you/@seanmoo come up with.

ETA: I’ll try the epw tool you posted above when I get the chance. Even if it can be misleading if you’re not careful, I’ve been wanting something like this for a while.

1 Like

Hi @Byron / @mostapha

How about this? I’ve taken your ideas / feedback and added some tweaks. The _City input now searches within the EPW_list and returns a URL if it finds that city names in the list.

For some cities it will return more than one link but you edit the input string to filter down to what you want.

Another thought (thanks John Sullivan!) who suggested adding a note to this link below in the component to let people know the source of weatherfiles https://energyplus.net/weather/sources

All the best from Mumbai

Ladybug_EPW download link by City.ghuser (134.9 KB)

@seanmoo, very usefull.

I added the link to the component. Also altered a bit the code to search only through the last bit of the link string to avoid getting unnecessary results. Also added the option to search with low characters. Finally I added a filter for spaces in the search string.

As @mostapha mentioned, if people want to search for a location not included in the list, the EPWmap is the best option and already part of Ladybug. maybe we can add an output, if no result can be found with the city search, point people to the EPWmap component.

Ladybug_EPW download link by City.ghuser (135.0 KB)

1 Like

Cheers @Byron very nice tweaks.

1 Like

@Byron added an alt input to finally filter to one URL

Ladybug_EPW download link by City_1.ghuser (135.1 KB)


1 Like

I will implement this as a functionality to Ladybug[+] library so you can use it through any of the discussed methods! :slight_smile:


I started doing something similar before reading this post. I am trying to use the Google Geocoding API and the location finder component (@mostapha, I edited the component just a little to ask for an API Key. Created a pull request on github, so you can check that).
After getting the latitude and longitude from the geocoding API, I am looking for the closest point from a list of lat/long which I get from the epw weather data (csv file) on github/epwmap. The only issue now is the path in the file (eg. WMO_Region_2_Asia/IND_India/DL_Delhi/IND_DL_New.Delhi-Safdarjung.AP.421820_ISHRAE2014.zip), is different from the path on the energyplus website. (asia_wmo_region_2/IND//IND_New.Delhi.421820_IWEC/all). If someone has an easier solution for this, you will be able to just enter an address, and download the matching weather file. Thanks to Andrew Huemann for this idea.

is the one that you find from DOE website or climate one website? That might explain the difference in path.

I am using “epw_weather_data.csv” from here: https://github.com/ladybug-tools/epwmap/tree/gh-pages/data

What do you recommend using?

That is the correct link if you want the links from both DOE and OneBuilding websites. You only need to generate the link to the weather file based on the host column. If host == "onebuilding" then you should look for it in http://climate.onebuilding.org/ website.

For only DOE weather files check doe.csv

Ah! I wasn’t looking at the host column. This is great! So, now this completely works. You put an address, and the script will basically download the weather file closest to the address. Thanks!

1 Like

^ Fishing link. The link points to this dodgy looking URL: https://routerlogin.one/192-168-16-1/

Edit: ran a curl command on the website and I can confirm looking at the code that it’s running a script to try to access your router and then post back to the webpage whether it was successful.

/!\ DON’T CLICK /!\

1 Like