Skip to content

Commit 30e4ece

Browse files
committed
dont truncate TimePeriod to days
Signed-off-by: vince <vince.white@zepben.com>
1 parent 5f0fb81 commit 30e4ece

File tree

3 files changed

+22
-13
lines changed

3 files changed

+22
-13
lines changed

changelog.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
* None.
2020

2121
### Fixes
22-
* None.
22+
* `TimePeriod` no longer truncates the `start_time` and `end_time` to midnight(`00:00:00`). `TimePeriod` will now preserve arbitrary start and end times to minute precision.
2323

2424
### Notes
2525
* None.

src/zepben/eas/client/work_package.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ class FixedTime:
148148
"""
149149

150150
def __init__(self, load_time: datetime, load_overrides: Optional[Dict[str, FixedTimeLoadOverride]] = None):
151-
self.load_time = load_time.replace(tzinfo=None)
151+
self.load_time = load_time.replace(second=0, microsecond=0, tzinfo=None)
152152
self.load_overrides = load_overrides
153153

154154

@@ -166,8 +166,8 @@ def __init__(
166166
load_overrides: Optional[Dict[str, TimePeriodLoadOverride]] = None
167167
):
168168
self._validate(start_time, end_time)
169-
self.start_time = start_time.replace(hour=0, minute=0, second=0, microsecond=0, tzinfo=None)
170-
self.end_time = end_time.replace(hour=0, minute=0, second=0, microsecond=0, tzinfo=None)
169+
self.start_time = start_time.replace(second=0, microsecond=0, tzinfo=None)
170+
self.end_time = end_time.replace(second=0, microsecond=0, tzinfo=None)
171171
self.load_overrides = load_overrides
172172

173173
@staticmethod

test/test_eas_client.py

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
Order
2727
from zepben.eas.client.study import Result
2828
from zepben.eas.client.work_package import FeederConfigs, TimePeriodLoadOverride, \
29-
FixedTime, NodeLevelResultsConfig
29+
FixedTime, NodeLevelResultsConfig, PVVoltVARVoltWattConfig
3030
from zepben.eas.client.work_package import WorkPackageConfig, TimePeriod, GeneratorConfig, ModelConfig, \
3131
FeederScenarioAllocationStrategy, LoadPlacement, MeterPlacementConfig, SwitchMeterPlacementConfig, SwitchClass, \
3232
SolveMode, RawResultsConfig
@@ -195,8 +195,8 @@ def test_get_work_package_cost_estimation_no_verify_success(httpserver: HTTPServ
195195
[1],
196196
["scenario"],
197197
TimePeriod(
198-
datetime(2022, 1, 1),
199-
datetime(2022, 1, 2),
198+
datetime(2022, 1, 1, 10),
199+
datetime(2022, 1, 2, 12),
200200
None
201201
)
202202
)
@@ -1092,8 +1092,8 @@ def run_opendss_export_request_handler(request):
10921092
}]
10931093
}} if isinstance(OPENDSS_CONFIG.load_time, FixedTime) else
10941094
{"timePeriod": {
1095-
"startTime": "2022-04-01T00:00:00",
1096-
"endTime": "2023-04-01T00:00:00",
1095+
"startTime": "2022-04-01T10:13:00",
1096+
"endTime": "2023-04-01T12:14:00",
10971097
"overrides": [{
10981098
'loadId': 'meter1',
10991099
'loadWattsOverride': [1.0],
@@ -1173,7 +1173,11 @@ def run_opendss_export_request_handler(request):
11731173
"ratingThreshold": 20.0,
11741174
"simplifyPLSIThreshold": 20.0,
11751175
"emergAmpScaling": 1.8,
1176-
'inverterControlConfig': None
1176+
'inverterControlConfig': {
1177+
'afterCutOffProfile': 'afterProfile',
1178+
'beforeCutOffProfile': 'beforeProfile',
1179+
'cutOffDate': '2024-04-12T11:42:00'
1180+
},
11771181
},
11781182
"solve": {
11791183
"normVMinPu": 0.9,
@@ -1218,8 +1222,8 @@ def run_opendss_export_request_handler(request):
12181222
year=2024,
12191223
feeder="feeder1",
12201224
load_time=TimePeriod(
1221-
datetime(2022, 4, 1),
1222-
datetime(2023, 4, 1),
1225+
datetime(2022, 4, 1, 10, 13),
1226+
datetime(2023, 4, 1, 12, 14),
12231227
{"meter1": TimePeriodLoadOverride([1.0], [2.0], [3.0], [4.0])}
12241228
),
12251229
model_name="TEST OPENDSS MODEL 1",
@@ -1286,7 +1290,12 @@ def run_opendss_export_request_handler(request):
12861290
use_span_level_threshold=True,
12871291
rating_threshold=20.0,
12881292
simplify_plsi_threshold=20.0,
1289-
emerg_amp_scaling= 1.8
1293+
emerg_amp_scaling=1.8,
1294+
inverter_control_config=PVVoltVARVoltWattConfig(
1295+
cut_off_date=datetime(2024, 4, 12, 11, 42),
1296+
beforeCutOffProfile="beforeProfile",
1297+
afterCutOffProfile="afterProfile"
1298+
)
12901299
),
12911300
SolveConfig(
12921301
norm_vmin_pu=0.9,

0 commit comments

Comments
 (0)