Roof Ice Damage

Ice Dam Prevention & Ice Damage Repair

Providing solutions to protect your roof from ice dams & water damage

One of the biggest concerns for homeowners during cold, snowy months is the formation of ice dams on the roof. An ice dam forms when melted snow re-freezes at the edge of the roof, trapping pools of melted water behind the frozen dam. Water trapped behind an ice dam can flow under roof shingles and leak into the house, damaging walls, floors, and other materials.

At Bone Dry Roofing, we offer solutions to repair damage to your roof caused by ice damming, as well as prevention techniques to keep ice dams from forming.

Prevention is key to keeping ice off your roof and water out of your home

How do ice dams form?

  • Snow that stays on the roof for more than a few days, combined with freezing temperatures
  • Warm air from your living space that leaks into the attic, causing snow to melt high on the roof
  • Missing membrane protection beneath roof shingles along roof eaves causes melted snow to re-freeze

While you can’t prevent snow from collecting on your roof, there are other things you can do to prevent ice dams from causing water damage to your house. Some homeowners choose to focus on reducing the amount of heat that escapes into the attic, warming the upper part of the roof deck and causing snow to melt evenly.

This type of ice dam prevention typically involves sealing air leaks in the attic floor and other solutions. Adequate attic ventilation is also important to keep the underside of the roof the same temperature as the outside air.

Another way to protect your home from ice dams and the damage associated with them is to make sure that an experienced roofing contractor installs a protective “ice and water” shield along your roof eaves, where the ice dams form.

Many building codes (this may vary by state and town) stipulate that this ice dam membrane protection must extend at least 24 inches inside the heated wall space of a house. However, older houses may not have such protection.

Ice dams can cause interior damage to ceilings, walls, and floors, but the right roofing system can eliminate this concern.

Keep your roof protected from ice damage with Bone Dry Roofing

Whenever you have a new roof installed or a roof replaced, it’s essential to have ice and water shield protection installed as well. At Bone Dry Roofing, we always ensure that your home is receiving all the products and services it needs to keep you safe and dry. Contact us today to find out which roof repair services are most appropriate for your home!

(function(cookieName, domain){ var traffic_source_COOKIE_TOKEN_SEPARATOR = ">>"; //separating between concatenated lead source var traffic_source_date_SEPARATOR = "|>"; var NONE = "(website)"; domain = domain || window.location.hostname; function getCookie(cookieName){ var name = cookieName + "="; var cookieArray = document.cookie.split(';'); //break cookie into array for(var i = 0; i < cookieArray.length; i++){ var cookie = cookieArray[i].replace(/^\s+|\s+$/g, ''); //replace all space with '' = delete it if (cookie.indexOf(name)==0){ return cookie.substring(name.length,cookie.length); // } } return null; } function getURLParameter(param){ var pageURL = window.location.search.substring(1); //get the query string parameters without the "?" var URLVariables = pageURL.split('&'); //break the parameters and values attached together to an array for (var i = 0; i -1) { if(end === -1) { end = utmzCookie.length; } cookieCampaignName = "utmz:" + utmzCookie.substring((start + UTMSRC.length), end); //get the value of the UTMZ, without the parameter name } } if(cookieCampaignName != "" && isNotNullOrEmpty(urlParamSRC)){ //if there is a campaign name AND there is SRC value traffic_source = urlParamSRC + traffic_source_COOKIE_TOKEN_SEPARATOR + cookieCampaignName; //concateane the SRC with the existing campaign name // traffic_source = urlParamSRC + currTime() + traffic_source_COOKIE_TOKEN_SEPARATOR + cookieCampaignName; // Optional: add the session time } else if(cookieCampaignName != ""){ //if there is campaign name traffic_source = cookieCampaignName; //just use it for the new cookie } else if(urlParamSRC != null) { //if there is not campaign name but we have SRC traffic_source = decodeURI(urlParamSRC); // decode URI of the SRC parameter // traffic_source = decodeURI(urlParamSRC) + currTime(); // Optional: add the session time } else if(document.referrer != ""){ //if there is not campaign, and no src, check if there is a referrer, var referrerHostName = removeProtocol(document.referrer); var GOOGLE = /www.google/; var YAHOO = /search.yahoo/; var BING = /www.bing/; if(GOOGLE.test(referrerHostName)){ traffic_source = "Google Search"; //traffic_source = "Google Search" + currTime(); // + Optional: Add the current session time. Choose one of them. } else if(YAHOO.test(referrerHostName)){ traffic_source = "Yahoo Search"; //traffic_source = "Yahoo Search" + currTime(); } else if(BING.test(referrerHostName)){ traffic_source = "Bing Search"; //traffic_source = "Bing Search" + currTime(); } else { traffic_source = referrerHostName; //traffic_source = referrerHostName + currTime(); } } else { traffic_source = NONE; } setCookie(cookieName, traffic_source); //set the cookie } else if(isNotNullOrEmpty(urlParamSRC)){ //if there is a cookie, add the SRC to the cookie, unless the same src already exists as the first token. var firstToken = getFirstTokenFromCookie(getCookie(cookieName)); if(firstToken !== "" && urlParamSRC !== firstToken) { var newTrafficSourceCookie = urlParamSRC + traffic_source_COOKIE_TOKEN_SEPARATOR + getCookie(cookieName); //concetenate new SRC with old cookie values // var newTrafficSourceCookie = urlParamSRC + currTime() + traffic_source_COOKIE_TOKEN_SEPARATOR + getCookie(cookieName); // Optional: add the time of current session setCookie(cookieName, newTrafficSourceCookie); } } })("traffic_source", ".bonedry.com"); function getCookie(name) { //Gets the value of traffic_source var value = "; " + document.cookie; var parts = value.split("; " + name + "="); if (parts.length == 2) return parts.pop().split(";").shift(); } function addTrafficSourceToForm(){ //injects the traffic_source value to the form jQuery(".lead_source input").each(function() { this.value = getCookie("traffic_source"); console.log("Executing"); }); } addTrafficSourceToForm() //initates the process