This is a pretty picture of a rare occurrence, the odd coupling of a rainbow and a waterspout dancing side by side. Waterspouts are tornadoes over water. This happened near Crete, Greece, in the Mediterranean sea.
The image was taken by Captain Geert Sassen on board his vessel, the Maersk Kalmar. Here's his description:
We're accustomed to seeing rainbows when the weather is improving — when storms depart. This is because in the zone of the westerlies, following an afternoon storm or rain shower, the Sun is in the west and a rainbow, if visible, stretches across the eastern sky. However, as long as the Sun is shining, there are raindrops falling in the antisolar direction, and the Sun is lower than half way up the sky (no more than 43 degrees above the horizon), it's possible to see rainbows.
This is so regardless of the season, the compass direction or whether or not a tornado or waterspout is in the vicinity. Waterspouts generally occur in the tropics or in the lower mid-latitudes during the warmest months of the year. As with a tornado, a rotating column of air dangles from a cumiloform parent cloud, but waterspouts, like the one pictured above (south of Crete, Greece), are neither associated with severe weather nor thunderstorms. Nonetheless, they can cause damage to small boats but most often dissipate when arriving onshore.