Hourly precipitation out of range - ERA5-Land hourly data from 1981 to present

I am arriving to inconsistent results if I aggregate ERA 5 Land Hourly precipitation data in a yearly basis. In Central America, yearly precipitation is in the order of 1800 mm/year, but ERA 5 data are producing yearly rates an order of magnitude higher (~25000 mm/year). The same inconsistency emerges if I compare ERA 5 Land Hourly and Monthly datasets, showing high deviations between the aggregated results using ERA 5 Land hourly precipitation and the ERA 5 monthly datasets.  Any suggestion to solve it? Do I need to scale the data beyond multiplying by 1000 to convert from m to mm?


here the formula to get total precipitation for a year from ERA5 hourly data:

and this is for monthly data:

Please have a look at the following link for details about accumulations in ERA5-Land:

ERA5-Land: data documentation#accumulationsAccumulations

and monthly means:

ERA5-Land: data documentation#monthlymeansMonthlymeans



Thanks a lot Michela!

I was wrongly assumming that ERA5 Land follows the same accumulation convention than ERA 5. I corrected my algorithms for hourly and daily precipitation accumulation and everything is looking good so far.

Michela Giusti and Denny Rivas,

Thanks for this posting! I am having the same problem with ERA Land - when I sum the hourly precipitation values for a given month I get a number that 10-15x higher than the monthly value for that month (* number of days).   

What am I doing wrong??!




please have a look at this page for details of how accumulated variables:

Conversion table for accumulated variables (total precipitation/fluxes)



Michela Giusti

Thank you Michela,

So if I read that correctly, the ERA5 Land hourly total precipitation values are in fact something more like daily values (summarizing the previous 24 hours), and are hourly only in the sense that this summary of the previous 24 hours is calculated for each hour of every day?



Hi Ryan, for ERA5-Land, the accumulation is set to zero at 00UTC each day. The accumulation between 00 and 01UTC is then calculated and assigned to 01 UTC. Next, the accumulation between 01 and 02UTC is calculated and added to the total for the day so far, and assigned to 02UTC. In this way, the value at 24UTC contains the total accumulation for a given day, and the accumulation for a given hour is obtained by calculating the difference between the values for that hour and the preceding hour,

Hope that helps,


Kevin Marsh

Thanks Kevin! Ok, I finally get it now, and that explains the patterns I was seeing. Great to know!