Skip to content

Commit a2555b8

Browse files
committed
Merge branch 'develop' into fixed-bess-soc
2 parents 1909b02 + 140a5a9 commit a2555b8

5 files changed

Lines changed: 11 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,11 @@ Classify the change according to the following categories:
2929
### Added
3030
- Add **ElectricStorage** input field `fixed_soc_series_fraction` to allow users to fix the SOC timeseries
3131

32-
## Develop
32+
## v0.58.1
33+
### Fixed
34+
- Calculation of offgrid_microgrid_lcoe_dollars_per_kwh for sub-hourly runs.
35+
- Switched to use maximum value of **dvCoolingProduction** for **ExistingChiller**'s size instead of **dvSize**. This fixed the issue with **ExistingChiller**'s size being applied **max_thermal_factor_on_peak_load** twice in some cases.
36+
3337
## v0.58.0
3438
### Added
3539
- New optional attributes for **CHP** object **CHP.serve_absorption_chiller_only**, **CHP.months_serving_absorption_chiller_only**, and **CHP.follow_electrical_load**, which impose constraints on CHP operations if selected. The default is set to `false` for both attributes.

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "REopt"
22
uuid = "d36ad4e8-d74a-4f7a-ace1-eaea049febf6"
33
authors = ["Nick Laws", "Hallie Dunham <hallie.dunham@nlr.gov>", "Bill Becker <william.becker@nlr.gov>", "Bhavesh Rathod <bhavesh.rathod@nlr.gov>", "Alex Zolan <alexander.zolan@nlr.gov>", "Amanda Farthing <amanda.farthing@nlr.gov>", "Xiangkun Li <xiangkun.li@nlr.gov>", "An Pham <an.pham@nlr.gov>", "Byron Pullutasig <byron.pullatasig@nlr.gov>"]
4-
version = "0.58.0"
4+
version = "0.58.1"
55

66
[deps]
77
ArchGDAL = "c9ce4bd3-c3d5-55b8-8973-c0e20141b8c3"

src/core/existing_chiller.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
loads_kw_thermal::Vector{<:Real},
66
cop::Union{Real, Nothing} = nothing,
77
max_thermal_factor_on_peak_load::Real=1.25
8-
installed_cost_per_kw::Real = 0.0 # Represents needed CapEx in BAU, assuming net present value basis based on current size; also incurred in Optimal case if still using at all
8+
installed_cost_per_ton::Real = 0.0 # Represents needed CapEx in BAU, assuming net present value basis based on current size; also incurred in Optimal case if still using at all
99
installed_cost_dollars::Real = 0.0 # Represents needed CapEx in BAU, assuming net present cost basis; also incurred in Optimal case if still using at all
1010
retire_in_optimal::Bool = false # Do NOT use in the optimal case (still used in BAU)
1111
```

src/results/existing_chiller.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@
1111
function add_existing_chiller_results(m::JuMP.AbstractModel, p::REoptInputs, d::Dict; _n="")
1212
r = Dict{String, Any}()
1313

14-
r["size_ton"] = round(value(m[Symbol("dvSize"*_n)]["ExistingChiller"]) * p.s.existing_chiller.max_thermal_factor_on_peak_load / KWH_THERMAL_PER_TONHOUR, digits=3)
14+
max_prod_kw = maximum(value.((m[Symbol("dvCoolingProduction"*_n)]["ExistingChiller",:])))
15+
size_actual_ton = max_prod_kw / KWH_THERMAL_PER_TONHOUR * p.s.existing_chiller.max_thermal_factor_on_peak_load
16+
r["size_ton"] = round(size_actual_ton, digits=3)
1517

1618
@expression(m, ELECCHLtoTES[ts in p.time_steps],
1719
sum(m[:dvProductionToStorage][b,"ExistingChiller",ts] for b in p.s.storage.types.cold)

src/results/financial.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ function add_financial_results(m::JuMP.AbstractModel, p::REoptInputs, d::Dict; _
145145
else
146146
pwf = p.pwf_owner
147147
end
148-
LoadMet = @expression(m, sum(p.s.electric_load.critical_loads_kw[ts] * m[Symbol("dvOffgridLoadServedFraction"*_n)][ts] for ts in p.time_steps_without_grid ))
148+
LoadMet = @expression(m, sum(p.s.electric_load.critical_loads_kw[ts] * m[Symbol("dvOffgridLoadServedFraction"*_n)][ts] for ts in p.time_steps_without_grid )/ p.s.settings.time_steps_per_hour)
149149
r["offgrid_microgrid_lcoe_dollars_per_kwh"] = round(r["lcc"] / pwf / value(LoadMet), digits=4)
150150
end
151151

0 commit comments

Comments
 (0)