Newer
Older
/*
* Create dummy data files for each fluid.
* Hourly data is not generated
*/
const fs = require('fs')
const { DateTime } = require('luxon')
function getRandomInt(min, max) {
const minValue = Math.ceil(min * 100)
const maxValue = Math.floor(max * 100)
const result =
(Math.floor(Math.random() * (maxValue - minValue)) + minValue) / 100
return result
}
const generateData = (_startingdate, _endingDate, min, max) => {
_startingdate.year,
_startingdate.month,
_startingdate.day
)
const dayDumpArray = []
let lastMonth = parsingDate.month
const monthDumpArray = []
let lastYear = parsingDate.year
const yearDumpArray = []
let monthlyLoad = 0
let yearlyLoad = 0
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
const load = getRandomInt(min, max)
monthlyLoad += load
yearlyLoad += load
dayDumpArray.push({
load: load,
year: parsingDate.year,
month: parsingDate.month,
day: parsingDate.day,
hour: 0,
minute: 0,
})
if (parsingDate.month !== lastMonth) {
monthDumpArray.push({
load: Math.round(monthlyLoad * 100) / 100,
year: lastYear,
month: lastMonth,
day: 0,
hour: 0,
minute: 0,
})
monthlyLoad = 0
lastMonth = parsingDate.month
}
if (parsingDate.year !== lastYear) {
yearDumpArray.push({
load: Math.round(yearlyLoad * 100) / 100,
year: lastYear,
month: 1,
day: 1,
hour: 0,
minute: 0,
})
yearlyLoad = 0
lastYear = parsingDate.year
}
parsingDate = parsingDate.plus({ days: 1 })
}
monthDumpArray.push({
load: Math.round(monthlyLoad * 100) / 100,
year: lastYear,
month: lastMonth,
day: 1,
hour: 0,
minute: 0,
})
yearDumpArray.push({
load: Math.round(yearlyLoad * 100) / 100,
year: lastYear,
month: 1,
day: 1,
hour: 0,
minute: 0,
})
return {
dailyLoad: dayDumpArray,
monthlyLoad: monthDumpArray,
yearlyLoad: yearDumpArray,
}
}
const startingdate = DateTime.local()
.plus({ days: -120 })
.startOf('day')
const endingDate = DateTime.local()
.plus({ days: -1 })
.startOf('day')
const Elec = generateData(startingdate, endingDate, 3, 10)
const Gaz = generateData(startingdate, endingDate, 16, 68)
const Eau = generateData(startingdate, endingDate, 200, 300)
const dumpElec = {
'com.grandlyon.enedis.day': Elec.dailyLoad,
'com.grandlyon.enedis.month': Elec.monthlyLoad,
'com.grandlyon.enedis.year': Elec.yearlyLoad,
fs.writeFile('data/dayData-elec.json', dumpStringElec, function(err) {
if (err) console.log('error', err)
})
const dumpGas = {
'com.grandlyon.grdf.day': Gaz.dailyLoad,
'com.grandlyon.grdf.month': Gaz.monthlyLoad,
'com.grandlyon.grdf.year': Gaz.yearlyLoad,
fs.writeFile('data/dayData-gas.json', dumpStringGas, function(err) {
if (err) console.log('error', err)
})
const dumpWater = {
'com.grandlyon.egl.day': Eau.dailyLoad,
'com.grandlyon.egl.month': Eau.monthlyLoad,
'com.grandlyon.egl.year': Eau.yearlyLoad,
fs.writeFile('data/dayData-water.json', dumpStringWater, function(err) {
if (err) console.log('error', err)
})
const dump = {
'com.grandlyon.enedis.day': Elec.dailyLoad,
'com.grandlyon.enedis.month': Elec.monthlyLoad,
'com.grandlyon.enedis.year': Elec.yearlyLoad,
'com.grandlyon.grdf.day': Gaz.dailyLoad,
'com.grandlyon.grdf.month': Gaz.monthlyLoad,
'com.grandlyon.grdf.year': Gaz.yearlyLoad,
'com.grandlyon.egl.day': Eau.dailyLoad,
'com.grandlyon.egl.month': Eau.monthlyLoad,
'com.grandlyon.egl.year': Eau.yearlyLoad,
fs.writeFile('data/dayData.json', dumpString, function(err) {