I am not sure if tp includes evap. However I couldnt find the same issue in the reference file. There the minimum seems to be 0. I will check later tonight if I can find something in the documentation of the ecmwf for that variable that could help us.
It seems like the total precipiation at some gridpoints is decreasing with increasing lead_time leading sometimes to negative cumulated precipiation values in a certain interval. Here is one example:
import xarray as xr
import climetlab as cml
import climetlab_s2s_ai_challenge
import pandas
TEST_YEAR = 2020
TEST_FORECAST_TIMES = pandas.date_range(start=str(TEST_YEAR), end=str(TEST_YEAR+1), freq='W-THU').strftime('%Y%m%d').tolist()
cmlds = cml.load_dataset("s2s-ai-challenge-training-input",
date=TEST_FORECAST_TIMES[0],
origin="ecmwf",
parameter = "tp",
format="netcdf")
cmlds.to_xarray().isel(forecast_time=0,realization=0, latitude = 8, longitude=188).compute()