Welcome! In this tutorial, I'll show you how to add a realistic looking rainbow to your picture. It's very easy and simple and if you follow steps from this tutorial you will have your picture looking like this:
Open the image you want to add a rainbow to and add a new layer above it.
Get the Gradient tool and go to the Gradient Options on the top. Double click on the Gradient Color to choose the rainbow Gradient.
Choose Russell's Rainbow Gradient from the list.
If you don't see the Gradient, click on the right arrow and choose Special Effects. You'll be prompted to Replace, Cancel, or Append the Gradients. Click on Append to add them to the list you already have. Now you'll have the Russell's Rainbow Gradient.
Choose Radial Gradient and with Gradient tool, drag it across the picture as seen below.
This is the result I got.
Now, this doesn't seem realistic at all. The first thing we need to do is add a Gaussian Blur filter to make it blend more with the picture.
I've set the Blur to about 20.5 pixels. But you can play around with the values to see what fits best for your picture.
The next thing we need to do is to remove the unwanted part of the rainbow. I want it to end before the trees so it would appear as if it's behind the trees. Add a layer mask to the rainbow layer and choose the Gradient tool again. But this time, choose Black to White Gradient and Linear Gradient. With the layer mask selected, drag the Gradient from about the middle of the picture to the top.
This is the result:
Set the layer mode to Screen and reduce the opacity a little bit if needed.
There you go. You've got yourself a nice rainbow in the picture.