# Wave data missing from hourly era5 reanalysis at single levels

**URL:** <https://forum.ecmwf.int/t/wave-data-missing-from-hourly-era5-reanalysis-at-single-levels/10906>\
**Category:** C3S - Datasets and Usage\
**Tags:** era5\
**Created:** [20 January 2025 09:27 UTC](https://forum.ecmwf.int/t/wave-data-missing-from-hourly-era5-reanalysis-at-single-levels/10906 "2025-01-20T09:27:01Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nate\_Taminger](https://forum.ecmwf.int/letter_avatar_proxy/v4/letter/n/53a042/32.png) [@Nate\_Taminger](https://forum.ecmwf.int/u/Nate_Taminger)\
**Post date:** [20 January 2025 09:27 UTC](https://forum.ecmwf.int/t/wave-data-missing-from-hourly-era5-reanalysis-at-single-levels/10906/1 "2025-01-20T09:27:01Z")

</div>

![image](https://forum.ecmwf.int/uploads/default/original/1X/0c594c883aa16812f26c384439c67695bb31aeb1.png)

I am trying to download 10m u and v wind, mean sea level pressure, sea surface temperature, and significant wave height of combined wind waves and swell from the era reanalysis at single levels dataset (“reanalysis-era5-single-levels” in the api). All of the parameters download just fine except for the significant wave height. I have tried for many different regions of the ocean and as netcdf and grib file formats. I have also tried downloading other wave parameters and got nothing. Has the era5 reanalysis at single levels wave data been deprecated? If so, where can this data be found?

---

<div class="post-metadata">

**Author:** ![Stratos\_Karavanis](https://forum.ecmwf.int/letter_avatar_proxy/v4/letter/s/6bbea6/32.png) [@Stratos\_Karavanis](https://forum.ecmwf.int/u/Stratos_Karavanis)\
**Post date:** [28 January 2025 15:46 UTC](https://forum.ecmwf.int/t/wave-data-missing-from-hourly-era5-reanalysis-at-single-levels/10906/2 "2025-01-28T15:46:20Z")

</div>

I’m facing the same issue here. Had you tried in the past to get the wave data and it was working? It’s my first time and I was thinking that maybe there is a issue because CDs is a “new system is in its early days of full operations and still undergoing enhancements and fine tuning” as per an announcement.

---

<div class="post-metadata">

**Author:** ![Stratos\_Karavanis](https://forum.ecmwf.int/letter_avatar_proxy/v4/letter/s/6bbea6/32.png) [@Stratos\_Karavanis](https://forum.ecmwf.int/u/Stratos_Karavanis)\
**Post date:** [29 January 2025 16:49 UTC](https://forum.ecmwf.int/t/wave-data-missing-from-hourly-era5-reanalysis-at-single-levels/10906/3 "2025-01-29T16:49:04Z")

</div>

The wind speeds have a more dense grid and as a result, when you import the downloaded .grib file the reader (xr.open\_dataset()) is skipping some variables.

A way I have found is importing them using different variables, for example:

data\_mpww = xr.open\_dataset(“download\_waves\_2024.grib”, engine=“cfgrib”, filter\_by\_keys={“shortName”: “mpww”})  
data\_mwd = xr.open\_dataset(“download\_waves\_2024.grib”, engine=“cfgrib”, filter\_by\_keys={“shortName”: “mwd”})  
data\_shww = xr.open\_dataset(“download\_waves\_2024.grib”, engine=“cfgrib”, filter\_by\_keys={“shortName”: “shww”})  
data = xr.open\_dataset(“download\_waves\_2024.grib”, engine=“cfgrib”)

The wave-related parameters are stored separately using filter\_by\_keys. The wind parameters are stored in ‘data’.

If that also doesn’t work, try changing the area (there aren’t any wave data over land).

Don’t trust me too much, I just started working with this, but it seems that it works.

---

<div class="post-metadata">

**Author:** ![Nate\_Taminger](https://forum.ecmwf.int/letter_avatar_proxy/v4/letter/n/53a042/32.png) [@Nate\_Taminger](https://forum.ecmwf.int/u/Nate_Taminger)\
**Post date:** [29 January 2025 17:34 UTC](https://forum.ecmwf.int/t/wave-data-missing-from-hourly-era5-reanalysis-at-single-levels/10906/4 "2025-01-29T17:34:38Z")

</div>

Hey! Thanks for getting back on this and working on it. My data pull is for a very specific application and all I need to do is pull the wind, sea surface temperature, mslp, and significant wave height for a very specific range and then average the values over that range for each time.

So, for that, I am just downloading all of the non-wave data and averaging it and then downloading the wave data and averaging it, combining it all into one dataframe and then calling it a day. It is a little annoying that I need to do two downloads and combine, but it isn’t the end of the world
