text:
/*! Picturefill - v2.1.0 - 2014-07-25
* http://scottjehl.github.io/picturefill
* Copyright (c) 2014 https://github.com/scottjehl/picturefill/blob/master/Authors.txt; Licensed MIT */
/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license */

window.matchMedia || (window.matchMedia = function() {
	"use strict";

	// For browsers that support matchMedium api such as IE 9 and webkit
	var styleMedia = (window.styleMedia || window.media);

	// For those that don't support matchMedium
	if (!styleMedia) {
		var style       = document.createElement('style'),
			script      = document.getElementsByTagName('script')[0],
			info        = null;

		style.type  = 'text/css';
		style.id    = 'matchmediajs-test';

		script.parentNode.insertBefore(style, script);

		// 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers
		info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle;

		styleMedia = {
			matchMedium: function(media) {
				var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';

				// 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers
				if (style.styleSheet) {
					style.styleSheet.cssText = text;
				} else {
					style.textContent = text;
				}

				// Test if media query is true or false
				return info.width === '1px';
			}
		};
	}

	return function(media) {
		return {
			matches: styleMedia.matchMedium(media || 'all'),
			media: media || 'all'
		};
	};
}());
/*! Picturefill - Responsive Images that work today.
*  Author: Scott Jehl, Filament Group, 2012 ( new proposal implemented by Shawn Jansepar )
*  License: MIT/GPLv2
*  Spec: http://picture.responsiveimages.org/
*/
(function( w, doc ) {
	// Enable strict mode
	"use strict";

	// If picture is supported, well, that's awesome. Let's get outta here...
	if ( w.HTMLPictureElement ) {
		w.picturefill = function() { };
		return;
	}

	// HTML shim|v it for old IE (IE9 will still need the HTML video tag workaround)
	doc.createElement( "picture" );

	// local object for method references and testing exposure
	var pf = {};

	// namespace
	pf.ns = "picturefill";

	// srcset support test
	pf.srcsetSupported = "srcset" in doc.createElement( "img" );
	pf.sizesSupported = w.HTMLImageElement.sizes;

	// just a string trim workaround
	pf.trim = function( str ) {
		return str.trim ? str.trim() : str.replace( /^\s+|\s+$/g, "" );
	};

	// just a string endsWith workaround
	pf.endsWith = function( str, suffix ) {
		return str.endsWith ? str.endsWith( suffix ) : str.indexOf( suffix, str.length - suffix.length ) !== -1;
	};

	/**
	 * Shortcut method for matchMedia ( for easy overriding in tests )
	 */
	pf.matchesMedia = function( media ) {
		return w.matchMedia && w.matchMedia( media ).matches;
	};

	/**
	 * Shortcut method for `devicePixelRatio` ( for easy overriding in tests )
	 */
	pf.getDpr = function() {
		return ( w.devicePixelRatio || 1 );
	};

	/**
	 * Get width in css pixel value from a "length" value
	 * http://dev.w3.org/csswg/css-values-3/#length-value
	 */
	pf.getWidthFromLength = function( length ) {
		// If no length was specified, or it is 0 or negative, default to `100vw` (per the spec).
		length = length && ( parseFloat( length ) > 0 || length.indexOf( "calc(" ) > -1 ) ? length : "100vw";

		/**
		* If length is specified in  `vw` units, use `%` instead since the div we’re measuring
		* is injected at the top of the document.
		*
		* TODO: maybe we should put this behind a feature test for `vw`?
		*/
		length = length.replace( "vw", "%" );

		// Create a cached element for getting length value widths
		if ( !pf.lengthEl ) {
			pf.lengthEl = doc.createElement( "div" );
			doc.documentElement.insertBefore( pf.lengthEl, doc.documentElement.firstChild );
		}

		// Positioning styles help prevent padding/margin/width on `html` from throwing calculations off.
		pf.lengthEl.style.cssText = "position: absolute; left: 0; width: " + length + ";";

		if ( pf.lengthEl.offsetWidth <= 0 ) {
			// Something has gone wrong. `calc()` is in use and unsupported, most likely. Default to `100vw` (`100%`, for broader support.):
			pf.lengthEl.style.cssText = "width: 100%;";
		}

		return pf.lengthEl.offsetWidth;
	};

	// container of supported mime types that one might need to qualify before using
	pf.types =  {};

	// Add support for standard mime types.
	pf.types["image/jpeg"] = true;
	pf.types["image/gif"] = true;
	pf.types["image/png"] = true;

	// test svg support
	pf.types[ "image/svg+xml" ] = doc.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Image", "1.1");

	// test webp support, only when the markup calls for it
	pf.types[ "image/webp" ] = function() {
		// based on Modernizr's lossless img-webp test
		// note: asynchronous
		var img = new w.Image(),
			type = "image/webp";

		img.onerror = function() {
			pf.types[ type ] = false;
			picturefill();
		};
		img.onload = function() {
			pf.types[ type ] = img.width === 1;
			picturefill();
		};
		img.src = "data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA=";
	};

	/**
	 * Takes a source element and checks if its type attribute is present and if so, supported
	 * Note: for type tests that require a async logic,
	 * you can define them as a function that'll run only if that type needs to be tested. Just make the test function call picturefill again when it is complete.
	 * see the async webp test above for example
	 */
	pf.verifyTypeSupport = function( source ) {
		var type = source.getAttribute( "type" );
		// if type attribute exists, return test result, otherwise return true
		if ( type === null || type === "" ) {
			return true;
		} else {
			// if the type test is a function, run it and return "pending" status. The function will rerun picturefill on pending elements once finished.
			if ( typeof( pf.types[ type ] ) === "function" ) {
				pf.types[ type ]();
				return "pending";
			} else {
				return pf.types[ type ];
			}
		}
	};

	/**
	* Parses an individual `size` and returns the length, and optional media query
	*/
	pf.parseSize = function( sourceSizeStr ) {
		var match = /(\([^)]+\))?\s*(.+)/g.exec( sourceSizeStr );
		return {
			media: match && match[1],
			length: match && match[2]
		};
	};

	/**
	 * Takes a string of sizes and returns the width in pixels as a number
	 */
	pf.findWidthFromSourceSize = function( sourceSizeListStr ) {
		// Split up source size list, ie ( max-width: 30em ) 100%, ( max-width: 50em ) 50%, 33%
		//                            or (min-width:30em) calc(30% - 15px)
		var sourceSizeList = pf.trim( sourceSizeListStr ).split( /\s*,\s*/ ),
			winningLength;

		for ( var i = 0, len = sourceSizeList.length; i < len; i++ ) {
			// Match <media-condition>? length, ie ( min-width: 50em ) 100%
			var sourceSize = sourceSizeList[ i ],
				// Split "( min-width: 50em ) 100%" into separate strings
				parsedSize = pf.parseSize( sourceSize ),
				length = parsedSize.length,
				media = parsedSize.media;

			if ( !length ) {
				continue;
			}
			if ( !media || pf.matchesMedia( media ) ) {
				// if there is no media query or it matches, choose this as our winning length
				// and end algorithm
				winningLength = length;
				break;
			}
		}

		// pass the length to a method that can properly determine length
		// in pixels based on these formats: http://dev.w3.org/csswg/css-values-3/#length-value
		return pf.getWidthFromLength( winningLength );
	};

	pf.parseSrcset = function( srcset ) {
		/**
		* A lot of this was pulled from Boris Smus’ parser for the now-defunct WHATWG `srcset`
		* https://github.com/borismus/srcset-polyfill/blob/master/js/srcset-info.js
		*
		* 1. Let input (`srcset`) be the value passed to this algorithm.
		* 2. Let position be a pointer into input, initially pointing at the start of the string.
		* 3. Let raw candidates be an initially empty ordered list of URLs with associated
		*    unparsed descriptors. The order of entries in the list is the order in which entries
		*    are added to the list.
		*/
		var candidates = [];

		while ( srcset !== "" ) {
			srcset = srcset.replace(/^\s+/g,"");

			// 5. Collect a sequence of characters that are not space characters, and let that be url.
			var pos = srcset.search(/\s/g),
				url, descriptor = null;

			if ( pos !== -1 ) {
				url = srcset.slice( 0, pos );

				var last = url[ url.length - 1 ];

				// 6. If url ends with a U+002C COMMA character (,), remove that character from url
				// and let descriptors be the empty string. Otherwise, follow these substeps
				// 6.1. If url is empty, then jump to the step labeled descriptor parser.

				if ( last === "," || url === "" ) {
					url = url.replace(/,+$/, "");
					descriptor = "";
				}
				srcset = srcset.slice( pos + 1 );

				// 6.2. Collect a sequence of characters that are not U+002C COMMA characters (,), and
				// let that be descriptors.
				if ( descriptor === null ) {
					var descpos = srcset.indexOf(",");
					if ( descpos !== -1 ) {
						descriptor = srcset.slice( 0, descpos );
						srcset = srcset.slice( descpos + 1 );
					} else {
						descriptor = srcset;
						srcset = "";
					}
				}
			} else {
				url = srcset;
				srcset = "";
			}

			// 7. Add url to raw candidates, associated with descriptors.
			if ( url || descriptor ) {
				candidates.push({
					url: url,
					descriptor: descriptor
				});
			}
		}
		return candidates;
	};

	pf.parseDescriptor = function( descriptor, sizesattr ) {
		// 11. Descriptor parser: Let candidates be an initially empty source set. The order of entries in the list
		// is the order in which entries are added to the list.
		var sizes = sizesattr || "100vw",
			sizeDescriptor = descriptor && descriptor.replace(/(^\s+|\s+$)/g, ""),
			widthInCssPixels = pf.findWidthFromSourceSize( sizes ),
			resCandidate;

			if ( sizeDescriptor ) {
				var splitDescriptor = sizeDescriptor.split(" ");

				for (var i = splitDescriptor.length + 1; i >= 0; i--) {
					if ( splitDescriptor[ i ] !== undefined ) {
						var curr = splitDescriptor[ i ],
							lastchar = curr && curr.slice( curr.length - 1 );

						if ( ( lastchar === "h" || lastchar === "w" ) && !pf.sizesSupported ) {
							resCandidate = parseFloat( ( parseInt( curr, 10 ) / widthInCssPixels ) );
						} else if ( lastchar === "x" ) {
							var res = curr && parseFloat( curr, 10 );
							resCandidate = res && !isNaN( res ) ? res : 1;
						}
					}
				}
			}
		return resCandidate || 1;
	};

	/**
	 * Takes a srcset in the form of url/
	 * ex. "images/pic-medium.png 1x, images/pic-medium-2x.png 2x" or
	 *     "images/pic-medium.png 400w, images/pic-medium-2x.png 800w" or
	 *     "images/pic-small.png"
	 * Get an array of image candidates in the form of
	 *      {url: "/foo/bar.png", resolution: 1}
	 * where resolution is http://dev.w3.org/csswg/css-values-3/#resolution-value
	 * If sizes is specified, resolution is calculated
	 */
	pf.getCandidatesFromSourceSet = function( srcset, sizes ) {
		var candidates = pf.parseSrcset( srcset ),
			formattedCandidates = [];

		for ( var i = 0, len = candidates.length; i < len; i++ ) {
			var candidate = candidates[ i ];

			formattedCandidates.push({
				url: candidate.url,
				resolution: pf.parseDescriptor( candidate.descriptor, sizes )
			});
		}
		return formattedCandidates;
	};

	/*
	 * if it's an img element and it has a srcset property,
	 * we need to remove the attribute so we can manipulate src
	 * (the property's existence infers native srcset support, and a srcset-supporting browser will prioritize srcset's value over our winning picture candidate)
	 * this moves srcset's value to memory for later use and removes the attr
	 */
	pf.dodgeSrcset = function( img ) {
		if ( img.srcset ) {
			img[ pf.ns ].srcset = img.srcset;
			img.removeAttribute( "srcset" );
		}
	};

	/*
	 * Accept a source or img element and process its srcset and sizes attrs
	 */
	pf.processSourceSet = function( el ) {
		var srcset = el.getAttribute( "srcset" ),
			sizes = el.getAttribute( "sizes" ),
			candidates = [];

		// if it's an img element, use the cached srcset property (defined or not)
		if ( el.nodeName.toUpperCase() === "IMG" && el[ pf.ns ] && el[ pf.ns ].srcset ) {
			srcset = el[ pf.ns ].srcset;
		}

		if ( srcset ) {
			candidates = pf.getCandidatesFromSourceSet( srcset, sizes );
		}
		return candidates;
	};

	pf.applyBestCandidate = function( candidates, picImg ) {
		var candidate,
			length,
			bestCandidate;

		candidates.sort( pf.ascendingSort );

		length = candidates.length;
		bestCandidate = candidates[ length - 1 ];

		for ( var i = 0; i < length; i++ ) {
			candidate = candidates[ i ];
			if ( candidate.resolution >= pf.getDpr() ) {
				bestCandidate = candidate;
				break;
			}
		}

		if ( bestCandidate && !pf.endsWith( picImg.src, bestCandidate.url ) ) {
			picImg.src = bestCandidate.url;
			// currentSrc attribute and property to match
			// http://picture.responsiveimages.org/#the-img-element
			picImg.currentSrc = picImg.src;
		}
	};

	pf.ascendingSort = function( a, b ) {
		return a.resolution - b.resolution;
	};

	/*
	 * In IE9, <source> elements get removed if they aren't children of
	 * video elements. Thus, we conditionally wrap source elements
	 * using <!--[if IE 9]><video style="display: none;"><![endif]-->
	 * and must account for that here by moving those source elements
	 * back into the picture element.
	 */
	pf.removeVideoShim = function( picture ) {
		var videos = picture.getElementsByTagName( "video" );
		if ( videos.length ) {
			var video = videos[ 0 ],
				vsources = video.getElementsByTagName( "source" );
			while ( vsources.length ) {
				picture.insertBefore( vsources[ 0 ], video );
			}
			// Remove the video element once we're finished removing its children
			video.parentNode.removeChild( video );
		}
	};

	/*
	 * Find all `img` elements, and add them to the candidate list if they have
	 * a `picture` parent, a `sizes` attribute in basic `srcset` supporting browsers,
	 * a `srcset` attribute at all, and they haven’t been evaluated already.
	 */
	pf.getAllElements = function() {
		var elems = [],
			imgs = doc.getElementsByTagName( "img" );

		for ( var h = 0, len = imgs.length; h < len; h++ ) {
			var currImg = imgs[ h ];

			if ( currImg.parentNode.nodeName.toUpperCase() === "PICTURE" ||
				( currImg.getAttribute( "srcset" ) !== null ) || currImg[ pf.ns ] && currImg[ pf.ns ].srcset !== null ) {
					elems.push( currImg );
			}
		}
		return elems;
	};

	pf.getMatch = function( img, picture ) {
		var sources = picture.childNodes,
			match;

		// Go through each child, and if they have media queries, evaluate them
		for ( var j = 0, slen = sources.length; j < slen; j++ ) {
			var source = sources[ j ];

			// ignore non-element nodes
			if ( source.nodeType !== 1 ) {
				continue;
			}

			// Hitting the `img` element that started everything stops the search for `sources`.
			// If no previous `source` matches, the `img` itself is evaluated later.
			if ( source === img ) {
				return match;
			}

			// ignore non-`source` nodes
			if ( source.nodeName.toUpperCase() !== "SOURCE" ) {
				continue;
			}
			// if it's a source element that has the `src` property set, throw a warning in the console
			if ( source.getAttribute( "src" ) !== null && typeof console !== undefined ){
				console.warn("The `src` attribute is invalid on `picture` `source` element; instead, use `srcset`.");
			}

			var media = source.getAttribute( "media" );

			// if source does not have a srcset attribute, skip
			if ( !source.getAttribute( "srcset" ) ) {
				continue;
			}

			// if there's no media specified, OR w.matchMedia is supported
			if ( ( !media || pf.matchesMedia( media ) ) ) {
				var typeSupported = pf.verifyTypeSupport( source );

				if ( typeSupported === true ) {
					match = source;
					break;
				} else if ( typeSupported === "pending" ) {
					return false;
				}
			}
		}

		return match;
	};

	function picturefill( opt ) {
		var elements,
			element,
			parent,
			firstMatch,
			candidates,

		options = opt || {};
		elements = options.elements || pf.getAllElements();

		// Loop through all elements
		for ( var i = 0, plen = elements.length; i < plen; i++ ) {
			element = elements[ i ];
			parent = element.parentNode;
			firstMatch = undefined;
			candidates = undefined;

			// expando for caching data on the img
			if ( !element[ pf.ns ] ) {
				element[ pf.ns ] = {};
			}

			// if the element has already been evaluated, skip it
			// unless `options.force` is set to true ( this, for example,
			// is set to true when running `picturefill` on `resize` ).
			if ( !options.reevaluate && element[ pf.ns ].evaluated ) {
				continue;
			}

			// if `img` is in a `picture` element
			if ( parent.nodeName.toUpperCase() === "PICTURE" ) {

				// IE9 video workaround
				pf.removeVideoShim( parent );

				// return the first match which might undefined
				// returns false if there is a pending source
				// TODO the return type here is brutal, cleanup
				firstMatch = pf.getMatch( element, parent );

				// if any sources are pending in this picture due to async type test(s)
				// remove the evaluated attr and skip for now ( the pending test will
				// rerun picturefill on this element when complete)
				if ( firstMatch === false ) {
					continue;
				}
			} else {
				firstMatch = undefined;
			}

			// Cache and remove `srcset` if present and we’re going to be doing `picture`/`srcset`/`sizes` polyfilling to it.
			if ( parent.nodeName.toUpperCase() === "PICTURE" ||
			( element.srcset && !pf.srcsetSupported ) ||
			( !pf.sizesSupported && ( element.srcset && element.srcset.indexOf("w") > -1 ) ) ) {
				pf.dodgeSrcset( element );
			}

			if ( firstMatch ) {
				candidates = pf.processSourceSet( firstMatch );
				pf.applyBestCandidate( candidates, element );
			} else {
				// No sources matched, so we’re down to processing the inner `img` as a source.
				candidates = pf.processSourceSet( element );

				if ( element.srcset === undefined || element[ pf.ns ].srcset ) {
					// Either `srcset` is completely unsupported, or we need to polyfill `sizes` functionality.
					pf.applyBestCandidate( candidates, element );
				} // Else, resolution-only `srcset` is supported natively.
			}

			// set evaluated to true to avoid unnecessary reparsing
			element[ pf.ns ].evaluated = true;
		}
	}

	/**
	 * Sets up picture polyfill by polling the document and running
	 * the polyfill every 250ms until the document is ready.
	 * Also attaches picturefill on resize
	 */
	function runPicturefill() {
		picturefill();
		var intervalId = setInterval( function() {
			// When the document has finished loading, stop checking for new images
			// https://github.com/ded/domready/blob/master/ready.js#L15
			picturefill();
			if ( /^loaded|^i|^c/.test( doc.readyState ) ) {
				clearInterval( intervalId );
				return;
			}
		}, 250 );
		if ( w.addEventListener ) {
			var resizeThrottle;
			w.addEventListener( "resize", function() {
				if (!w._picturefillWorking) {
					w._picturefillWorking = true;
					w.clearTimeout( resizeThrottle );
					resizeThrottle = w.setTimeout( function() {
						picturefill({ reevaluate: true });
						w._picturefillWorking = false;
					}, 60 );
				}
			}, false );
		}
	}

	runPicturefill();

	/* expose methods for testing */
	picturefill._ = pf;

	/* expose picturefill */
	if ( typeof module === "object" && typeof module.exports === "object" ) {
		// CommonJS, just export
		module.exports = picturefill;
	} else if ( typeof define === "function" && define.amd ){
		// AMD support
		define( function() { return picturefill; } );
	} else if ( typeof w === "object" ) {
		// If no AMD and we are in the browser, attach to window
		w.picturefill = picturefill;
	}

} )( this, this.document );
;
if (typeof Drupal !== 'undefined' && typeof jQuery !== 'undefined') {
  // only load if Drupal and jQuery are defined.
  (function ($) {
    Drupal.behaviors.picture = {
      attach: function (context) {
        // Ensure we always pass a raw DOM element to picture fill, otherwise it
        // will fallback to the document scope and maybe handle to much.
        window.picturefill($(context));
        // If this is an opened colorbox ensure the content dimensions are set
        // properly. colorbox.js of the colorbox modules sets #cboxLoadedContent
        // as context.
        if (context === '#cboxLoadedContent' && $(context).find('picture').length) {
          // Try to resize right away.
          $.colorbox.resize();
          // Make sure the colorbox resizes always when the image is changed.
          $('img', context).once('colorbox-lazy-load', function(){
            $(this).load(function(){
              // Ensure there's no max-width / max-height otherwise we won't get
              // the proper values. We could use naturalWeight / naturalHeight
              // but that's not supported by <IE9 and Opera.
              this.style.maxHeight = $(window).height() + 'px';
              this.style.maxWidth = $(window).width() + 'px';
              $.colorbox.resize({innerHeight: this.height, innerWidth: this.width});
              // Remove overwrite of this values again to ensure we respect the
              // stylesheet.
              this.style.maxHeight = null;
              this.style.maxWidth = null;
            });
          });
        }
      }
    };
  })(jQuery);
}
;
/**
 * hoverIntent is similar to jQuery's built-in "hover" function except that
 * instead of firing the onMouseOver event immediately, hoverIntent checks
 * to see if the user's mouse has slowed down (beneath the sensitivity
 * threshold) before firing the onMouseOver event.
 *
 * hoverIntent r6 // 2011.02.26 // jQuery 1.5.1+
 * <http://cherne.net/brian/resources/jquery.hoverIntent.html>
 *
 * hoverIntent is currently available for use in all personal or commercial
 * projects under both MIT and GPL licenses. This means that you can choose
 * the license that best suits your project, and use it accordingly.
 *
 * // basic usage (just like .hover) receives onMouseOver and onMouseOut functions
 * $("ul li").hoverIntent( showNav , hideNav );
 *
 * // advanced usage receives configuration object only
 * $("ul li").hoverIntent({
*	sensitivity: 7, // number = sensitivity threshold (must be 1 or higher)
*	interval: 100,   // number = milliseconds of polling interval
*	over: showNav,  // function = onMouseOver callback (required)
*	timeout: 0,   // number = milliseconds delay before onMouseOut function call
*	out: hideNav    // function = onMouseOut callback (required)
* });
 *
 * @param  f  onMouseOver function || An object with configuration options
 * @param  g  onMouseOut function  || Nothing (use configuration options object)
 * @author    Brian Cherne <brian(at)cherne(dot)net>
 */
