Place a ladder against or near your roof. Climb the ladder with a leaf rake and broom. Rake and sweep off your roof, removing all leaves and other topical debris.
Climb down the ladder, and pour in one part trisodium phosphate with three parts water in a bucket.
Submerge a scrub brush with an extension handle into the bucket, and use the scrub brush to clean the shingles on your roof. The TSP will clean some of the stains off the shingles, but discoloration may remain.
Rinse the shingles with a hose once they are clean. Then rinse out the bucket with the hose.
Put on rubber gloves. Mix together 2 to 3 cups of oxalic acid with 1 gallon of water in the bucket, and pour the mixture into a pump sprayer.
Spray the oxalic acid/water mixture directly onto the stains on the shingles, and let soak for about five minutes. Then, scrub with the scrub brush until the discoloration is gone. Rinse the shingles with the hose to finish.