private double adjustCapacityForCurtailments (int timeslot, double capacity, TariffSubscription subscription) { double lastCurtailment = subscription.getCurtailment(); if (Math.abs(lastCurtailment) > 0.01) { // != 0 curtailedCapacities.put(timeslot - 1, lastCurtailment); List<String> shifts = capacityStructure.getCurtailmentShifts(); for (int i = 0; i < shifts.size(); ++i) { double shiftingFactor = Double.parseDouble(shifts.get(i)); double shiftedCapacity = lastCurtailment * shiftingFactor; Double previousShifts = shiftedCurtailments.get(timeslot + i); shiftedCapacity += (previousShifts != null) ? previousShifts : 0; shiftedCurtailments.put(timeslot + i, shiftedCapacity); } } Double currentShift = shiftedCurtailments.get(timeslot); return (currentShift == null) ? capacity : capacity + currentShift; }
(long) subs.get(0).getCurtailment() * OfficeComplexConstants.THOUSAND; log.debug(this.toString() + " Subscription " + subs.get(0).toString() + " Curtailment " + curt);