-
Notifications
You must be signed in to change notification settings - Fork 33
Features to support OCHRE workflow in ResStock #205
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
d6df69b
5b1c9ea
d0d245a
b35ee4e
32df0db
25eb856
7a2ab4b
1fa56a2
4979a0b
3792440
908e39d
29aeefb
5b7c650
7d494a9
e5579fe
5366477
5289d67
3a98ec3
03bf7af
520ee40
16c6345
b075331
c49cd93
2ddbea0
230a414
853f167
4ec20f7
8fc3408
ea67305
8d125e4
8fea378
8b2ea5c
fbb9e93
12de790
62cdf13
0c3e1f3
b4e6042
8d8e588
9de5b21
739dea0
2925ffa
bed7910
4d0b04f
b0bcd6a
fd8b452
3d96710
2ef476d
649cb57
2bce4dd
56551b0
f27282c
5d51c43
3da5e45
3010e72
24acc28
e828539
bc17c8b
e785355
5f5e78a
9e67cb5
7c94803
a2a0cdd
31f6a48
723285c
928d23b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,13 @@ | ||
| ## OCHRE Changelog | ||
|
|
||
| ### OCHRE v0.9.4 | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So we'll want to do a new release after we merge this in. Makes sense with how substantial this is, just flagging that we'll be doing this soon. |
||
| - Added ResStock output mode producing `results_timeseries.csv` and `results_annual.csv` | ||
| [#167](https://github.com/NREL/OCHRE/issues/167) | ||
| - Added output registry and verbosity-based output control system | ||
| - Added CLI options for `--output_format` and `--export_res` | ||
| - Added EV and PV parsing from dedicated HPXML sections (Vehicles, Photovoltaics) | ||
| - Narrowed Python version requirement | ||
|
|
||
| ### OCHRE v0.9.3 | ||
| - Allow 120V (aka low power) heat pump water heaters | ||
| - Applied ruff code formatting to entire codebase | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -334,18 +334,21 @@ def make_equivalent_battery_model(self): | |
| def generate_results(self): | ||
| results = super().generate_results() | ||
|
|
||
| if self.verbosity >= 3: | ||
| results[f"{self.end_use} SOC (-)"] = self.soc | ||
| results[f"{self.end_use} Unmet Load (kWh)"] = self.unmet_load | ||
| if self.verbosity >= 4: | ||
| results[f"{self.end_use} Parked"] = self.in_event | ||
| if self.verbosity >= 7: | ||
| # results[f'{self.end_use} Setpoint Power (kW)'] = self.setpoint_power or 0 | ||
| results[f"{self.end_use} Start Time"] = self.event_start | ||
| results[f"{self.end_use} End Time"] = self.event_end | ||
| if self.verbosity >= 7: | ||
| remaining_charge_minutes = (1 - self.soc) * self.capacity / (self.max_power_ctrl * EV_EFFICIENCY) * 60 | ||
| results[f"{self.end_use} Remaining Charge Time (min)"] = remaining_charge_minutes | ||
| self.add_output(results, f"{self.end_use} SOC (-)", self.soc) | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is more a future comment if/when we address speed: this slightly bumps up our calculation time if we always calculate these with no intent to output them. I think speed is not very high on our list of priorities at the moment vs. functionality/calibration though.
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. self.add_output does support deferred calculation for expensive calculation (just pass a lambda) - and only performs it if the verbosity level requires that. We could use that for the more involved calculation. |
||
|
|
||
| self.add_output(results, f"{self.end_use} Unmet Load (kWh)", self.unmet_load) | ||
|
|
||
| self.add_output(results, f"{self.end_use} Parked", self.in_event) | ||
|
|
||
| self.add_output(results, f"{self.end_use} Start Time", self.event_start) | ||
|
|
||
| self.add_output(results, f"{self.end_use} End Time", self.event_end) | ||
|
|
||
| self.add_output( | ||
| results, | ||
| f"{self.end_use} Remaining Charge Time (min)", | ||
| lambda: (1 - self.soc) * self.capacity / (self.max_power_ctrl * EV_EFFICIENCY) * 60, | ||
| ) | ||
|
|
||
| if self.save_ebm_results: | ||
| results.update(self.make_equivalent_battery_model()) | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent!