Date: 201707
Local time of day: 1201-1800
Location: CZQX.ARTCC, NF
Light: Daylight
Aircraft: B767 Undifferentiated or Other Model
Operator: Air Carrier
Operating under: Part 121
Flight plan: IFR
Mission: Passenger
Flight phase: Climb
ATC / advisory: Center CZQX
Reporter organization: Air Carrier
Reporter function: Pilot Not Flying; Captain
Reporter qualification: Flight Crew Air Transport Pilot (ATP)
Human factors: Situational Awareness
Second reporter function: First Officer
Anomaly: Deviation - Altitude Crossing Restriction Not Met; Deviation - Altitude Undershoot; Deviation / Discrepancy - Procedural Clearance
Detector: Person Flight Crew
When detected: In-flight
Result: Flight Crew Requested ATC Assistance / Clarification
Contributing factors: ATC Equipment / Nav Facility / Buildings; Human Factors; Procedure
Primary problem: Ambiguous

Narrative: Gander instructed us via HF radio call to climb from FL320 to cross 47 degrees west longitude (W047) at FL350. At W047 we were 1;400 feet low; only climbing through FL336. As captain; I was PM. The PF was a new FB on his first trip off of training.Before entering the Atlantic Track (NAT) HLA; we received an oceanic clearance with changes to route and altitude. This created uncertainty about our route clearance after the NAT HLA. We spent quite a bit of time trying to get this resolved and getting a new flight plan from the dispatcher. There were several errors in the revised flight plans; which kept us busier than normal. We never did get a flight plan with the complete new route. Instead we used parts of different flight plans to satisfy course and distance verification requirements. 35 minutes prior to the altitude deviation; upon entering Gander from Iceland; we did an HF SELCAL check with Gander. About 15 minutes after that; we started encountering continuous light chop at FL320 and made a CPDLC request with Gander to climb to FL340 due to weather. The CPDLC response was 'Unable due to traffic'. At about 35 more minutes after that; we responded to a SELCAL from Gander. The transmission was partly unreadable; forcing me to get clarification; which took time. Gander confirmed that we were to climb to FL350 and be level by W047. We confirmed the clearance. I immediately entered W047 on LEGS 2 page and saw the altitude restriction was only 10 miles ahead of us. I was shocked that the restriction was so close; but thought we might be able to make it; due to an approximately 45 knot headwind. I told the Relief Pilot to begin his climb immediately; but we were still unable to make the tight restriction. My 10 years of experience crossing NAT system worked against me. In the past; all crossing restrictions that I have been given were very generous with the distance allowed to make that restriction: 40 nm to 80 nm or more. I should not have accepted this clearance until after I determined that we had the distance to complete the climb. On Gander's part; I would have greatly appreciated being given more time to comply; since I felt our actions were done in a timely manner with no undue delay. Also; if I had been asked if we were able to reach FL350 by W047; I would have responded that we were not certain. I accept responsibility for this deviation; but I feel Gander did not issue an appropriate clearance and could have done a better job ensuring a safe airspace for us and any traffic that might have been in the area.


Second narrative: For this leg I was the pilot flying. During the event I was the pilot on break. When I returned from my inflight break; I was informed by the crew that they had missed a climb restriction on the tracks. Gander had SELCALed them with a climb to FL360 over HF. The longitude restriction of 47W was hard to hear over the HF static and took several calls to be understood. By that time they were very close 47W and were still in a climb to FL360 when they crossed 47W.


Synopsis: B767 flight crew reported receiving a clearance to climb; via HF radio; on a westbound Atlantic track too late to comply with the crossing restriction contained in the clearance.