Python package to implement data-pipeline to process high-resolution power meter data.
The demand_acep
package implements a data-pipeline. The data-pipeline performs three tasks - Extraction, Transformation and Loading (ETL). The detailed documentation is here and a brief summary is as under:
All or some steps can be re-used or repeated as desired. Further analysis using the complete data was performed and results have been in presented in the documentation.
pip install demand-acep
This package has only been tested on Linux.
Usage examples and further analysis can be seen in the scripts
folder.
multi-processing
library in python to extract data for multiple days in parallel. The more cores the system has, the faster the total data can be extracted. The module supports TDD and includes setup for automatic test runner. To begin development, install Python 3.6+ using Anaconda and NodeJS for your platform and then do the following:
git clone https://github.com/demand-consults/demand_acep
. This will create a copy of this repository on your machine. cd demand_acep
. pip install -r requirements.txt
. npm install
. Install Grunt globally using npm install -g grunt
. This step and Nodejs is only required for automated test running. grunt
on the command line. This will watch for changes to any of the .py
files in the demand_acep
folder and run the tests using pytest
. tests
folder and add the data needed for tests to the data
folder located in demand_acep\data
. doc
folder contains the documentation related to the package. To make changes to the documentation, following workflow is suggested:
grunt doc
. This command watches for changes in the .rst
files in the doc
folder and runs make html
. This has the effect of building your documenation on each save. pip install sauth
, and then running the webserver like so: sauth <username> <password> localhost <port>
from the doc
folder in a separate terminal window. Specify a username, password and a port number, for example - 8000. Then navigate to: http://localhost:8000 in your web-browser and enter the username and password you set while running sauth
. The live changes to the documentation can be viewed by navigating to the html
folder in the build
directory located at doc\build\html
. .rst
files, and re-save them, grunt doc
automatically updates the html
folder and changes can be viewed in the browser by refreshing it. demand
for demand charge saving analysisAn R package creates diverse plots per day, weekday, month and year for peak demand power consumption of several meters to support this project. These plots lead to benefit-cost analyses and cost saving plots. In addition, this package forecasts peak power demand using ARIMA on a daily and monthly basis. Correlation and a simple regression are also included.
To use ths package, follow the steps:
Install devtools
install.packages("devtools")
Load the package
library(devtools)
Install this package demand
install_github("reconjohn/demand")
Load the package
library(demand)
Now you are all set!
Brief description of demand charge using R package, demand
Using R package demand
, peak demand, correlation, forecast, and demand charge were plotted. Refer to the followings for more details about demonstration of code from demand
package and its results.
Chintan Pathak, Yohan Min, Atinuke Ademola-Idowu - cp84@uw.edu, min25@uw.edu, aidowu@uw.edu.
Distributed under the MIT license. See LICENSE
for more information.
git checkout -b feature/fooBar
)git commit -am 'Add some fooBar'
)git push origin feature/fooBar
)