© Beckie Bone Dunning
A holidaymaker was amazed when she looked up at the Caribbean sky and spotted this stunning rainbow.

Beckie Bone Dunning was visiting the Jamaican port town of Ocho Rios when she captured the amazing sight on camera. "I looked up and saw this," she wrote on The Weather Channel's Facebook page, "never seen it before in my life. Can you explain it?"

She added: "I didn't have a clue what it was. I pointed up and said 'oh my God look, at the sun!'. Then the guests at the resort all started looking and snapping pictures."

It prompted many more users to share their own photos of similarly spectacular rainbows on the Facebook page. The phenomenon is known as cloud iridescence, according to senior meteorologist Nick Wiltgen.

"In clouds, iridescence is a by-product of sunlight being diffracted by water droplets or ice crystals, causing the various wavelengths of light, which we see as colours, to emerge at different angles," he said.

"As they reach the observer's eye, the observer perceives a pattern of various colours as those different wavelengths reach his or her eye from distinct directions, rather than being jumbled together and appearing whitish."

A similarly breathtaking sight was captured in the skies of Costa Rica in 2015, with one witness describing it like a "sign of God". Joey Petit, a resident in the city of Escazu, told ABC News his 11-year-old son was the first to spot the cloud.

"He immediately grabbed the camera and started taking video and photos," he said. "We were just so amazed. We had no idea what it was and we'd never seen anything like it."