timeperiod = (slots) => {
return (d) => {
let time = d.getHours() + d.getMinutes()/60
let v = slots[0].v
for (let i = 0; i < slots.length-1; i++) {
if (time > slots[i].t && time <= slots[i+1].t) {
v = slots[i].v + (slots[i+1].v-slots[i].v) * ((time-slots[i].t)/(slots[i+1].t-slots[i].t))
}
}
return v
}
}