(function($) {
  $.fn.hoverIntent = function(f,g) {
    // default configuration options
    var cfg = {
      sensitivity: 7,
      interval: 100,
      timeout: 0
    };
    // override configuration options with user supplied object
    cfg = $.extend(cfg, g ? { over: f, out: g } : f );

    // instantiate variables
    // cX, cY = current X and Y position of mouse, updated by mousemove event
    // pX, pY = previous X and Y position of mouse, set by mouseover and polling interval
    var cX, cY, pX, pY;

    // A private function for getting mouse position
    var track = function(ev) {
      cX = ev.pageX;
      cY = ev.pageY;
    };

    // A private function for comparing current and previous mouse position
    var compare = function(ev,ob) {
      ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);
      // compare mouse positions to see if they've crossed the threshold
      if ( ( Math.abs(pX-cX) + Math.abs(pY-cY) ) < cfg.sensitivity ) {
        $(ob).unbind("mousemove",track);
        // set hoverIntent state to true (so mouseOut can be called)
        ob.hoverIntent_s = 1;
        return cfg.over.apply(ob,[ev]);
      } else {
        // set previous coordinates for next time
        pX = cX; pY = cY;
        // use self-calling timeout, guarantees intervals are spaced out properly (avoids JavaScript timer bugs)
        ob.hoverIntent_t = setTimeout( function(){compare(ev, ob);} , cfg.interval );
      }
    };

    // A private function for delaying the mouseOut function
    var delay = function(ev,ob) {
      ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);
      ob.hoverIntent_s = 0;
      return cfg.out.apply(ob,[ev]);
    };

    // A private function for handling mouse 'hovering'
    var handleHover = function(e) {
      // copy objects to be passed into t (required for event object to be passed in IE)
      var ev = jQuery.extend({},e);
      var ob = this;

      // cancel hoverIntent timer if it exists
      if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); }

      // if e.type == "mouseenter"
      if (e.type == "mouseenter") {
        // set "previous" X and Y position based on initial entry point
        pX = ev.pageX; pY = ev.pageY;
        // update "current" X and Y position based on mousemove
        $(ob).bind("mousemove",track);
        // start polling interval (self-calling timeout) to compare mouse coordinates over time
        if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout( function(){compare(ev,ob);} , cfg.interval );}

        // else e.type == "mouseleave"
      } else {
        // unbind expensive mousemove event
        $(ob).unbind("mousemove",track);
        // if hoverIntent state is true, then call the mouseOut function after the specified delay
        if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout( function(){delay(ev,ob);} , cfg.timeout );}
      }
    };

    // bind the function to the two event listeners
    return this.bind('mouseenter',handleHover).bind('mouseleave',handleHover);
  };
})(jQuery);
;
/*!
  Tinycon - A small library for manipulating the Favicon
  Tom Moor, http://tommoor.com
  Copyright (c) 2012 Tom Moor
  MIT Licensed
  @version 0.5
*/
(function(){var Tinycon={};var currentFavicon=null;var originalFavicon=null;var originalTitle=document.title;var faviconImage=null;var canvas=null;var options={};var defaults={width:7,height:9,font:'10px arial',colour:'#ffffff',background:'#F03D25',fallback:true,abbreviate:true};var ua=(function(){var agent=navigator.userAgent.toLowerCase();return function(browser){return agent.indexOf(browser)!==-1}}());var browser={ie:ua('msie'),chrome:ua('chrome'),webkit:ua('chrome')||ua('safari'),safari:ua('safari')&&!ua('chrome'),mozilla:ua('mozilla')&&!ua('chrome')&&!ua('safari')};var getFaviconTag=function(){var links=document.getElementsByTagName('link');for(var i=0,len=links.length;i<len;i++){if((links[i].getAttribute('rel')||'').match(/\bicon\b/)){return links[i]}}return false};var removeFaviconTag=function(){var links=document.getElementsByTagName('link');var head=document.getElementsByTagName('head')[0];for(var i=0,len=links.length;i<len;i++){var exists=(typeof(links[i])!=='undefined');if(exists&&(links[i].getAttribute('rel')||'').match(/\bicon\b/)){head.removeChild(links[i])}}};var getCurrentFavicon=function(){if(!originalFavicon||!currentFavicon){var tag=getFaviconTag();originalFavicon=currentFavicon=tag?tag.getAttribute('href'):'/favicon.ico'}return currentFavicon};var getCanvas=function(){if(!canvas){canvas=document.createElement("canvas");canvas.width=16;canvas.height=16}return canvas};var setFaviconTag=function(url){removeFaviconTag();var link=document.createElement('link');link.type='image/x-icon';link.rel='icon';link.href=url;document.getElementsByTagName('head')[0].appendChild(link)};var log=function(message){if(window.console)window.console.log(message)};var drawFavicon=function(label,colour){if(!getCanvas().getContext||browser.ie||browser.safari||options.fallback==='force'){return updateTitle(label)}var context=getCanvas().getContext("2d");var colour=colour||'#000000';var src=getCurrentFavicon();faviconImage=new Image();faviconImage.onload=function(){context.clearRect(0,0,16,16);context.drawImage(faviconImage,0,0,faviconImage.width,faviconImage.height,0,0,16,16);if((label+'').length>0)drawBubble(context,label,colour);refreshFavicon()};if(!src.match(/^data/)){faviconImage.crossOrigin='anonymous'}faviconImage.src=src};var updateTitle=function(label){if(options.fallback){if((label+'').length>0){document.title='('+label+') '+originalTitle}else{document.title=originalTitle}}};var drawBubble=function(context,label,colour){if(typeof label=='number'&&label>99&&options.abbreviate){label=abbreviateNumber(label)}var len=(label+'').length-1;var width=options.width+(6*len);var w=16-width;var h=16-options.height;context.font=(browser.webkit?'bold ':'')+options.font;context.fillStyle=options.background;context.strokeStyle=options.background;context.lineWidth=1;context.fillRect(w,h,width-1,options.height);context.beginPath();context.moveTo(w-0.5,h+1);context.lineTo(w-0.5,15);context.stroke();context.beginPath();context.moveTo(15.5,h+1);context.lineTo(15.5,15);context.stroke();context.beginPath();context.strokeStyle="rgba(0,0,0,0.3)";context.moveTo(w,16);context.lineTo(15,16);context.stroke();context.fillStyle=options.colour;context.textAlign="right";context.textBaseline="top";context.fillText(label,15,browser.mozilla?7:6)};var refreshFavicon=function(){if(!getCanvas().getContext)return;setFaviconTag(getCanvas().toDataURL())};var abbreviateNumber=function(label){var metricPrefixes=[['G',1000000000],['M',1000000],['k',1000]];for(var i=0;i<metricPrefixes.length;++i){if(label>=metricPrefixes[i][1]){label=round(label/metricPrefixes[i][1])+metricPrefixes[i][0];break}}return label};var round=function(value,precision){var number=new Number(value);return number.toFixed(precision)};Tinycon.setOptions=function(custom){options={};for(var key in defaults){options[key]=custom.hasOwnProperty(key)?custom[key]:defaults[key]}return this};Tinycon.setImage=function(url){currentFavicon=url;refreshFavicon();return this};Tinycon.setBubble=function(label,colour){label=label||'';drawFavicon(label,colour);return this};Tinycon.reset=function(){setFaviconTag(originalFavicon)};Tinycon.setOptions(defaults);window.Tinycon=Tinycon})();
;
(function ($) {

  Drupal.behaviors.environment_indicatorToolbar = {
    attach: function (context, settings) {
      if (typeof(settings.environment_indicator) != 'undefined' && typeof(settings.environment_indicator['toolbar-color']) != 'undefined') {
        var environment_name = settings.environment_indicator['environment-indicator-name'],
          environment_color = settings.environment_indicator['toolbar-color'],
          environment_text_color = settings.environment_indicator['toolbar-text-color'],
          $name = $('<div>').addClass('environment-indicator-name-wrapper').html(environment_name),
          $toolbar = $('#toolbar, #navbar-bar', context);
        $('div.toolbar-menu', $toolbar).once('environment_indicator').prepend($name);
        $('div.toolbar-menu', $toolbar).css('background-color', environment_color);
        $('div.toolbar-menu .item-list', $toolbar).css('background-color', changeColor(environment_color, 0.15, true));
        $('div.toolbar-menu ul li:not(.environment-switcher) a', $toolbar).css('background-color', environment_color).css('color', environment_text_color);
        $('div.toolbar-drawer', $toolbar).css('background-color', changeColor(environment_color, 0.25)).find('ul li a').css('color', changeColor(environment_text_color, 0.25));
        $('div.toolbar-menu ul li a', $toolbar).hover(function () {
          $(this).css('background-color', changeColor(environment_color, 0.1)).css('color', changeColor(environment_text_color, 0.1));
        }, function () {
          $(this).css('background-color', environment_color).css('color', environment_text_color);
          $('div.toolbar-menu ul li.active-trail a', $toolbar).css('background-color', changeColor(environment_color, 0.1)).css('color', changeColor(environment_text_color, 0.1));
        });
        $('div.toolbar-menu ul li.active-trail a', $toolbar).css('background-image', 'none').css('background-color', changeColor(environment_color, 0.1)).css('color', changeColor(environment_text_color, 0.1));
        $('div.toolbar-drawer ul li a', $toolbar).hover(function () {
          $(this).css('background-color', changeColor(environment_color, 0.1, true)).css('color', changeColor(environment_text_color, 0.1, true));
        }, function () {
          $(this).css('background-color', changeColor(environment_color, 0.25)).css('color', changeColor(environment_text_color, 0.25));
          $('div.toolbar-drawer ul li.active-trail a', $toolbar).css('background-color', changeColor(environment_color, 0.1, true)).css('color', changeColor(environment_text_color, 0.1, true));
        });
        $('div.toolbar-drawer ul li.active-trail a', $toolbar).css('background-image', 'none').css('background-color', changeColor(environment_color, 0.1, true)).css('color', changeColor(environment_text_color, 0.1, true));
        // Move switcher bar to the top
        var $switcher_container = $('.environment-switcher-container', $toolbar);
        var $switcher = $switcher_container.parent().clone();
        $switcher_container.parent().remove();
        $toolbar.prepend($switcher);
        // Add a margin if the Shortcut module toggle button is present.
        if ($('div.toolbar-menu a.toggle', $toolbar).length > 0) {
          $('div.toolbar-menu', $toolbar).css('padding-right', 40);
        }
      };
    }
  };

  Drupal.behaviors.environment_indicatorTinycon = {
    attach: function (context, settings) {
      if (typeof(settings.environment_indicator) != 'undefined' &&
          typeof(settings.environment_indicator.addFavicon) != 'undefined' &&
          settings.environment_indicator.addFavicon) {
        //Draw favicon label
        Tinycon.setBubble(settings.environment_indicator.faviconLabel);
        Tinycon.setOptions({
          background: settings.environment_indicator.faviconColor,
          colour: settings.environment_indicator.faviconTextColor
        });
      }
    }
  }

  Drupal.behaviors.environment_indicatorAdminMenu = {
    attach: function (context, settings) {
      if (typeof(Drupal.admin) != 'undefined' && typeof(settings.environment_indicator) != 'undefined' && typeof(settings.environment_indicator['toolbar-color']) != 'undefined') {
        // Add the restyling behavior to the admin menu behaviors.
        Drupal.admin.behaviors['environment_indicator'] = function (context, settings) {
          $('#admin-menu, #admin-menu-wrapper', context).css('background-color', settings.environment_indicator['toolbar-color']);
          $('#admin-menu, #admin-menu-wrapper > ul > li:not(.admin-menu-account) > a', context).css('color', settings.environment_indicator['toolbar-text-color']);
          $('#admin-menu .item-list', context).css('background-color', changeColor(settings.environment_indicator['toolbar-color'], 0.15, true));
          $('#admin-menu .item-list ul li:not(.environment-switcher) a', context).css('background-color', settings.environment_indicator['toolbar-color']).css('color', settings.environment_indicator['toolbar-text-color']);
        };
      };
    }
  };

  Drupal.behaviors.environment_indicatorNavbar = {
    attach: function (context, settings) {
      if (typeof(settings.navbar) != 'undefined' && typeof(settings.environment_indicator) != 'undefined' && typeof(settings.environment_indicator['toolbar-color']) != 'undefined') {
        $('#navbar-administration .navbar-bar', context).css('background-color', settings.environment_indicator['toolbar-color']);
        $('#navbar-administration .navbar-tab *:not(select)', context).css('color', settings.environment_indicator['toolbar-text-color']);
      }
    }
  };

  Drupal.behaviors.environment_indicatorSwitcher = {
    attach: function (context, settings) {
      // Check that the links actually point to the current path, if not, fix them
      $('.environment-switcher a', context).click(function (e) {
        e.preventDefault();
        var current_location = window.location;
        window.location.href = current_location.protocol + '//' + e.currentTarget.hostname + current_location.pathname + current_location.search + current_location.hash;
      });
      $('#environment-indicator .environment-indicator-name, #toolbar .environment-indicator-name-wrapper, #navbar-bar .environment-indicator-name-wrapper', context).click(function () {
        $('#environment-indicator .item-list, #toolbar .item-list, #navbar-bar .item-list', context).slideToggle('fast');
      });
      $('#environment-indicator.position-top.fixed-yes').once(function () {
        $('body').css('margin-top', $('#environment-indicator.position-top.fixed-yes').height() + 'px');
      });
      $('#environment-indicator.position-bottom.fixed-yes').once(function () {
        $('body').css('margin-bottom', $('#environment-indicator.position-bottom.fixed-yes').height() + 'px');
      });
    }
  }

  Drupal.behaviors.environment_indicator_admin = {
    attach: function(context, settings) {
      var $picker = $('#environment-indicator-color-picker');
      // Add the farbtastic tie-in
      if ($.isFunction($.farbtastic) && $picker.length > 0) {
        settings.environment_indicator_color_picker = $picker.farbtastic('#ctools-export-ui-edit-item-form #edit-color');
        settings.environment_indicator_text_color_picker = $('#environment-indicator-text-color-picker').farbtastic('#ctools-export-ui-edit-item-form #edit-text-color');
      }
    }
  }

})(jQuery);
;
var pad = function(num, totalChars) {
    var pad = '0';
    num = num + '';
    while (num.length < totalChars) {
        num = pad + num;
    }
    return num;
};

