Skip to content

A free tool that fetches ERA5 data and generates full year EPW

License

Notifications You must be signed in to change notification settings

airboxlab/era5epw

Repository files navigation

tests PyPI - Version PyPI - Downloads GitHub License

ERA5 to EPW Converter

A tool that fetches ERA5 data and generates a full year AMY (Actual Meteorological Year) EnergyPlus Weather file (EPW).

The tool takes care of fetching the necessary data from the Copernicus Climate Data Store (CDS) and the Copernicus Atmosphere Data Store (CAMS), processing it, and formatting it into the EPW format. It's designed for fast and efficient data retrieval.

Installation

Prerequisites

Make sure to register for an API key and validate licences at:

Then create the file ~/.cdsapirc with the following content:

url: https://cds.climate.copernicus.eu/api/v2
key: <your_api_key>

Note: the URL will be dynamically managed by the script depending on the data source. The API key doesn't vary, it's the same for both ERA5 and CAMS data.

Moreover, before proceeding, it is required to accept all the licenses in the section "Your profile" in the website of Copernicus.

Install the package

From PyPI

pip install era5epw

From source

Clone the current repository and install the required dependencies using Poetry:

git clone https://github.com/airboxlab/era5epw.git
poetry install

Usage

Command line interface

Example usage:

# using poetry, execute in local repository
poetry run era5epw_download --year 2024 --latitude 49.4 --longitude 0.1 --city-name "Le Havre" --elevation 0 --time-zone 1

# using installed binary, after pypi package installation
era5epw_download --year 2024 --latitude 49.4 --longitude 0.1 --city-name "Le Havre" --elevation 0 --time-zone 1

By default, the time-zone argument is used only to populate the LOCATION header and data time is UTC. Use --apply-time-zone-to-data to apply it to the date and time fields (this will shift the UTC time by the provided time zone offset).

Use --help to have a list of available options.

Python API

Example usage:

from era5epw.main import download_and_make_epw

download_and_make_epw(
    year=2025,
    latitude=48.8,
    longitude=2.4,
    city_name="Paris",
    time_zone=1,
    elevation=0,
    output_file="/tmp/era5epw_paris_2025.epw",
    apply_time_zone_to_data=True,
)

When running in a Jupyter notebook, to make progress bars and interactive widgets work, make sure to install ipywidgets and to enable the widgets extension:

pip install ipywidgets
# optional, not needed with Jupyter Notebook 7+
jupyter nbextension enable --py widgetsnbextension

nb_ex

Documentation

ERA5
CAMS
EPW format
Earthkit

Datasets home pages:

View your API requests and download responses at:

CDS Requests
ADS Requests

Check CDS API status at CDS Live, it provides information about congestion for each dataset.

About

A free tool that fetches ERA5 data and generates full year EPW

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages