seed house and power data

This commit is contained in:
Eric Hulburd
2016-01-31 11:35:22 -06:00
parent e4513282f9
commit 2c42090cd9
5 changed files with 32 additions and 17 deletions

1
.gitignore vendored
View File

@@ -1,2 +1,3 @@
node_modules/
bin/
data/example/

View File

@@ -21,8 +21,6 @@ class Database {
Database[model.name] = model;
Database.models.push(model);
});
console.log("!!!! TEST !!!!")
console.log(Database.PowerDatum);
// add associations
for (var model of Database.models){

View File

@@ -16,33 +16,46 @@ export class PowerDataSeed {
rows = [];
csvStream.on("data", function(data){
rows.push(rows);
data.time = moment.utc(parseInt(data.time)).format();
rows.push(data);
if (rows.length % 100 === 0){
DB.PowerDatum.bulkCreate(rows, {validate: true}).then(()=>{
rows = [];
});
}
});
csvStream.on("end", function(){
DB.PowerDatum.bulkCreate(rows, {validate: true}).then(done);
DB.PowerDatum.bulkCreate(rows, {validate: true}).then(()=>{
console.log("DONE!")
done();
});
});
}
static generateCsv(opts, done){
opts = extend({
start_date: moment.subtract(1, "months").unix(),
start_date: moment().subtract(2, "months").unix(),
end_date: moment().unix(),
interval: 15 * 60, // every 15 minutes (in s)
interval: 180, // every 3 minutes (in s)
average: 1400, // Wh
path: __dirname + "/../../data/example/power_data.csv"
}, opts || {});
var row_date = opts.start_date,
csvStream = csv.format({headers: true}),
writableStream = fs.createWriteStream(opts.path);
writableStream = fs.createWriteStream(opts.path),
house_ids = opts.house_ids.split(",")
csvStream.pipe(writableStream);
writableStream.on("finish", done);
writableStream.on("finish", ()=>{
console.log("DONE!")
done();
});
while (row_date <= end_date){
csvStream.write(house_ids.map((house_id)=>{
return [house_id, row_date, MathUtils.normal(opts.average)]
}));
while (row_date <= opts.end_date){
for (var house_id of house_ids){
csvStream.write([house_id, row_date, MathUtils.normal(opts.average)]);
}
row_date += opts.interval;
}
csvStream.end();
@@ -64,7 +77,10 @@ export class HouseSeed {
});
csvStream.on("end", function(){
console.log(rows);
DB.House.bulkCreate(rows, {validate: true}).then(done);
DB.House.bulkCreate(rows, {validate: true}).then(()=>{
console.log("DONE!")
done();
});
});
}
}

View File

@@ -1,7 +1,7 @@
export default class {
static normal(average){
return average + n6() * average;
return average + this.n6() * average;
}
static n6(){

View File

@@ -23,10 +23,10 @@ var PowerDatum = DB.sequelize.define('PowerDatum', {
primaryKey: true,
autoIncrement: true // Automatically gets converted to SERIAL for postgres
},
time: DB.Sequelize.FLOAT,
time: DB.Sequelize.DATE,
power: DB.Sequelize.FLOAT
}, {
tableName: "power_data",
tableName: "power_data",
instanceMethods: {
},