summaryrefslogtreecommitdiff
path: root/opendc-simulator/opendc-simulator-compute/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'opendc-simulator/opendc-simulator-compute/src/main/java')
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/power/CarbonModel.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/power/CarbonModel.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/power/CarbonModel.java
index 3cf36ece..e1c99071 100644
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/power/CarbonModel.java
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/power/CarbonModel.java
@@ -134,7 +134,11 @@ public class CarbonModel extends FlowNode {
}
public double[] getForecast(int forecastSize) {
- return this.fragments.subList(this.fragment_index + 1, this.fragment_index + forecastSize).stream()
+ return this.fragments
+ .subList(
+ Math.min(this.fragment_index + 1, this.fragments.size() - 1),
+ Math.min(this.fragment_index + forecastSize, this.fragments.size()))
+ .stream()
.mapToDouble(CarbonFragment::getCarbonIntensity)
.toArray();
}