EMlab-generation Documentation  1.0
Documentation of the EMLab-Generation model.
DecarbonizationModel.java
1 /*******************************************************************************
2  * Copyright 2012 the original author or authors.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  ******************************************************************************/
16 package emlab.gen.domain.agent;
17 
18 import org.springframework.data.neo4j.annotation.NodeEntity;
19 
20 import agentspring.agent.AbstractAgent;
21 import agentspring.agent.Agent;
22 import agentspring.simulation.SimulationParameter;
23 
24 @NodeEntity
25 public class DecarbonizationModel extends AbstractAgent implements Agent {
26  private double absoluteStabilityCriterion;
27  private double relativeStabilityCriterion;
28  private double relativeBounceCriterion;
29 
30  private double iterationSpeedFactor;
31  private double iterationSpeedCriterion;
32  private double capDeviationCriterion;
33  private String name;
34 
35  private long centralForecastBacklookingYears;
36 
37  private long centralForecastingYear;
38 
39  private double centralPrivateDiscountingRate;
40 
41  private double centralCO2BackSmoothingFactor;
42 
43  private double centralCO2TargetReversionSpeedFactor;
44 
45  private boolean co2BankingIsImplemented;
46 
47  private boolean stabilityReserveIsActive;
48 
49  private long stabilityReserveFirstYearOfOperation;
50 
51  private double stabilityReserveBankingFirstYear;
52 
53  private double stabilityReserveBankingSecondYear;
54 
55  private double stabilityReserveBankingThirdYear;
56 
57  private boolean noPrivateIntermittentRESInvestment;
58 
59 
60  @SimulationParameter(label = "Simulation Length", from = 0, to = 75)
61  private double simulationLength;
62 
63  @SimulationParameter(label = "CO2 Trading")
64  private boolean co2TradingImplemented;
65 
66  @SimulationParameter(label = "Long Term Contracts")
67  private boolean longTermContractsImplemented;
68 
69  @SimulationParameter(label = "Real Renewable Data")
70  private boolean realRenewableDataImplemented;
71 
72  @SimulationParameter(label = "Delete old PPDPs, Bids and Cashflows")
73  private boolean deletionOldPPDPBidsAndCashFlowsEnabled;
74 
75  @SimulationParameter(label = "Exit simulation after simulation length")
76  private boolean exitSimulationAfterSimulationLength;
77 
78  @SimulationParameter(label = "Deletion age")
79  private long deletionAge;
80 
81  public boolean isRealRenewableDataImplemented() {
82  return realRenewableDataImplemented;
83  }
84 
85  public void setRealRenewableDataImplemented(boolean realRenewableDataImplemented) {
86  this.realRenewableDataImplemented = realRenewableDataImplemented;
87  }
88 
89  public double getIterationSpeedFactor() {
90  return iterationSpeedFactor;
91  }
92 
93  public void setIterationSpeedFactor(double iterationSpeedFactor) {
94  this.iterationSpeedFactor = iterationSpeedFactor;
95  }
96 
97  public double getIterationSpeedCriterion() {
98  return iterationSpeedCriterion;
99  }
100 
101  public void setIterationSpeedCriterion(double iterationSpeedCriterion) {
102  this.iterationSpeedCriterion = iterationSpeedCriterion;
103  }
104 
105  public double getCapDeviationCriterion() {
106  return capDeviationCriterion;
107  }
108 
109  public void setCapDeviationCriterion(double capDeviationCriterion) {
110  this.capDeviationCriterion = capDeviationCriterion;
111  }
112 
113  public double getAbsoluteStabilityCriterion() {
114  return absoluteStabilityCriterion;
115  }
116 
117  public void setAbsoluteStabilityCriterion(double absoluteStabilityCriterion) {
118  this.absoluteStabilityCriterion = absoluteStabilityCriterion;
119  }
120 
121  public double getRelativeStabilityCriterion() {
122  return relativeStabilityCriterion;
123  }
124 
125  public void setRelativeStabilityCriterion(double relativeStabilityCriterion) {
126  this.relativeStabilityCriterion = relativeStabilityCriterion;
127  }
128 
129  public boolean isCo2TradingImplemented() {
130  return co2TradingImplemented;
131  }
132 
133  public boolean isLongTermContractsImplemented() {
134  return longTermContractsImplemented;
135  }
136 
137  public void setLongTermContractsImplemented(boolean longTermContractsImplemented) {
138  this.longTermContractsImplemented = longTermContractsImplemented;
139  }
140 
141  public void setCo2TradingImplemented(boolean co2Market) {
142  this.co2TradingImplemented = co2Market;
143  }
144 
145  public double getRelativeBounceCriterion() {
146  return relativeBounceCriterion;
147  }
148 
149  public void setRelativeBounceCriterion(double relativeBounceCriterion) {
150  this.relativeBounceCriterion = relativeBounceCriterion;
151  }
152 
153  public double getSimulationLength() {
154  return simulationLength;
155  }
156 
157  public void setSimulationLength(double simulationLength) {
158  this.simulationLength = simulationLength;
159  }
160 
161  @Override
162  public String getName() {
163  return name;
164  }
165 
166  @Override
167  public void setName(String name) {
168  this.name = name;
169  }
170 
171  public boolean isDeletionOldPPDPBidsAndCashFlowsEnabled() {
172  return deletionOldPPDPBidsAndCashFlowsEnabled;
173  }
174 
175  public void setDeletionOldPPDPBidsAndCashFlowsEnabled(boolean deletionOldPPDPBidsAndCashFlowsEnabled) {
176  this.deletionOldPPDPBidsAndCashFlowsEnabled = deletionOldPPDPBidsAndCashFlowsEnabled;
177  }
178 
179  public long getDeletionAge() {
180  return deletionAge;
181  }
182 
183  public void setDeletionAge(long deletionAge) {
184  this.deletionAge = deletionAge;
185  }
186 
187  public boolean isExitSimulationAfterSimulationLength() {
188  return exitSimulationAfterSimulationLength;
189  }
190 
191  public void setExitSimulationAfterSimulationLength(boolean exitSimulationAfterSimulationLength) {
192  this.exitSimulationAfterSimulationLength = exitSimulationAfterSimulationLength;
193  }
194 
195  public long getCentralForecastBacklookingYears() {
196  return centralForecastBacklookingYears;
197  }
198 
199  public void setCentralForecastBacklookingYears(long centralForecastBacklookingYears) {
200  this.centralForecastBacklookingYears = centralForecastBacklookingYears;
201  }
202 
203  public long getCentralForecastingYear() {
204  return centralForecastingYear;
205  }
206 
207  public void setCentralForecastingYear(long centralForecastingYear) {
208  this.centralForecastingYear = centralForecastingYear;
209  }
210 
211  public double getCentralPrivateDiscountingRate() {
212  return centralPrivateDiscountingRate;
213  }
214 
215  public void setCentralPrivateDiscountingRate(double centralPrivateDiscountingRate) {
216  this.centralPrivateDiscountingRate = centralPrivateDiscountingRate;
217  }
218 
219  public boolean isCo2BankingIsImplemented() {
220  return co2BankingIsImplemented;
221  }
222 
223  public void setCo2BankingIsImplemented(boolean co2BankingIsImplemented) {
224  this.co2BankingIsImplemented = co2BankingIsImplemented;
225  }
226 
227  public double getCentralCO2BackSmoothingFactor() {
228  return centralCO2BackSmoothingFactor;
229  }
230 
231  public void setCentralCO2BackSmoothingFactor(double centralCO2BackSmoothingFactor) {
232  this.centralCO2BackSmoothingFactor = centralCO2BackSmoothingFactor;
233  }
234 
235  public double getCentralCO2TargetReversionSpeedFactor() {
236  return centralCO2TargetReversionSpeedFactor;
237  }
238 
239  public void setCentralCO2TargetReversionSpeedFactor(double centralCO2TargetReversionSpeedFactor) {
240  this.centralCO2TargetReversionSpeedFactor = centralCO2TargetReversionSpeedFactor;
241  }
242 
243  public boolean isStabilityReserveIsActive() {
244  return stabilityReserveIsActive;
245  }
246 
247  public void setStabilityReserveIsActive(boolean stabilityReserveIsActive) {
248  this.stabilityReserveIsActive = stabilityReserveIsActive;
249  }
250 
251  public long getStabilityReserveFirstYearOfOperation() {
252  return stabilityReserveFirstYearOfOperation;
253  }
254 
255  public void setStabilityReserveFirstYearOfOperation(long stabilityReserveFirstYearOfOperation) {
256  this.stabilityReserveFirstYearOfOperation = stabilityReserveFirstYearOfOperation;
257  }
258 
259  public double getStabilityReserveBankingFirstYear() {
260  return stabilityReserveBankingFirstYear;
261  }
262 
263  public void setStabilityReserveBankingFirstYear(double stabilityReserveBankingFirstYear) {
264  this.stabilityReserveBankingFirstYear = stabilityReserveBankingFirstYear;
265  }
266 
267  public double getStabilityReserveBankingSecondYear() {
268  return stabilityReserveBankingSecondYear;
269  }
270 
271  public void setStabilityReserveBankingSecondYear(double stabilityReserveBankingSecondYear) {
272  this.stabilityReserveBankingSecondYear = stabilityReserveBankingSecondYear;
273  }
274 
275  public double getStabilityReserveBankingThirdYear() {
276  return stabilityReserveBankingThirdYear;
277  }
278 
279  public void setStabilityReserveBankingThirdYear(double stabilityReserveBankingThirdYear) {
280  this.stabilityReserveBankingThirdYear = stabilityReserveBankingThirdYear;
281  }
282 
283  public boolean isNoPrivateIntermittentRESInvestment() {
284  return noPrivateIntermittentRESInvestment;
285  }
286 
287  public void setNoPrivateIntermittentRESInvestment(boolean noPrivateIntermittentRESInvestment) {
288  this.noPrivateIntermittentRESInvestment = noPrivateIntermittentRESInvestment;
289  }
290 
291 }