This repository contains the code for a highly configurable system to map buildings according to various kinds of energy efficiency data, to make critical data about urban sustainability and conservation visible and accessible to a wide array of potential audiences.
The site was commissioned by the City Energy Project, a joint effort of the Natural Resources Defense Council (NRDC) and the Institute for Market Transformation (IMT). The City Energy Project is a national initiative to create healthier and more prosperous American cities by improving the energy efficiency of buildings. Working in partnership, the Project and cities will support innovative, practical solutions that cut energy waste, boost local economies, and reduce harmful pollution.
In close collaboration with partners at the City Energy Project, Stamen Design and Ministry of Velocity designed and built the system in summer 2015. Stamen is a leading innovator in data visualization, with a long history of direct collaborations with industry leaders, universities, museums, and humanitarian organizations. Ministry of Velocity is an agile software engineering consultancy with decades of combined experience in building immersive experiences alongside startups, nonprofit organizations, and design agencies.
In 2021, GreenInfo Network was brought on to help manage the project and data updates
This project uses gulp for build scripts.
Other dependencies are contained in package.json
and bower.json
.
City data is hosted on CartoDB. Each city data table is specified in its respective JSON file contained in src/cities.
Start webserver
$ npm run dev
Sometimes a gulp
process gets stuck, so you may need to run killall gulp
every once in awhile.
Source files are in src/
. The compiled files are in dist/
.
npm run dist
to compile, and copy all site files to the dist/
folder
- clone the repo
- make sure you have node and bower installed
- Do
nvm use
to set node version - in the root of the repo, run
npm install
- in the root of the repo, run
bower install
- in a separate terminal window run
npm run dev
- point your browser to http://localhost:8080/
You can fork a copy of the repository, and the dist
directory will turn into your own version of the site via Github Pages. Alternatively, you can host your own copy of the dist
directory on your own web server.
Doing npm run deploy
will compile the dist
artifacts and push them to the gh-pages
branch of the repo, to update the site if you are serving that way.
For setup and configuration instructions, see the Setup and Configuration guide.
Please see the Modals_Footer.md file.
Please see the Links.md file.
There are some tools to help you create PDF scorecards for buildings. These can run on both a local machine or through a server. Note: This feature is unused and have been moved into deprecated/ Read more in the README.
The system can manage and display data for multi-building "campuses", provided that all of the building footprints that make up a campus share a building id.
In general there are two kinds of campus data
- A campus made up of buildings that each report their own benchmarking data. Each of these buildings should have a separate row in the building energy dataset, and a separate outline in the building outline dataset. An example might be a university building that reports benchmarking data separately from other buildings on that campus.
- A campus made up of buildings that report benchmarking data together. For this type of campus, there should be only one row of data in the benchmarking energy dataset, and multiple rows in the building outline dataset. Each of the building outlines should have the same parent
buildingid
.