Skip to content

Commit 0bde5d2

Browse files
committed
working version of pv size classes with debug logs
1 parent a63822f commit 0bde5d2

File tree

9 files changed

+437
-280
lines changed

9 files changed

+437
-280
lines changed

data/pv/pv_defaults.json

+67-37
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,70 @@
11
{
2-
"pv_groundmount": {
3-
"installed_cost_per_kw": [
4-
[3300, 2000],
5-
[3300, 3000],
6-
[3000, 2750],
7-
[2750, 2500],
8-
[2500, 2250],
9-
[2250, 2000]
10-
],
11-
"tech_sizes_for_cost_curve": [
12-
[0, 10000],
13-
[0, 25],
14-
[25, 250],
15-
[250, 750],
16-
[750, 2000],
17-
[2000, 10000]
18-
],
19-
"om_cost_per_kw": [34, 30, 27, 24, 21,18]
2+
"ground": {
3+
"size_classes": [
4+
{
5+
"size_class": 1,
6+
"tech_sizes_for_cost_curve": [0, 25],
7+
"installed_cost_per_kw": [2900, 2600],
8+
"om_cost_per_kw": 32
9+
},
10+
{
11+
"size_class": 2,
12+
"tech_sizes_for_cost_curve": [25, 250],
13+
"installed_cost_per_kw": [2600, 2350],
14+
"om_cost_per_kw": 28
15+
},
16+
{
17+
"size_class": 3,
18+
"tech_sizes_for_cost_curve": [250, 750],
19+
"installed_cost_per_kw": [2350, 2100],
20+
"om_cost_per_kw": 25
21+
},
22+
{
23+
"size_class": 4,
24+
"tech_sizes_for_cost_curve": [750, 2000],
25+
"installed_cost_per_kw": [2100, 1850],
26+
"om_cost_per_kw": 22
27+
},
28+
{
29+
"size_class": 5,
30+
"tech_sizes_for_cost_curve": [2000, 10000],
31+
"installed_cost_per_kw": [1850, 1600],
32+
"om_cost_per_kw": 18
33+
}
34+
]
2035
},
21-
"pv_rooftop": {
22-
"installed_cost_per_kw": [
23-
[3100, 2250],
24-
[3100, 2890],
25-
[2890, 2750],
26-
[2750, 2650],
27-
[2650, 2550],
28-
[2550, 2250]
29-
],
30-
"tech_sizes_for_cost_curve": [
31-
[0, 10000],
32-
[0, 25],
33-
[25, 250],
34-
[250, 750],
35-
[750, 2000],
36-
[2000, 10000]
37-
],
38-
"om_cost_per_kw": [30, 28, 26, 24, 22, 19]
36+
"roof": {
37+
"size_classes": [
38+
{
39+
"size_class": 1,
40+
"tech_sizes_for_cost_curve": [0, 25],
41+
"installed_cost_per_kw": [2800, 2500],
42+
"om_cost_per_kw": 29
43+
},
44+
{
45+
"size_class": 2,
46+
"tech_sizes_for_cost_curve": [25, 250],
47+
"installed_cost_per_kw": [2500, 2250],
48+
"om_cost_per_kw": 26
49+
},
50+
{
51+
"size_class": 3,
52+
"tech_sizes_for_cost_curve": [250, 750],
53+
"installed_cost_per_kw": [2250, 2050],
54+
"om_cost_per_kw": 24
55+
},
56+
{
57+
"size_class": 4,
58+
"tech_sizes_for_cost_curve": [750, 2000],
59+
"installed_cost_per_kw": [2050, 1850],
60+
"om_cost_per_kw": 22
61+
},
62+
{
63+
"size_class": 5,
64+
"tech_sizes_for_cost_curve": [2000, 10000],
65+
"installed_cost_per_kw": [1850, 1600],
66+
"om_cost_per_kw": 20
67+
}
68+
]
3969
}
40-
}
70+
}

src/REopt.jl

+2-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ export
2626
easiur_data,
2727
get_existing_chiller_default_cop,
2828
get_electric_heater_defaults,
29-
get_ashp_defaults
29+
get_ashp_defaults,
30+
get_pv_defaults_size_class
3031

3132
import HTTP
3233
import JSON

src/core/cost_curve.jl

+7-1
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,13 @@ function cost_curve(tech::AbstractTech, financial::Financial)
369369
cap_cost_yint = updated_y_intercept
370370

371371
@info "Cost curve results:" typeof(cap_cost_slope) cap_cost_slope typeof(cost_curve_bp_x) cost_curve_bp_x typeof(cap_cost_yint) cap_cost_yint typeof(n_segments) n_segments
372-
372+
@info "Debugging cost curve calculation..."
373+
@info "Input Installed Cost Per kW: ", tech.installed_cost_per_kw
374+
@info "Input Tech Sizes for Cost Curve: ", tech.tech_sizes_for_cost_curve
375+
@info "Cap Cost Slope Values Calculated: ", cap_cost_slope
376+
@info "Cap Cost Y-Intercept Values Calculated: ", cap_cost_yint
377+
@info "Cost Curve Breakpoints X: ", cost_curve_bp_x
378+
@info "Cost Curve Breakpoints Y: ", cost_curve_bp_y
373379
@info "Final return values:" typeof(cap_cost_slope) cap_cost_slope
374380

375381

0 commit comments

Comments
 (0)