@ConfigurableValue(valueType = "Double", dump = false, description = "Expected V2G per timeslot as a fn of homeChargeKW") public void setDischargeFactor (double ratio) { dischargeFactor = ratio; }
@ConfigurableValue(valueType = "Double", description = "Initial limit price/mwh for bids in day-ahead market") public void setBuyLimitPriceMax (double buyLimitPriceMax) { this.buyLimitPriceMax = buyLimitPriceMax; }
@ConfigurableValue(valueType = "Double", description = "Final limit price/mwh for bids in day-ahead market") public void setBuyLimitPriceMin (double buyLimitPriceMin) { this.buyLimitPriceMin = buyLimitPriceMin; }
@ConfigurableValue(valueType = "Double", description = "Final limit price/mwh for asks in day-ahead market") public void setSellLimitPriceMin (double sellLimitPriceMin) { this.sellLimitPriceMin = sellLimitPriceMin; }
@ConfigurableValue(valueType = "Double", dump = false, description = "Maximum charge rate in kw, home station") public void setHomeChargeKW (double kw) { this.homeChargeKW = kw; }
@ConfigurableValue(valueType = "Integer", description = "Number of timeslots between tariff publication events. " + "Must be at most 24.") public void setPublicationInterval (int interval) { if (interval > 24) { log.error("tariff publication interval " + interval + " > 24 hr"); interval = 24; } publicationInterval = interval; }
@ConfigurableValue(valueType = "Double", description = "Offer quantity for price = 1.0") @StateChange public void setMwh (double mwh) { this.mwh = mwh; } }
@ConfigurableValue(valueType = "Double", dump = false, description = "Total area of outside walls") @StateChange public ColdStorage withWallArea (double area) { wallArea = area; return this; }
@ConfigurableValue(valueType = "Double", description = "R-value of floor insulation") @StateChange public ColdStorage withFloorRValue (double value) { floorRValue = value; return this; }
@ConfigurableValue(valueType = "Double", dump = false, description = "size of battery pack in kWh") @StateChange public void setBatteryCapacity (double value) { batteryCapacity = value; }
@ConfigurableValue(valueType = "Integer", dump = false, description = "planning horizon in timeslots - should be at least 48") @StateChange public void setPlanningHorizon (int horizon) { planningHorizon = horizon; }
@ConfigurableValue(valueType = "Double", description = "Mean offer price for exponential distribution") @StateChange public void setPriceBeta (double priceBeta) { this.priceBeta = priceBeta; }
@ConfigurableValue(valueType = "Integer", dump = false, description = "number of battery chargers") @StateChange public void setNChargers (int value) { nChargers = value; }
@ConfigurableValue(valueType = "Integer", dump = false, description = "minimum useful horizon of existing plan") @StateChange public void setMinPlanningHorizon (int horizon) { minPlanningHorizon = horizon; }
/** * Fluent setter for the random-walk sigma value applied to the * constant coefficient. */ @ConfigurableValue(valueType = "Double", dump=false, description = "Random-walk std dev ratio for constant coefficient") @StateChange public CpGenco withRwcSigma (double var) { this.rwcSigma = var; return this; }
/** * Fluent setter for the random-walk offset value applied to the * constant coefficient. */ @ConfigurableValue(valueType = "Double", dump=false, description = "Random-walk offset ratio for constant coefficient") @StateChange public CpGenco withRwcOffset (double var) { this.rwcOffset = var; return this; }
@ConfigurableValue(valueType = "Double", description = "Ratio of stock that gets replaced daily") @StateChange public ColdStorage withTurnoverRatio (double ratio) { if (ratio < 0.0 || ratio > 1.0) log.error(getName() + ": turnover ratio " + ratio + " out of range"); else turnoverRatio = ratio; return this; }
@ConfigurableValue(valueType = "Double", dump = false, description = "Mean hourly energy usage for non-cooling purposes") @StateChange public ColdStorage withNonCoolingUsage (double value) { if (value < 0.0) log.error(getName() + ": Non-cooling usage " + value + " cannot be negative"); else nonCoolingUsage = value; return this; }
@ConfigurableValue(valueType = "Double", dump = false, description = "Thermal capacity in tons of cooling plant") @StateChange public ColdStorage withUnitSize (double cap) { if (cap < 0.0) log.error(getName() + ": Cooling capacity " + cap + " cannot be negative"); else unitSize = cap; return this; }
@ConfigurableValue(valueType = "Double", dump = false, description = "Coefficient of Performance of refrigeration unit") @StateChange public ColdStorage withCop (double value) { if (value < 0.0) log.error(getName() + ": Coefficient of performance " + value + " cannot be negative"); else cop = value; return this; }