other things I tried that appear odd:
>>> a
<iris 'Cube' of unknown / (unknown) (forecast_period: 2; forecast_reference_time: 13; latitude: 1152; longitude: 1536)>
>>> a.remove_coord('forecast_reference_time')
>>> a.remove_coord('forecast_period')
>>> a
<iris 'Cube' of unknown / (unknown) (-- : 2; -- : 13; latitude: 1152; longitude: 1536)>
>>> print a
unknown / (unknown) (-- : 2; -- : 13; latitude: 1152; longitude: 1536)
Dimension coordinates:
latitude - - x -
longitude - - - x
Auxiliary coordinates:
time x x - -
Scalar coordinates:
height: 10.0 m
Attributes:
STASH: m01s03i463
source: Data from Met Office Unified Model
um_version: 8.5
>>> print a.coord('time')
AuxCoord([[2015-01-16 03:00:00, 2015-01-16 06:00:00],
[2015-01-16 09:00:00, 2015-01-16 12:00:00],
[2015-01-16 15:00:00, 2015-01-16 18:00:00],
[2015-01-16 21:00:00, 2015-01-17 00:00:00],
[2015-01-17 03:00:00, 2015-01-17 06:00:00],
[2015-01-17 09:00:00, 2015-01-17 12:00:00],
[2015-01-17 15:00:00, 2015-01-17 18:00:00],
[2015-01-17 21:00:00, 2015-01-18 00:00:00],
[2015-01-18 03:00:00, 2015-01-18 06:00:00],
[2015-01-18 09:00:00, 2015-01-18 12:00:00],
[2015-01-18 15:00:00, 2015-01-18 18:00:00],
[2015-01-18 21:00:00, 2015-01-19 00:00:00],
[2015-01-19 03:00:00, 2015-01-19 06:00:00]], standard_name='time', calendar='gregorian') <= this is the "correct" time sequence
>>> print a.merge()
>>> print a.cube_merge() <= merge does not help here
>>> a[0]
<iris 'Cube' of unknown / (unknown) (-- : 13; latitude: 1152; longitude: 1536)>
>>> a[1]
<iris 'Cube' of unknown / (unknown) (-- : 13; latitude: 1152; longitude: 1536)>
>>> [ p.coord('time') for timestep in a.slices_over('time')]
>>> [ p.coord('time').points for p in a.slices_over('time')]
[array([ 394827.]), array([ 394833.]), array([ 394839.]), array([ 394845.]), array([ 394851.]), array([ 394857.]), array([ 394863.]), array([ 394869.]), array([ 394875.]), array([ 394881.]), array([ 394887.]), array([ 394893.]), array([ 394899.]), array([ 394830.]), array([ 394836.]), array([ 394842.]), array([ 394848.]), array([ 394854.]), array([ 394860.]), array([ 394866.]), array([ 394872.]), array([ 394878.]), array([ 394884.]), array([ 394890.]), array([ 394896.]), array([ 394902.])]
>>>
here, the time sequence is again different from what it was 7 lines further up. Odd.