# Real GRIB inspection — evidence (2026-09-24) File: `data/Tx_05-01-2022.grib` (from user `test.py`, ECDS `s2s-reforecasts`, `cdsapi.Client(url="https://ecds.ecmwf.int/api")`). 294 KB, **184 messages**. ## Working request (authoritative; from test.py) `origin=ecmwf`, model version `year=2023,month=01,day=05,time=00:00`, hindcast `hyear=2022,hmonth=01,hday=05`, `level_type=single_level`, `variable=maximum_2_m_temperature_in_the_last_6_hours`, `forecast_type=control_forecast`, `leadtime_hour=[6,12,…,1104]` (6-hourly), `data_format=grib`, `area=[30,80,0,130]` (N,W,S,E). NO `grid` key → native 1.5°. ## grib_ls (representative) ``` edition centre date dataType gridType typeOfLevel level stepRange shortName 2 ecmf 20230105 cf regular_ll heightAboveGround 2 0-6 mx2t6 2 ecmf 20230105 cf regular_ll heightAboveGround 2 6-12 mx2t6 ``` ## grib_get (message 1) ``` shortName=mx2t6 name="Maximum temperature at 2 metres in the last 6 hours" paramId=121 units=K gridType=regular_ll Ni=33 Nj=21 latFirst=30 latLast=0 lonFirst=81 lonLast=129 iDir=1.5 jDir=1.5 scanningMode=0 jScansPositively=0 dataDate=20220105 (=mars.hdate, init) dataTime=0 mars.date=20230105 (model version) stepUnits=hours stepRange=0-6 startStep=0 endStep=6 stepType=max typeOfLevel=heightAboveGround level=2 marsClass=s2 marsStream=enfo marsType=cf ``` ## Valid-time / step progression (verified) ``` count=1 step 0-6 validity 2022-01-05 06:00 count=2 step 6-12 validity 2022-01-05 12:00 count=4 step 18-24 validity 2022-01-06 00:00 count=184 step 1098-1104 validity 2022-02-20 00:00 ``` => valid_time = init(dataDate) + endStep; 184 six-hour windows = 46 days × 4/day. ## cdo -f nc copy output (D6 path, confirmed) dims: time=184 (`hours since 2022-1-5 00:00:00`), lon=33, lat=21, height=1; var `mx2t6(time,height,lat,lon)` units K, standard_name air_temperature; CF-1.6.