// Ratio is between 0 and 1
var changeColor = function(color, ratio, darker) {
    // Trim trailing/leading whitespace
    color = color.replace(/^\s*|\s*$/, '');

    // Expand three-digit hex
    color = color.replace(
        /^#?([a-f0-9])([a-f0-9])([a-f0-9])$/i,
        '#$1$1$2$2$3$3'
    );

    // Calculate ratio
    var difference = Math.round(ratio * 256) * (darker ? -1 : 1),
        // Determine if input is RGB(A)
        rgb = color.match(new RegExp('^rgba?\\(\\s*' +
            '(\\d|[1-9]\\d|1\\d{2}|2[0-4][0-9]|25[0-5])' +
            '\\s*,\\s*' +
            '(\\d|[1-9]\\d|1\\d{2}|2[0-4][0-9]|25[0-5])' +
            '\\s*,\\s*' +
            '(\\d|[1-9]\\d|1\\d{2}|2[0-4][0-9]|25[0-5])' +
            '(?:\\s*,\\s*' +
            '(0|1|0?\\.\\d+))?' +
            '\\s*\\)$'
        , 'i')),
        alpha = !!rgb && rgb[4] != null ? rgb[4] : null,

        // Convert hex to decimal
        decimal = !!rgb? [rgb[1], rgb[2], rgb[3]] : color.replace(
            /^#?([a-f0-9][a-f0-9])([a-f0-9][a-f0-9])([a-f0-9][a-f0-9])/i,
            function() {
                return parseInt(arguments[1], 16) + ',' +
                    parseInt(arguments[2], 16) + ',' +
                    parseInt(arguments[3], 16);
            }
        ).split(/,/),
        returnValue;

    // Return RGB(A)
    return !!rgb ?
        'rgb' + (alpha !== null ? 'a' : '') + '(' +
            Math[darker ? 'max' : 'min'](
                parseInt(decimal[0], 10) + difference, darker ? 0 : 255
            ) + ', ' +
            Math[darker ? 'max' : 'min'](
                parseInt(decimal[1], 10) + difference, darker ? 0 : 255
            ) + ', ' +
            Math[darker ? 'max' : 'min'](
                parseInt(decimal[2], 10) + difference, darker ? 0 : 255
            ) +
            (alpha !== null ? ', ' + alpha : '') +
            ')' :
        // Return hex
        [
            '#',
            pad(Math[darker ? 'max' : 'min'](
                parseInt(decimal[0], 10) + difference, darker ? 0 : 255
            ).toString(16), 2),
            pad(Math[darker ? 'max' : 'min'](
                parseInt(decimal[1], 10) + difference, darker ? 0 : 255
            ).toString(16), 2),
            pad(Math[darker ? 'max' : 'min'](
                parseInt(decimal[2], 10) + difference, darker ? 0 : 255
            ).toString(16), 2)
        ].join('');
};
var lighterColor = function(color, ratio) {
    return changeColor(color, ratio, false);
};
var darkerColor = function(color, ratio) {
    return changeColor(color, ratio, true);
};
;
(function($) {
  Drupal.behaviors.epa_wysiwyg = {
    attach : function(context, settings) {
      // Add custom css to the wysiwyg
      if ('undefined' != typeof CKEDITOR) {
        CKEDITOR.on('instanceReady', function(e) {
          $('head', $('#cke_' + e.editor.name + ' iframe').eq(0).contents()).append('<link rel="stylesheet" href="/sites/all/themes/epa/css/wysiwyg.css" type="text/css" >');
          $('#cke_' + e.editor.name + ' iframe').contents().find('html').attr('lang', settings.epa_wysiwyg.site_default_lang);
        });
      }
    }
  };
})(jQuery);
;


