Looking for Beta Testers for Weather Data Service

Hello everyone,

For the last year or so, I’ve been working on making historical weather reanalysis data (e.g. ERA5 Reanalysis) more accessible. Despite the comprehensiveness and the quality of the data, it’s not widely used due to the effort required to process the data.

I’ve recently launched a service to access this data more easily and looking for beta testers. You can sign up at https://oikolab.com, creating an account and adding a subscription to ‘Starter’ to get access to historical reanalysis data for any place from 1980 onwards.

This enables one to quickly look at climate trends and develop tools such as:

  • Climate Explorer - how has climate changed where you live in the last 40 years?

  • EPW generator w/ Ladybug Python library - Chris created this Python script to demonstrate how you can generate EPW file for any location by just specifying the location data and the year and accessing the data. I modified the script a little for readability.

Please note that once fully launched, this will be a paid service, although the price will be substantially cheaper than currently existing services. I think it’s particularly concerning that as climate change progresses, it’s becoming difficult to even define a ‘typical meteorological year’ based on the past history so the idea is to enable energy modellers to easily generate 30~40 years worth of AMY as required for any location. For instance, the ‘Starter’ subscription that you can sign up for free at the moment would allow you to generate up to 100 AMY files per month.

I’m particularly interested in feedback with regards to the use case (how often do you use historical weather data or need to generate EPW?). If you have any questions, comments or suggestions, please feel free to reach out to me at joseph.yang@oikolab.com.




File “C:/Users/user/oiko_make_epw.py”, line 57, in oiko_make_epw
location.time_zone = attributes[‘utc_offset’]
NameError: name ‘location’ is not defined

What is the problem, this happen also for
‘lat’: location.latitude,
‘lon’: location.longitude,

the problem is here must be location with Uppercase letter Location.latitude …


another problem

C:\Python36\python.exe C:/Users/user/oiko_make_epw.py
    <title>Internal Server Error</title>
    <h1><p>Internal Server Error</p></h1>

Process finished with exit code 0

Thanks for finding the error in the script - there was a missing line to define the ‘location’ parameter (my error, not Chris’). The script has been corrected and you should be able to try it again.


1 Like

Cool, I’m excited to see you finally release this @josephyang!

Can you discuss the spatial resolution of this dataset a bit more (or point me towards some ERA5 resources). I’m used to obtaining my weather data from airport sites, so I’m struggling to understand weather data interpolated from a 0.25 x 0.25 deg grid for any location.


  1. How was the 0.25 x 0.25 gridded data obtained?

  2. How reliable is the interpolated data that is in between the grid? Does it come with confidence intervals to indicate uncertainty of interpolated data?

And on a technical note, I’m curious about what you used to develop the visualizations in Climate Explorer website. Is that with a javascript library (i.e D3) or with one of those Python to javascript frameworks (i.e Dash)?


Thanks @SaeranVasanthakumar! (and great questions!)

Here’s a short (3 min) video on the ERA5 reanalysis. ‘Interpolation’ in this sense is ‘spatial (or bilinear) interpolation’ rather than ‘fill in the missing data’ type - so the value for any given point is derived from its adjacent four corner values.

To answer your questions:

  1. 0.25 x 0.25 gridded data is the format provided by ECMWF (in NetCDF or GRIB). If you imagine the atmosphere broken up into 3D grid it should give you an idea. The weather model doesn’t quite use this because the spacing is not uniform - this lat x lon grid is generated from Gaussian grid of various resolutions used by the atmospheric physics model. You can also get the data directly but it can be very slow to process.

  2. ERA5 reanalysis data should be much better than airport data because it assimilates other types of observations (satellite, aircraft) to create a more consistent state estimation of the atmosphere. Because of the temporal & spatial resolution, it’s not quite suitable for abrupt event analysis such as storm and can be less accurate in mountainous regions. A higher resolution version (0.1 x 0.1) does slightly better for uneven terrains (I’ll have this later in the summer) but most EnergyPlus users shouldn’t notice much difference. Confidence interval is available but it’s not something that I’ve processed for API.

The visualization was done all in Python using Dash. It’s quite nice to work with although I think it’s a bit slower than Bokeh. :slight_smile:

Hope this helps and let me know if you have more questions!

1 Like