Rake as much of the snow as you can off the roof with a roof rake, which is tall enough to reach the roof of a one-story home from the ground. If you don't own a roof rake, use a snow shovel, but you have to get up on a ladder. The goal is to reveal the ice underneath of the snow, which won't melt as quickly as the snow. For effectiveness, pull the snow from top to bottom, rather than from left to right.
Pour a chemical de-icer over the ice on your flat rooftop. Use a de-icer that does not contain either NaCl (sodium chloride) or CaCl2 (calcium chloride). These ingredients are highly corrosive and can damage your roofing. If the ice on your roof is thick, the de-icer helps remove the top layers so you can concentrate on melting the layers underneath.
Cover the remaining ice on your flat roof with electrical de-icing cables, placing them in a criss cross pattern. The direct heat increases melting time significantly, especially if there is no sun. Purchase electrical de-icing cables at any home improvement store or on the Internet. Price varies from $35 to $100 based on how many feet of de-icing cable you purchase.