Negative values in CARRA precipitation data

Following the instructions about how to calculate CARRA precipitation rate found on

I have downloaded accumulated TP from CARRA at timesteps 6,9,12,15 and 18.
I then calculate the 3 hourly precipitation by differencing TP(@9) - TP(@6) etc.

I have noticed that occasionally this gives me small negative values.

An example is shown below. It is based on Carra West TP data from April 15th 1992 at 00:00. For the purposes of demonstration I asked for all steps (see request file below). Looking at the data for one point ([i,j]=[217,183]) in the downloaded file
( lon=307.44E, lat=52.55 N ) shows the following TP per hour from the start of the run to step=30 hours

Step(h) TP (kg/m2)
1, 8.296966552734375e-05
2, 0.0033626556396484375
3, 0.0039501190185546875
4, 0.0037994384765625
5, 0.003765106201171875
6, 0.00408172607421875
9, 0.0034637451171875
12, 0.00341796875
15, 0.0032806396484375
18, 0.0033721923828125
21, 0.0035552978515625
24, 0.003570556640625
27, 0.00335693359375
30, 0.00341796875

There are many instances where the TP actually drops from one step to the next. Neglecting transients during the first 6 hours, but after that the value at 6h is bigger than the value at 9 hours, which in turn is bigger than the value at 12h, which again is bigger than the value at 15h.

The three hourly differences are small (O(8) kg/m2s) but I am puzzled that they show up at all. How can accumulated precip decrease from one step to the next?


cds request file

import cdsapi

c = cdsapi.Client()

‘domain’: ‘west_domain’,
‘level_type’: ‘surface_or_atmosphere’,
‘variable’: ‘total_precipitation’,
‘product_type’: ‘forecast’,
‘time’: ‘00:00’,
‘leadtime_hour’: [
‘1’, ‘2’, ‘3’,
‘4’, ‘5’, ‘6’,
‘9’, ‘12’, ‘15’,
‘18’, ‘21’, ‘24’,
‘27’, ‘30’,
‘year’: ‘1992’,
‘month’: ‘04’,
‘day’: ‘15’,
‘format’: ‘grib’,

Dear Halldór,
Thanks for looking at this. You are right, in principle we cannot have decrease in an accumulated quantity (like precipitation) along the model forecast. However, in practise, you take a single point where there might be some advection from neighbouring areas on top of any small scale numerical noise. The differences are small (negligible), so overall, I would not worry too much about it.
We might extend the User Guide with some details on this.
Thanks again, best regards
Andras Horanyi

1 Like

Thanks. We will simply put these values to zero prior to using them.

Yes, I think that would make sense.