Date: 201401
Local time of day: 1801-2400
Location: ZNY.ARTCC, NY
Aircraft: B747-400
Operator: Air Carrier
Operating under: Part 121
Flight plan: IFR
Flight phase: Climb
Airspace: Class A ZNY
ATC / advisory: Center ZNY
Reporter organization: Government
Reporter function: Enroute
Reporter qualification: Air Traffic Control Fully Certified
Human factors: Communication Breakdown
Second reporter function: Pilot Flying; Captain
Anomaly: ATC Issue All Types
Detector: Person Air Traffic Control
Result: General None Reported / Taken
Contributing factors: Human Factors; Procedure
Primary problem: Human Factors

Narrative: A B747 sent a downlink via CPDLC; 'Request Climb to FL350; due to aircraft performance.' Upon probing the requested altitude via the clearance window; ATOP indicated a conflict with the B737 who was northbound on L453 crossing the B747's route of flight. As per procedure; I sent an uplink to close the downlink to the aircraft stating; 'Unable; Due to traffic.' After performing some other tasks I went back to evaluate the B747's request for higher. After evaluating that the cross would more than likely not be a direct merge; I constructed the clearance; 'Maintain FL330; at XA:52[Z] climb to and maintain FL350; climb to reach FL350 by XA:57;[Z] Report level FL350' which is a standard 'at time climb by time' clearance. The aircraft sent a downlink of; 'WILCO' to the clearance. While coordinating the revised altitude with the appropriate sector I noticed an ARP message in the sector queue and since the aircraft was near a position that commonly gets ARP reports from ADS equipped aircraft I deleted it and sent a 'Demand' request for another position report. Once I received the next ARP I noticed that the data block indicated that the B747 was above his assigned altitude and that the ARP was due to the altitude situation. The aircraft reported level at XA:48Z; four minutes before it was supposed to start its climb. The B747 climbed through the B737's altitude without the appropriate separation for aircraft on crossing tracks. Something needs to be done with CPDLC equipped aircraft to ensure that they are actually reading the clearances sent to them; not just seeing what they want to see. It was my understanding that the 'Maintain FLXXX' SHOULD fix this but clearly it is not a foolproof solution. Something should be done in collaboration with the pilots to reinforce the importance of fully reading CPDLC clearances before initiating a maneuver. As we move towards a non-RADAR environment where more aircraft will be CPDLC and ADS-B equipped this has the potential to become a much bigger problem.


Second narrative: B747; requested climb to FL350 for aircraft performance from New York Oceanic via CPDLC at XA:41Z. [We] received CPDLC message back at XA:41Z from New York; unable due to traffic. At XA:45Z; received message from New York via CPDLC to climb to FL350 and report level by XA:57Z. At XA:46Z responded to New York WILCO via CPDLC. At XA:48Z sent CPDLC message Level FL350. At XA:50Z received CPDLC from New York confirm you climb already. Responded; level at FL350 at XA:50Z. On handoff to New York Oceanic over Bermuda; on VHF spoke to Controller and told him that an error had happen on our climb clearance. He instructed us to contact New York via SATCOM. I used SATCOM to call and then was instructed to call another number and could not get through. I then contacted our Dispatch and informed them of the error and asked them to call. They responded that a possible pilot deviation occurred. I told Dispatch that I would call a soon as possible on my return. I contacted New York Oceanic and explained how the error occurred when we received the CPDLC message on ACARS. Page 1 of the message had; CLIMB TO AND MAINTAIN FL350 and on the second page CLIMB TO REACH FL350 by XA:57Z and REPORT LEVEL FL350. I missed the AT XA:52Z on the first page; thus; climbed early. Check and recheck all CPDLC clearance for AT times and BY times to avoid misinterpretation!


Synopsis: ZNY Controller described a loss of separation event reportedly caused by the flight crew not reading the entire CPDLC instruction.