text:
(function ($) {
    Drupal.behaviors.epaSearchAutocomplete = {
        attach: function (context) {
            $( "#search-box", context ).autocomplete({
                minLength: 2,
                select: function(event, ui) {
                    $(this).val(ui.item.label);
                    $(this).closest('form').submit();
                },
                source: function( request, response ) {
                    jQuery.ajax({
                        url: "https://search.epa.gov/epasearch/autocomplete?output=json",
                        dataType: "jsonp",
                        data: {
                            q: request.term
                        },
                        success: function( data, textStatus, jqXHR) {
                            var items = data;
                            response(items);
                        }
                    });
                }
            });
            $( "#search-box", context).autocomplete('widget').addClass('epa-search-autocomplete');
        }
    };
})(jQuery);
;
/**
 * JavaScript for hover and click behavior on terms added via the Drupal Add Definitions module.
 * Hover over a term to show its definition and move the mouse off to hide the definition,
 * or click it to show its definition, which will remain visible until clicked again.
 */
(function($) {
  'use strict';

  Drupal.behaviors.addDefinitions = {
    attach: function(context, settings) {

      var hoverInDelay = 500;
      var hoverOutDelay = 350;
      var fadeDuration = 100;

      var maxZIndex = 100;

      $('span.termlookup-custom', context).each(function() {
        this.className = 'termlookup-js-custom';
        this.parentNode.className = 'termlookup-js-tooltip';
      });

      function desktopInit() {

        $('a.termlookup-js-tooltip').off(".mobile").on('mouseenter.desktop', function(){
          if (this.getAttribute('data-popup-lock') != 'true')
            fadeInPopup(this);
          })
          .on("mouseleave.desktop", function(){
            if (this.getAttribute('data-popup-lock') != 'true')
              hidePopup(this);
          })
          .on("click.desktop", function(){
            clickPopup(this);
          })
        ;
      }

      function mobileInit() {

        $('a.termlookup-js-tooltip').off('.desktop').on("click.mobile", function(e){
              e.preventDefault();
              showModal($(this));
          });

        $('body').on('click.mobile', '.definition-modal', function(){
            hideModal();
        });
      }

      var lockedClasses = "termlookup-js-tooltip-hover termlookup-js-tooltip-locked";
      var unlockedClasses = "termlookup-js-tooltip";

      //Determine if page is mobile width
      var isMobile = function() {
          return ($(window).width() < 800)? true : false;
      };

      //Create or destroy event handlers
      var setEventHandlers = function() {
        if(isMobile()) {
          mobileInit();
        }
        else {
          desktopInit();
          hideModal();
        }
      };

      var mobileCheck = debounce(function() {
          setEventHandlers();
        }, 250);

      window.addEventListener('resize', mobileCheck);

      //Set event handlers on page load
      setEventHandlers();

      function debounce(func, wait, immediate) {
        var timeout;
        return function() {
          var context = this,
            args = arguments;
          var later = function() {
            timeout = null;
            if (!immediate) func.apply(context, args);
          };
          var callNow = immediate && !timeout;
          clearTimeout(timeout);
          timeout = setTimeout(later, wait);
          if (callNow) func.apply(context, args);
        };
      }

      //Show modal
      function showModal(target) {
          //if modal element isnt there create it.
          if(!$('.definition-modal').length) {
            $('body').append($('
'))
              .append($('
'));
          }

          var content = target.find('.termlookup-js-custom').html(),
          modal = $('.definition-modal'),
          overlay = $('.modal-overlay');

          //Update modal content
          modal.html(content);

          //Display Modal
          modal.addClass('is-active');
          overlay.addClass('is-active');
      }

    function hideModal() {
      var modal = $('.definition-modal'),
      overlay = $('.modal-overlay');

      modal.removeClass('is-active');
      overlay.removeClass('is-active');

    }

      function clickPopup(target) {

        if (!$(target).find('span.termlookup-js-custom', context).is(':visible')) {
          showPopup(target);
        }

        if (target.getAttribute("data-popup-lock") != "true") {
          closeAllPopups();
          lockPopup(target);
        } else {
          unlockPopup(target);
          closeAllPopups();
        }
      }

      function lockPopup(target) {
        target.className = lockedClasses;
        target.setAttribute("data-popup-lock", "true");
        target.style.zIndex = ++maxZIndex;
      }

      // unlock and hide immediately
      function unlockPopup(target) {
        $(target).removeAttr("data-popup-lock");
        hidePopup(target);
      }

      // show popup, fading in
      function fadeInPopup(target) {

        var $dropdown = $(target).find('span.termlookup-js-custom', context);

        $dropdown.fadeOut(0, function() {
          showPopup(target);
        });
      }

      // show popup immediately
      function showPopup(target) {
        target.className = 'termlookup-js-tooltip-hover';
        target.style.zIndex = ++maxZIndex;
        $(target).find('span.termlookup-js-custom').fadeIn(fadeDuration);
      }

      // hide by fading out
      function hidePopup(target) {

        var $dropdown = $(target).find('span.termlookup-js-custom', context);

        $dropdown.fadeOut(fadeDuration, function() {
          target.className = "termlookup-js-tooltip";
        });
      }

      // close all visibible popups, to be used when locking a popup
      function closeAllPopups() {
        unlockPopup($('a.termlookup-js-tooltip-locked', context));
      }
    }
  }
})(jQuery);
;

repo_name: Chicago/climatechangeisreal

repo_language: HTML

mime_type: text/html


text:
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">

	<channel>
		<title>US EPA Climate and Energy Resources for State, Local and Tribal Governments</title>
		<link>https://www.epa.gov/statelocalclimate</link>
		<atom:link href="https://www.epa.gov/sites/production/files/2016-06/rss.xml" rel="self" type="application/rss+xml" />
		<description>This feed provides news and updates regarding EPA's Climate and Energy Resources for State, Local and Tribal Governments.</description>

<item>
      <title>January 18 – Additional Proven Program Profiles on Energy Efficiency and Renewable Energy in Low-Income Communities Now Available from EPA</title>
      <link>https://www.epa.gov/statelocalclimate/bringing-benefits-energy-efficiency-and-renewable-energy-low-income-communities?&utm_medium=rss</link>
      <description>
        <![CDATA[
EPA's State and Local Climate and Energy Program is developing a series of case studies and program profiles to help officials in state and local energy, environmental, housing, and social services agencies, non-profits, and utilities understand promising practices and successful models that they can use to reduce greenhouse gas (GHG) emissions by bringing energy efficiency and renewable energy (EE/RE) to low-income communities.

The profiles in this ongoing series highlight effective programs at the state and local levels that have led to the successful adoption of EE/RE in low-income communities. The profiles focus on how these programs have addressed, in a practical manner, the challenges to ensuring low-income households share in the multiple benefits of EE/RE.

The following program profiles have just been added:

Duke Energy: Neighborhood Energy Saver Program

Duluth Flood Recovery Program

Elevate Energy: Energy Efficiency Services for Affordable Multifamily Buildings

]]></description>
      <pubDate>Wed, 18 January 2017 13:00:00 GMT</pubDate>
</item>

<item>
      <title>January 17 – Updated State Greenhouse Gas Inventory Tool modules now available!</title>
      <link>https://www.epa.gov/statelocalclimate/download-state-inventory-and-projection-tool?&utm_medium=rss</link>
      <description>
        <![CDATA[
We are pleased to announce the release of new State Greenhouse Gas Inventory Tool modules! In this update, all modules were updated with activity data from 1990 through 2014, wherever possible. The Projection Tool and the accompanying Energy Consumption Projection Tool have also been updated with projections currently starting at 2015. The Projection tool allows users to create a simple forecast of all emissions through 2030, based on historical emissions from the 1990-2014 timeframe.

The updated modules are now available through the EPA website at: https://www.epa.gov/statelocalclimate/download-state-inventory-and-projection-tool
]]></description>
      <pubDate>Tue, 17 January 2017 13:00:00 GMT</pubDate>
</item>

<item>
      <title>June 6 – Webcast recordings available for "Solar for All: Making it Happen in Low-Income Communities" webcast.</title>
      <link>https://www.epa.gov/statelocalclimate/solar-all-making-it-happen-low-income-communities-0?&utm_medium=rss</link>
      <description>
        <![CDATA[
In April 2016, EPA hosted a webinar providing a nationwide overview of community solar (shared solar) and rooftop solar programs available to low-income households. This webinar featured case study discussions by solar energy policy experts to illustrate the opportunities, challenges, and benefits of providing low-income households access to solar energy.
]]></description>
      <pubDate>Mon, 6 June 2016 13:00:00 GMT</pubDate>
</item>

	</channel>
</rss>


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML+RDFa 1.1//EN">

  <meta charset="utf-8" />

<link rel="shortcut icon" href="/sites/all/themes/epa/favicon.ico" type="image/vnd.microsoft.icon" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width" />
<meta name="MobileOptimized" content="width" />
<meta http-equiv="ImageToolbar" content="false" />
<meta http-equiv="cleartype" content="on" />

<meta name="keywords" content="climate change; global warming; science; indicator; data; ocean; heat; warmer" />
<link rel="canonical" href="/climate-indicators/climate-change-indicators-ocean-heat" />
<link rel="shortlink" href="/climate-indicators/climate-change-indicators-ocean-heat" />

<meta name="WebArea" content="Climate Change Indicators" />
<meta name="WebAreaType" content="Microsite" />
<meta name="ContentType" content="page" />
  <title>Climate Change Indicators: Ocean Heat | Climate Change Indicators in the United States | US EPA</title>

  <link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_3h5HfPyG4w0xmgk_oaLP90_rUIs7Xmed0sNIfCxGAyg.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_NFNG4tEiKv-n_hlnQ4iBNlFbb-9XRaRVA9wRk6nUPHY.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_Pvo-DHIdW2Qn9LljtH2R1QKqzm8QoJ18zl6wR9Dk-Ak.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_28CvFue6tf4M8aL9zid2j2W58Z6HleySMQyNH35QhI0.css" media="all" />

<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_68w49Vk1SYPj8EPx2iW8fUagDJ4xc2WJQO7Dn7aLNaU.css" media="all" />
  <link rel="alternate" type="application/atom+xml" title="EPA.gov All Press Releases" href="/newsreleases/search/rss" />
  <link rel="alternate" type="application/atom+xml" title="EPA.gov Headquarters Press Releases" href="/newsreleases/search/rss/field_press_office/headquarters" />
  <link rel="alternate" type="application/atom+xml" title="Greenversations, EPA's Blog" href="https://blog.epa.gov/blog/feed/" />
  <link rel="alternate" type="application/atom+xml" title="Climate Change Indicators" href="/feed/125251/rss.xml" />

Jump to main content

  <hgroup class="site-name-and-slogan">

            US EPA

United States Environmental Protection Agency

  </hgroup>

Climate Change Indicators

Climate Change Indicators: Ocean Heat

This indicator describes trends in the amount of heat stored in the worldâ€™s oceans.

Figure 1. Ocean Heat Content, 1955â€“2015

Â  Â

Â

Â

This figure shows changes in ocean heat content between 1955 and 2015. Ocean heat content is measured in joules, a unit of energy, and compared against the 1971â€“2000 average, which is set at zero for reference. Choosing a different baseline period would not change the shape of the data over time. The lines were independently calculated using different methods by government agencies in three countries: the National Oceanic and Atmospheric Administration (NOAA), Australiaâ€™s Commonwealth Scientific and Industrial Research Organisation (CSIRO), and Japan Meteorological Agencyâ€™s Meteorological Research Institute (MRI/JMA). For reference, an increase of 1 unit on this graph (1 x 1022 joules) is equal to approximately 18 times the total amount of energy used by all the people on Earth in a year.4

Data sources: CSIRO, 20165; MRI/JMA, 20166; NOAA, 20167
Web update: AugustÂ 2016

Â

Figure 1. Ocean Heat Content, 1955â€“2015

Â

Â

			Key Points

Â

			Background

About the

			Indicator

Â

			Indicator Notes

Â

			Data Sources

Technical

			Documentation

Key Points

In three different data analyses, the long-term trend shows that the oceans have become warmer since 1955 (see Figure 1).

Although concentrations of greenhouse gases have risen at a relatively steady rate over the past few decades (see the Atmospheric Concentrations of Greenhouse Gases indicator), the rate of change in ocean heat content can vary from year to year (see Figure 1). Year-to-year changes are influenced by events such as volcanic eruptions and recurring ocean-atmosphere patterns such as El NiÃ±o.

Background

When sunlight reaches the Earthâ€™s surface, the worldâ€™s oceans absorb some of this energy and store it as heat. This heat is initially absorbed at the surface, but some of it eventually spreads to deeper waters. Currents also move this heat around the world. Water has a much higher heat capacity than air, meaning the oceans can absorb larger amounts of heat energy with only a slight increase in temperature.

The total amount of heat stored by the oceans is called â€œocean heat content,â€? and measurements of water temperature reflect the amount of heat in the water at a particular time and location. Ocean temperature plays an important role in the Earthâ€™s climate systemâ€”particularly sea surface temperature (see the Sea Surface Temperature indicator)â€”because heat from ocean surface waters provides energy for storms and thereby influences weather patterns.

Increasing greenhouse gas concentrations are trapping more energy from the sun. Because changes in ocean systems occur over centuries, the oceans have not yet warmed as much as the atmosphere, even though they have absorbed more than 90 percent of the Earthâ€™s extra heat since 1955.1,2Â If not for the large heat-storage capacity provided by the oceans, the atmosphere would warm more rapidly.3 Increased heat absorption also changes ocean currents because many currents are driven by differences in temperature, which cause differences in density. These currents influence climate patterns and sustain ecosystems that depend on certain temperature ranges.

Because water expands slightly as it gets warmer, an increase in ocean heat content will also increase the volume of water in the ocean, which is one cause of the observed increases in sea level (see the Sea Level indicator).

About the Indicator

This indicator shows trends in global ocean heat content from 1955 to 2015. These data are available for the top 700 meters of the ocean (nearly 2,300 feet), which accounts for just under 20 percent of the total volume of water in the worldâ€™s oceans. The indicator measures ocean heat content in joules, which are units of energy.

The National Oceanic and Atmospheric Administration has calculated changes in ocean heat content based on measurements of ocean temperatures around the world at different depths. These measurements come from a variety of instruments deployed from ships and airplanes and, more recently, underwater robots. Thus, the data must be carefully adjusted to account for differences among measurement techniques and data collection programs. Figure 1 shows three independent interpretations of essentially the same underlying data.

Indicator Notes

Data must be carefully reconstructed and filtered for biases because of different data collection techniques and uneven sampling over time and space. Various methods of correcting the data have led to slightly different versions of the ocean heat trend line. Scientists continue to compare their results and improve their estimates over time. They also test their ocean heat estimates by looking at corresponding changes in other properties of the ocean. For example, they can check to see whether observed changes in sea level match the amount of sea level rise that would be expected based on the estimated change in ocean heat.

Data Sources

Data for this indicator were collected by the National Oceanic and Atmospheric Administration and other organizations around the world. The data were analyzed independently by researchers at the National Oceanic and Atmospheric Administration, Australiaâ€™s Commonwealth Scientific and Industrial Research Organisation, and the Japan Meteorological Agencyâ€™s Meteorological Research Institute.

Technical Documentation

Download related technical information PDF

References

1. IPCC (Intergovernmental Panel on Climate Change). 2013. Climate change 2013: The physical science basis. Working Group I contribution to the IPCC Fifth Assessment Report. Cambridge, United Kingdom: Cambridge University Press. www.ipcc.ch/report/ar5/wg1.

2. Levitus, S., J.I. Antonov, T.P. Boyer, O.K. Baranova, H.E. Garcia, R.A. Locarnini, A.V. Mishonov, J.R. Reagan, D. Seidov, E.S. Yarosh, and M.M. Zweng. 2012. World ocean heat content and thermosteric sea level change (0â€“2000 m), 1955â€“2010. Geophys. Res. Lett. 39:L10603.

3. Levitus, S., J.I. Antonov, T.P. Boyer, O.K. Baranova, H.E. Garcia, R.A. Locarnini, A.V. Mishonov, J.R. Reagan, D. Seidov, E.S. Yarosh, and M.M. Zweng. 2012. World ocean heat content and thermosteric sea level change (0â€“2000 m), 1955â€“2010. Geophys. Res. Lett. 39:L10603.

4. Based on a total global energy supply of 13,541 million tons of oil equivalents in the year 2013, which equates to 5.7 x 1020 joules. Source: IEA (International Energy Agency). 2015. Key world energy statistics. www.iea.org/publications/freepublications/publication/KeyWorld_Statistics_2015.pdf.

5. CSIRO (Commonwealth Scientific and Industrial Research Organisation). 2016 update to data originally published in: Domingues, C.M., J.A. Church, N.J. White, P.J. Gleckler, S.E. Wijffels, P.M. Barker, and J.R. Dunn. 2008. Improved estimates of upper-ocean warming and multi-decadal sea-level rise. Nature 453:1090â€“1094. www.cmar.csiro.au/sealevel/thermal_expansion_ocean_heat_timeseries.html.

6. MRI/JMA (Meteorological Research Institute/Japan Meteorological Agency). 2016 update to data originally published in: Ishii, M., and M. Kimoto. 2009. Reevaluation of historical ocean heat content variations with time-varying XBT and MBT depth bias corrections. J. Oceanogr. 65:287â€“299.

7. NOAA (National Oceanic and Atmospheric Administration). 2016. Global ocean heat and salt content. Accessed May 2016. www.nodc.noaa.gov/OC5/3M_HEAT_CONTENT.

Printer-friendly PDF of all text and figures

Learn about other indicators in this section

Â Â Â Â Â

Contact Us to ask a question, provide feedback, or report a problem.

Climate Indicators

Climate Change Indicators

Greenhouse Gases

Weather and Climate

Oceans

Ocean Heat

Sea Surface Temperature

Sea Level

A Closer Look: Land Loss Along the Atlantic Coast

Coastal Flooding

Ocean Acidity

Snow and Ice

Health and Society

Ecosystems

Frequent Questions


text: Originally posted on the EPA website, was removed on April 29th.


text:
Main menu

					Climate Change Home


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML+RDFa 1.1//EN">

  <meta charset="utf-8" />

<link rel="shortcut icon" href="/sites/all/themes/epa/favicon.ico" type="image/vnd.microsoft.icon" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width" />
<meta name="MobileOptimized" content="width" />
<meta http-equiv="ImageToolbar" content="false" />
<meta http-equiv="cleartype" content="on" />

<meta name="keywords" content="Science Publications, climate change research, publications, journal articles, reports" />
<link rel="canonical" href="/climate-research/science-inventory-products-about-climate-change-research" />
<link rel="shortlink" href="/climate-research/science-inventory-products-about-climate-change-research" />

<meta name="WebArea" content="Climate Change Research" />
<meta name="WebAreaType" content="Resource Directory" />
<meta name="ContentType" content="page" />
  <title>Science Inventory Products about Climate Change Research | Climate Change Research | US EPA</title>

  <link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_3h5HfPyG4w0xmgk_oaLP90_rUIs7Xmed0sNIfCxGAyg.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_NFNG4tEiKv-n_hlnQ4iBNlFbb-9XRaRVA9wRk6nUPHY.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_Pvo-DHIdW2Qn9LljtH2R1QKqzm8QoJ18zl6wR9Dk-Ak.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_28CvFue6tf4M8aL9zid2j2W58Z6HleySMQyNH35QhI0.css" media="all" />

<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_68w49Vk1SYPj8EPx2iW8fUagDJ4xc2WJQO7Dn7aLNaU.css" media="all" />
  <link rel="alternate" type="application/atom+xml" title="EPA.gov All Press Releases" href="/newsreleases/search/rss" />
  <link rel="alternate" type="application/atom+xml" title="EPA.gov Headquarters Press Releases" href="/newsreleases/search/rss/field_press_office/headquarters" />
  <link rel="alternate" type="application/atom+xml" title="Greenversations, EPA's Blog" href="https://blog.epa.gov/blog/feed/" />
  <link rel="alternate" type="application/atom+xml" title="Climate Change Research" href="/feed/51247/rss.xml" />

Jump to main content

  <hgroup class="site-name-and-slogan">

            US EPA

United States Environmental Protection Agency

  </hgroup>

        Related Topics:

          Climate Change Research

Science Inventory Products about Climate Change Research

For the entire list of Science Inventory, including journal articles, reports, abstracts and presentations with advance search options, See: Science Inventory.

A list of journal articles and reports is organized by the following search terms:

Adaptation

Journal articles about Adaptation

Reports about Adaptation

Air Quality

Journal articles about Air Quality

Reports about Air Quality

Ecosystem

Journal articles about Ecosystem

Reports about Ecosystem

Energy

Journal articles about Energy

Reports about Energy

Human Health

Journal articles about Human Health

Reports about Human Health

Mitigation

Journal articles about Mitigation

Reports about Mitigation

Modeling

Journal articles about Modeling

Reports about Modeling

Nitrogen

Journal articles about Nitrogen

Reports about Nitrogen

Scenario

Journal articles about Scenario

Reports about Scenario

Water Quality

Journal articles about Water Quality

Reports about Water Quality

Contact Us to ask a question, provide feedback, or report a problem.


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML+RDFa 1.1//EN">

  <meta charset="utf-8" />

<link rel="shortcut icon" href="/sites/all/themes/epa/favicon.ico" type="image/vnd.microsoft.icon" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width" />
<meta name="MobileOptimized" content="width" />
<meta http-equiv="ImageToolbar" content="false" />
<meta http-equiv="cleartype" content="on" />

<meta name="keywords" content="climate change, air quality, energy, ecosystems, human health, Water, research" />
<link rel="canonical" href="/climate-research/research-areas-climate-change-impacts-adaptation-and-mitigation" />
<link rel="shortlink" href="/climate-research/research-areas-climate-change-impacts-adaptation-and-mitigation" />

<meta name="WebArea" content="Climate Change Research" />
<meta name="WebAreaType" content="Resource Directory" />
<meta name="ContentType" content="page" />
  <title>Research Areas for Climate Change Impacts, Adaptation and Mitigation | Climate Change Research | US EPA</title>

  <link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_3h5HfPyG4w0xmgk_oaLP90_rUIs7Xmed0sNIfCxGAyg.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_NFNG4tEiKv-n_hlnQ4iBNlFbb-9XRaRVA9wRk6nUPHY.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_Pvo-DHIdW2Qn9LljtH2R1QKqzm8QoJ18zl6wR9Dk-Ak.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_28CvFue6tf4M8aL9zid2j2W58Z6HleySMQyNH35QhI0.css" media="all" />

<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_68w49Vk1SYPj8EPx2iW8fUagDJ4xc2WJQO7Dn7aLNaU.css" media="all" />
  <link rel="alternate" type="application/atom+xml" title="EPA.gov All Press Releases" href="/newsreleases/search/rss" />
  <link rel="alternate" type="application/atom+xml" title="EPA.gov Headquarters Press Releases" href="/newsreleases/search/rss/field_press_office/headquarters" />
  <link rel="alternate" type="application/atom+xml" title="Greenversations, EPA's Blog" href="https://blog.epa.gov/blog/feed/" />
  <link rel="alternate" type="application/atom+xml" title="Climate Change Research" href="/feed/51247/rss.xml" />

Jump to main content

  <hgroup class="site-name-and-slogan">

            US EPA

United States Environmental Protection Agency

  </hgroup>

        Related Topics:

          Climate Change Research

Research Areas for Climate Change Impacts, Adaptation and Mitigation

Air quality and climate change research

Ecosystems and climate change research

Energy and climate change research

Human health and climate research

Water and climate change research

Contact Us to ask a question, provide feedback, or report a problem.


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML+RDFa 1.1//EN">

  <meta charset="utf-8" />

<link rel="shortcut icon" href="/sites/all/themes/epa/favicon.ico" type="image/vnd.microsoft.icon" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width" />
<meta name="MobileOptimized" content="width" />
<meta http-equiv="ImageToolbar" content="false" />
<meta http-equiv="cleartype" content="on" />

<meta name="keywords" content="Energy Production, energy use, life cycle analysis, GLIMPSE, MARKAL, GHG, global warming, Greenhouse Gas, biofuels, carbon dioxide" />
<link rel="canonical" href="/climate-research/energy-and-climate-change-research" />
<link rel="shortlink" href="/climate-research/energy-and-climate-change-research" />

<meta name="WebArea" content="Climate Change Research" />
<meta name="WebAreaType" content="Resource Directory" />
<meta name="ContentType" content="page" />
  <title>Energy and Climate Change Research | Climate Change Research | US EPA</title>

  <link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_3h5HfPyG4w0xmgk_oaLP90_rUIs7Xmed0sNIfCxGAyg.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_NFNG4tEiKv-n_hlnQ4iBNlFbb-9XRaRVA9wRk6nUPHY.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_Pvo-DHIdW2Qn9LljtH2R1QKqzm8QoJ18zl6wR9Dk-Ak.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_28CvFue6tf4M8aL9zid2j2W58Z6HleySMQyNH35QhI0.css" media="all" />

<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_68w49Vk1SYPj8EPx2iW8fUagDJ4xc2WJQO7Dn7aLNaU.css" media="all" />
  <link rel="alternate" type="application/atom+xml" title="EPA.gov All Press Releases" href="/newsreleases/search/rss" />
  <link rel="alternate" type="application/atom+xml" title="EPA.gov Headquarters Press Releases" href="/newsreleases/search/rss/field_press_office/headquarters" />
  <link rel="alternate" type="application/atom+xml" title="Greenversations, EPA's Blog" href="https://blog.epa.gov/blog/feed/" />
  <link rel="alternate" type="application/atom+xml" title="Climate Change Research" href="/feed/51247/rss.xml" />

Jump to main content

  <hgroup class="site-name-and-slogan">

            US EPA

United States Environmental Protection Agency

  </hgroup>

        Related Topics:

          Climate Change Research

Energy and Climate Change Research

Researchers are improving our understanding of how changes in the production and use of energy can impact, and can be impacted by, climate change.

The ways that energy is produced and used are changing, with:

increased use of biofuels,

growing numbers of vehicles that use electricity, and

more electricity generation from wind and solar plants.

Understanding how greenhouse gas emissions and other environmental impacts are affected by these changes requires an understanding of the full life cycle of energy production and use. For example, tailpipe emissions are reduced when using an electric vehicle rather than a conventional gasoline-fueled vehicle, but more electricity is generated, which increases power plant emissions.

Related Resources

Air and Energy Production Research

Climate Impacts on Energy

Water and Energy Research

GLIMPSE Model - a tool to find US policy scenarios that simultaneously improve air quality, human health, reduce impacts to ecosystems, and mitigate climate change. It is designed to be fast -- to allow decision-makers to explore a range of options, as well as comprehensive -- to avoid unintended consequences.

MARKAL Technology Database and Model - a data-driven, energy system optimization model. Given the structure of the energy system to be modeled and data to characterize each of the technologies and resources used, MARKAL then calculates the least costly set of technologies over time to satisfy the specified demands, subject to various user-defined constraints. Outputs of the model include a determination of the technological mix at intervals into the future, estimates of total system cost, energy demand (by type and quantity), estimates of criteria and GHG emissions, and estimates of energy commodity prices.

Publications

Energy Publications for Climate Change Research

Journal articles about Energy

Reports about Energy

Contact Us to ask a question, provide feedback, or report a problem.


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML+RDFa 1.1//EN">

  <meta charset="utf-8" />

<link rel="shortcut icon" href="/sites/all/themes/epa/favicon.ico" type="image/vnd.microsoft.icon" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width" />
<meta name="MobileOptimized" content="width" />
<meta http-equiv="ImageToolbar" content="false" />
<meta http-equiv="cleartype" content="on" />

<meta name="keywords" content="climate change, sea level rise, ecosystem, Global Change, nitrogen, water quality, climate, Watersheds, habitats, impacts of climate change on the environment" />
<link rel="canonical" href="/climate-research/ecosystems-and-climate-change-research" />
<link rel="shortlink" href="/climate-research/ecosystems-and-climate-change-research" />

<meta name="WebArea" content="Climate Change Research" />
<meta name="WebAreaType" content="Resource Directory" />
<meta name="ContentType" content="page" />
  <title>Ecosystems and Climate Change Research | Climate Change Research | US EPA</title>

  <link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_3h5HfPyG4w0xmgk_oaLP90_rUIs7Xmed0sNIfCxGAyg.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_NFNG4tEiKv-n_hlnQ4iBNlFbb-9XRaRVA9wRk6nUPHY.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_Pvo-DHIdW2Qn9LljtH2R1QKqzm8QoJ18zl6wR9Dk-Ak.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_28CvFue6tf4M8aL9zid2j2W58Z6HleySMQyNH35QhI0.css" media="all" />

<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_68w49Vk1SYPj8EPx2iW8fUagDJ4xc2WJQO7Dn7aLNaU.css" media="all" />
  <link rel="alternate" type="application/atom+xml" title="EPA.gov All Press Releases" href="/newsreleases/search/rss" />
  <link rel="alternate" type="application/atom+xml" title="EPA.gov Headquarters Press Releases" href="/newsreleases/search/rss/field_press_office/headquarters" />
  <link rel="alternate" type="application/atom+xml" title="Greenversations, EPA's Blog" href="https://blog.epa.gov/blog/feed/" />
  <link rel="alternate" type="application/atom+xml" title="Climate Change Research" href="/feed/51247/rss.xml" />

Jump to main content

  <hgroup class="site-name-and-slogan">

            US EPA

United States Environmental Protection Agency

  </hgroup>

        Related Topics:

          Climate Change Research

          Ecosystems Research

Ecosystems and Climate Change Research

Climate change is threatening plants, animals and their habitats. Research reveals that temperature changes and other shifts in climate are impacting plant growth stages, affecting migration patterns, threatening species survival and affecting water quality, among other factors.

Researchers are studying the impacts of climate change on the environment. The research is focused on providing innovative ways to adapt and mitigate or reduce the impacts of climate change that is happening now and will continue into the future.

The scientific information and tools are helping states and communities to develop strategies to protect our vulnerable ecosystems from the impacts of climate change.

Researchers are working to:

Assess the likelihood and effects of extreme events on ecosystems.

Develop ways to asses risk to near-coastal species and habitats.

Develop ways to predict vulnerability of wetlands and water quality to the interactions between climate change and watershed alterations.

Develop models and maps to assess the effects of climate change on water availability at basin and regional scales.

Improve models to predict the direct and indirect impacts of sea level rise on coastal wetlands.

Related Resources

National Climate Assessment

Publications

Adaptation Publications for Climate Change Research

Journal articles about Adaptation

Reports about Adaptation

Ecosystem Publications for Climate Change Research

Journal articles about Ecosystem

Reports about Ecosystem

Nitrogen Publications for Climate Change Research

Journal articles about Nitrogen

Reports about Nitrogen

Scenario Publications for Climate Change Research

Journal articles about Scenario

Reports about Scenario

Water Quality Publications for Climate Change Research

Journal articles about Water Quality

Reports about Water Quality

Contact Us to ask a question, provide feedback, or report a problem.


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML+RDFa 1.1//EN">

  <meta charset="utf-8" />

<link rel="shortcut icon" href="/sites/all/themes/epa/favicon.ico" type="image/vnd.microsoft.icon" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width" />
<meta name="MobileOptimized" content="width" />
<meta http-equiv="ImageToolbar" content="false" />
<meta http-equiv="cleartype" content="on" />

<meta name="keywords" content="fact sheets, climate change, climate change and air quality" />
<link rel="canonical" href="/climate-research/climate-change-research-fact-sheets" />
<link rel="shortlink" href="/climate-research/climate-change-research-fact-sheets" />

<meta name="WebArea" content="Climate Change Research" />
<meta name="WebAreaType" content="Resource Directory" />
<meta name="ContentType" content="page" />
  <title>Climate Change Research Fact Sheets | Climate Change Research | US EPA</title>

  <link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_3h5HfPyG4w0xmgk_oaLP90_rUIs7Xmed0sNIfCxGAyg.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_NFNG4tEiKv-n_hlnQ4iBNlFbb-9XRaRVA9wRk6nUPHY.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_Pvo-DHIdW2Qn9LljtH2R1QKqzm8QoJ18zl6wR9Dk-Ak.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_28CvFue6tf4M8aL9zid2j2W58Z6HleySMQyNH35QhI0.css" media="all" />

<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_68w49Vk1SYPj8EPx2iW8fUagDJ4xc2WJQO7Dn7aLNaU.css" media="all" />
  <link rel="alternate" type="application/atom+xml" title="EPA.gov All Press Releases" href="/newsreleases/search/rss" />
  <link rel="alternate" type="application/atom+xml" title="EPA.gov Headquarters Press Releases" href="/newsreleases/search/rss/field_press_office/headquarters" />
  <link rel="alternate" type="application/atom+xml" title="Greenversations, EPA's Blog" href="https://blog.epa.gov/blog/feed/" />
  <link rel="alternate" type="application/atom+xml" title="Climate Change Research" href="/feed/51247/rss.xml" />

Jump to main content

  <hgroup class="site-name-and-slogan">

            US EPA

United States Environmental Protection Agency

  </hgroup>

        Related Topics:

          Climate Change Research

Climate Change Research Fact Sheets

Air, Climate, and Energy Research Overview Fact Sheet

Community Multi-Scale Air Quality Model (CMAQ) Fact Sheet

Clean Cookstove Research Fact Sheet

Air, Climate And Energy (ACE) Centers: Supporting Air Quality And Climate Solutions

Educational Hands-On Activities to Teach About Air Quality and Climate Change

Science Bite Podcast Flyer

Contact Us to ask a question, provide feedback, or report a problem.


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML+RDFa 1.1//EN">

  <meta charset="utf-8" />

<link rel="shortcut icon" href="/sites/all/themes/epa/favicon.ico" type="image/vnd.microsoft.icon" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width" />
<meta name="MobileOptimized" content="width" />
<meta http-equiv="ImageToolbar" content="false" />
<meta http-equiv="cleartype" content="on" />

<meta name="keywords" content="funding, climate change research, grants, Science to Achieve Results, star" />
<link rel="canonical" href="/climate-research/grants-climate-change-research" />
<link rel="shortlink" href="/climate-research/grants-climate-change-research" />

<meta name="WebArea" content="Climate Change Research" />
<meta name="WebAreaType" content="Resource Directory" />
<meta name="ContentType" content="page" />
  <title>Grants for Climate Change Research | Climate Change Research | US EPA</title>

  <link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_3h5HfPyG4w0xmgk_oaLP90_rUIs7Xmed0sNIfCxGAyg.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_NFNG4tEiKv-n_hlnQ4iBNlFbb-9XRaRVA9wRk6nUPHY.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_Pvo-DHIdW2Qn9LljtH2R1QKqzm8QoJ18zl6wR9Dk-Ak.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_28CvFue6tf4M8aL9zid2j2W58Z6HleySMQyNH35QhI0.css" media="all" />

<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_68w49Vk1SYPj8EPx2iW8fUagDJ4xc2WJQO7Dn7aLNaU.css" media="all" />
  <link rel="alternate" type="application/atom+xml" title="EPA.gov All Press Releases" href="/newsreleases/search/rss" />
  <link rel="alternate" type="application/atom+xml" title="EPA.gov Headquarters Press Releases" href="/newsreleases/search/rss/field_press_office/headquarters" />
  <link rel="alternate" type="application/atom+xml" title="Greenversations, EPA's Blog" href="https://blog.epa.gov/blog/feed/" />
  <link rel="alternate" type="application/atom+xml" title="Climate Change Research" href="/feed/51247/rss.xml" />

Jump to main content

  <hgroup class="site-name-and-slogan">

            US EPA

United States Environmental Protection Agency

  </hgroup>

        Related Topics:

          Climate Change Research

Grants for Climate Change Research

EPA’s Science to Achieve Results or STAR program funds research grants and graduate fellowships in numerous environmental science and engineering disciplines through a competitive solicitation process and independent peer review. In addition, through this same competitive process, EPA periodically establishes large research centers in specific areas of national environmental concern. The program engages the nation’s best scientists and engineers in targeted research that complements EPA’s own intramural research program and partners in other federal agencies.

EPA’s STAR program supports research focusing on a few important aspects of how climate change affects air pollution:

Investigating the impact of climate change on air pollution gases and particles

Understanding the underlying factors contributing to air pollution formation and transport

Using modeling tools to better understand the impacts of extreme events on air quality as well as provide better predictions of future air quality under a changed climate.

The following grants have been awarded to academic institutions and non-profit research organizations to conduct research to better understand the climate change impact on air quality, water quality and human health.

Indoor Air and Climate Change

Air quality and climate impacts of cooking, heating and lighting practices

		EPA awarded six grants totaling almost $9 million in 2014 to support research on the impacts on air quality and climate from residential cooking, heating, or lighting. The research is quantifying the improvements in climate and ambient and indoor air quality, and the subsequent impacts on health and welfare, resulting from ongoing, planned, or potential interventions in cooking, heating, or lighting practices.

Impacts of extreme events on air and water quality under a changing climate

		EPA awarded 14 grants totaling almost $9 million in 2012 to develop and demonstrate innovative tools and technologies for providing information and capacity to adequately prepare for climate-induced changes in extreme events. A major goal of these projects is to gain a better understanding of extreme events and to establish ways for climate scientists, impact assessment modelers, air and water quality managers, and other stakeholders to co-produce information necessary to form sound policy in relation to extreme events and their impact on air and water quality under a changing climate.

Black carbon’s role in climate change and air quality

		EPA awarded 10 grants totaling over $7.5 million in 2011 and 2012 for projects on black carbon, which contributes to human health impacts, visibility degradation and climate change. These grants focus on various aspects of the black carbon issue, such as better accounting for its emissions, tracking its climate-relevant properties as it ages in the atmosphere, and better representing its ability to impact formation of cloud droplets. The research on this short-lived climate forcer helps us to better understand its effects on climate change and air quality.

EPA Resources

EPA Research Grants

Funding Opportunities

Contact Us to ask a question, provide feedback, or report a problem.


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML+RDFa 1.1//EN">

  <meta charset="utf-8" />

<link rel="shortcut icon" href="/sites/all/themes/epa/favicon.ico" type="image/vnd.microsoft.icon" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width" />
<meta name="MobileOptimized" content="width" />
<meta http-equiv="ImageToolbar" content="false" />
<meta http-equiv="cleartype" content="on" />

<meta name="keywords" content="GHG, Greenhouse Gas, infectious disease, Clean Cookstoves, environmental health, global warming, climate change, Global Change, heat waves, health effects of climate change" />
<link rel="canonical" href="/climate-research/human-health-and-climate-change-research" />
<link rel="shortlink" href="/climate-research/human-health-and-climate-change-research" />

<meta name="WebArea" content="Climate Change Research" />
<meta name="WebAreaType" content="Resource Directory" />
<meta name="ContentType" content="page" />
  <title>Human Health and Climate Change Research | Climate Change Research | US EPA</title>

  <link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_3h5HfPyG4w0xmgk_oaLP90_rUIs7Xmed0sNIfCxGAyg.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_NFNG4tEiKv-n_hlnQ4iBNlFbb-9XRaRVA9wRk6nUPHY.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_Pvo-DHIdW2Qn9LljtH2R1QKqzm8QoJ18zl6wR9Dk-Ak.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_28CvFue6tf4M8aL9zid2j2W58Z6HleySMQyNH35QhI0.css" media="all" />

<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_68w49Vk1SYPj8EPx2iW8fUagDJ4xc2WJQO7Dn7aLNaU.css" media="all" />
  <link rel="alternate" type="application/atom+xml" title="EPA.gov All Press Releases" href="/newsreleases/search/rss" />
  <link rel="alternate" type="application/atom+xml" title="EPA.gov Headquarters Press Releases" href="/newsreleases/search/rss/field_press_office/headquarters" />
  <link rel="alternate" type="application/atom+xml" title="Greenversations, EPA's Blog" href="https://blog.epa.gov/blog/feed/" />
  <link rel="alternate" type="application/atom+xml" title="Climate Change Research" href="/feed/51247/rss.xml" />

Jump to main content

  <hgroup class="site-name-and-slogan">

            US EPA

United States Environmental Protection Agency

  </hgroup>

        Related Topics:

          Climate Change Research

Human Health and Climate Change Research

Climate change is having direct and indirect impacts on the health of people. More extreme weather events, heat waves, spread of infectious diseases and detrimental impacts on air and water quality are having impacts on our health.

Research is underway to assess those most susceptible to climate change.

Researchers are working to:

Identify and characterize communities and people at greatest risk to climate change and air pollution.

Assess the individual and synergistic impacts of climate change and air quality on human health.

Develop approaches to assess the likelihood and effects of extreme events on human health.

Identify potential societal and behavioral responses to human health risks from climate change.

Related Resources

Clean Cookstove Research

Climate Impacts on Human Health

National Climate Assessment - EPA is a member of the U.S. Global Change Research Program’s Interagency National Climate Assessment Working Group, which has published three National Climate Assessments.

Research on Health and Environmental Effects of Air Quality

The Impacts of Climate Change on Human Health in the United States: A Scientific Assessment  - 2016 report from the U.S.Global Change Research Program, developed by 100 scientists across 7 agencies, including EPA

Contact Us to ask a question, provide feedback, or report a problem.


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML+RDFa 1.1//EN">

  <meta charset="utf-8" />

<link rel="shortcut icon" href="/sites/all/themes/epa/favicon.ico" type="image/vnd.microsoft.icon" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width" />
<meta name="MobileOptimized" content="width" />
<meta http-equiv="ImageToolbar" content="false" />
<meta http-equiv="cleartype" content="on" />

<meta name="keywords" content="basins, CMAQ, WEPPCAT, MARKAL, ICLUS, GLIMPSE, RSIG" />
<link rel="canonical" href="/climate-research/models-tools-and-databases-climate-change-research" />
<link rel="shortlink" href="/climate-research/models-tools-and-databases-climate-change-research" />

<meta name="WebArea" content="Climate Change Research" />
<meta name="WebAreaType" content="Resource Directory" />
<meta name="ContentType" content="page" />
  <title>Models, Tools, and Databases for Climate Change Research | Climate Change Research | US EPA</title>

  <link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_3h5HfPyG4w0xmgk_oaLP90_rUIs7Xmed0sNIfCxGAyg.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_NFNG4tEiKv-n_hlnQ4iBNlFbb-9XRaRVA9wRk6nUPHY.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_Pvo-DHIdW2Qn9LljtH2R1QKqzm8QoJ18zl6wR9Dk-Ak.css" media="all" />
<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_28CvFue6tf4M8aL9zid2j2W58Z6HleySMQyNH35QhI0.css" media="all" />

<link type="text/css" rel="stylesheet" href="/sites/production/files/css/css_68w49Vk1SYPj8EPx2iW8fUagDJ4xc2WJQO7Dn7aLNaU.css" media="all" />
  <link rel="alternate" type="application/atom+xml" title="EPA.gov All Press Releases" href="/newsreleases/search/rss" />
  <link rel="alternate" type="application/atom+xml" title="EPA.gov Headquarters Press Releases" href="/newsreleases/search/rss/field_press_office/headquarters" />
  <link rel="alternate" type="application/atom+xml" title="Greenversations, EPA's Blog" href="https://blog.epa.gov/blog/feed/" />
  <link rel="alternate" type="application/atom+xml" title="Climate Change Research" href="/feed/51247/rss.xml" />

Jump to main content

  <hgroup class="site-name-and-slogan">

            US EPA

United States Environmental Protection Agency

  </hgroup>

        Related Topics:

          Climate Change Research

Models, Tools, and Databases for Climate Change Research

Models

Tools

Databases

Related Resources

Methods, Models, Tools, and Databases for EPA Research

Models

Climate Change and Watersheds Model (BASINS-CAT)

				BASINS is a multi-purpose, environmental analysis system that integrates a geographical information system (GIS), national watershed data, and state-of-the-art watershed modeling tools, including the Hydrologic Simulation Program (HSPF) FORTRAN model, into one package. BASINS CAT extends the existing capabilities of BASINS to facilitate watershed-based assessments of the potential implications of climate variability and change on water and watershed systems using the HSPF model.

				BASINS CAT provides flexible capabilities for creating climate change scenarios allowing users to quickly assess a wide range ofÂ what ifÂ questions about how weather and climate could affect their systems. BASINS CAT does not provide climate change data for specific regions and watersheds. Combined with the existing capabilities of HSPF for assessing the effects of land-use change and management practices, BASINS CAT can be used to assess the coupled effects of climate and land-use change, and to guide the development of effective management responses.

Community Multi-scale Air Quality Model (CMAQ)

				CMAQ is an air quality model and software suite designed to model multiple pollutants at multiple scales. CMAQ allows regulatory agencies and state governments to evaluate the impact of air quality management decisions, and gives scientists the ability to probe, simulate, and understand chemical and physical interactions in the atmosphere.

EPAUS9R - An Energy Systems Database for use with the Market Allocation (MARKAL) Model

				The EPAUS9r is a regional database representation of the United States energy system. The database uses the MARKAL model. MARKAL is an energy system optimization model used by local and federal governments, national and international communities and academia. EPAUS9r represents energy supply, technology, and demand throughout the major sectors of the U.S. energy system.

GLIMPSE

				GLIMPSE is a tool to find US policy scenarios that simultaneously improve air quality human health, reduce impacts to ecosystems, and mitigate climate change. It is designed to be fast -- to allow decision-makers to explore a range of options, as well as comprehensive -- to avoid unintended consequences

Water Erosion Prediction Project Climate Assessment Tool (WEPPCAT)

				WEPPCAT provides a flexible capability for creating user-determined climate change scenarios for assessing the potential impacts of climate change on sediment loading to streams using the USDAâ€™s Water Erosion Prediction Project (WEPP) Model. In combination with the existing capabilities of WEPP for assessing the effectiveness of management practices, WEPPCAT also can be used to evaluate the effectiveness of strategies for managing the impacts of climate change.

Top of Page

Related Resources

Methods, Models, Tools, and Databases for EPA Research

Tools

Integrated Climate and Land use Scenarios (ICLUS)

				Climate change and land-use change are global drivers of environmental change. Impact assessments frequently show that interactions between climate and land-use changes can create serious challenges for aquatic ecosystems, water quality, and air quality. Population projections to 2100 were used to model the distribution of new housing across the landscape. In addition, housing density was used to estimate changes in impervious surface cover.Â Â A final report, datasets, the ICLUS+ Web Viewer and ArcGIS tools are available.

Optical Noise-Reduction Averaging (ONA) ProgramÂ Improves Black Carbon Particle Measurements Using Aethalometers

				ONA is a program that reduces noise in real-time black carbon data obtained using Aethalometers. Aethalometers optically measure the concentration of light absorbing or â€œblackâ€? particles that accumulate on a filter as air flows through it. These particles are produced by incomplete fossil fuel, biofuel and biomass combustion. Under polluted conditions, they appear as smoke or haze.

Remote Sensing Information Gateway (RSIG)

				RSIG offers a new way for users to get the multi-terabyte, environmental datasets they want via an interactive, Web browser-based application. A file download and parsing process that now takes months will be reduced via RSIG to minutes.

Top of Page

Related Resources

Methods, Models, Tools, and Databases for EPA Research

Databases

EPAUS9R - An Energy Systems Database for use with the Market Allocation (MARKAL) Model

				The EPAUS9r is a regional database representation of the United States energy system. The database uses the MARKAL model. MARKAL is an energy system optimization model used by local and federal governments, national and international communities and academia. EPAUS9r represents energy supply, technology, and demand throughout the major sectors of the U.S. energy system.

Greenhouse Gases Mitigation Options Database (GMOD)

				GMOD is a decision support database and tool that is designed to evaluate mitigation options to support state and regional level activities and independent research. GMODâ€™s primary goal is to give the decision maker an option to generate realistic technology choices that are comparable for engineering and economic analyses. GMOD serves as a comprehensive information source on GHG control options for state agencies, and the tool provides decision makers with the capability to develop a host of alternative scenarios by constructing a conceptual-based source with suitable alternative control technologies.Â

Freshwater Biological Traits Database

				The Freshwater Biological Traits Database has data for nearly 4000 North American macroinvertebrate taxa, and includes habitat, life history, mobility, morphology and ecological trait data. The traits data were gathered from multiple sources, which are listed on the web site under, "Data Source". Data gathering efforts focused on data that were published or otherwise well-documented by trustworthy sources, accessible, appropriate for the regions being studied, in a standardized format that could be analyzed or easily converted to a format that could be analyzed, and ecologically relevant to the gradients being considered.

Contact Us to ask a question, provide feedback, or report a problem.