It is important to keep in mind that GPU Sprite particles do not support Dynamic Parameters, which are typically used to send data from a Particle System into a Material. Because of this, we have employed some trickery, using a Particle Color node within the Material. Typically, this node allows us to change the color of the particles as they fall, by animating their color and alpha values across their lifespan. Here, however, we are using that Red, Green, Blue, and Alpha (RGBA) data to drive a few more things. Since the water does not need to actually change color (water is colorless, after all), we use the Particle Color data in the following manner:
Red - Drives refractive index of the water, or how much it bends light.
Green - Drives the actual color. This means that the Green channel is driving all RGB data for color, which gives a grayscale result.
Alpha - Drives opacity of the water.
If you check out the Material (named M_WaterDrop_SubUV), you can see the Particle Color node driving these values as described.
Click to see full size.
If you open the P_Waterfall Particle System in Cascade, take special note of the Scale Color/Life module. The color animates to super-bright (greater than 1.0) for the first half of the lifespan, while the alpha ramps from black to white, then gradually falls back off to black. The result is a clean fade in and back out, as seen below.