Skip to content

Commit c5f99d3

Browse files
committed
update to use get_opendss_model
Signed-off-by: vince <vince.white@zepben.com>
1 parent 9ddcf91 commit c5f99d3

2 files changed

Lines changed: 17 additions & 16 deletions

File tree

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
package_dir={'': 'src'},
2121
python_requires='>=3.9, <3.13',
2222
install_requires=[
23-
"zepben.eas==0.18.0",
23+
"zepben.eas==0.19.0",
2424
"zepben.evolve==0.45.0",
2525
"numba==0.60.0",
2626
"geojson==2.5.0",

src/zepben/examples/export_open_dss_model.py

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,24 +20,26 @@ def wait_for_export(eas_client: EasClient, model_id: int):
2020
total = 0
2121
print(f"Waiting for model generation ({wait_limit_seconds} seconds) ", end='')
2222
# Retrieve the model information for the model we just requested
23-
get_result = eas_client.get_paged_opendss_models()
24-
model = next(x for x in get_result["data"]["pagedOpenDssModels"]["models"] if x["id"] == model_id)
23+
model = eas_client.get_opendss_model(model_id)
2524
while model["state"] != "COMPLETED":
26-
get_result = eas_client.get_paged_opendss_models()
27-
model = next(x for x in get_result["data"]["pagedOpenDssModels"]["models"] if x["id"] == model_id)
25+
model = eas_client.get_opendss_model(model_id)
2826
print(".", end='')
2927
sleep(step_seconds)
3028
total += step_seconds
3129
if total > wait_limit_seconds:
3230
raise TimeoutError("Timed out waiting for model export to complete.")
3331

3432

35-
def download_generated_model(eas_client: EasClient, model_id: int):
33+
def download_generated_model(eas_client: EasClient, output_file_name: str, model_id: int):
3634
url = eas_client.get_opendss_model_download_url(model_id)
35+
if url == f'Model with id {model_id} is still being created':
36+
print(url)
37+
print("Download failed.")
38+
return
3739

3840
print(f"\nURL (30 second expiry): {url}", )
3941

40-
file_name = f"Opendss_export_output_model_{model_id}.zip"
42+
file_name = f"{output_file_name}-{model_id}.zip"
4143
print(f"Downloading model zip to: {file_name}")
4244

4345
try:
@@ -51,23 +53,22 @@ def download_generated_model(eas_client: EasClient, model_id: int):
5153

5254
def test_open_dss_export(export_file_name: str):
5355
eas_client = EasClient(
54-
"staging.dev.zb.energy",
56+
"<EAS_HOSTNAME>",
5557
443,
56-
verify_certificate=True,
57-
access_token="eyJraWQiOiI2ZDFiZGMxOS00MDEyLTQ4NzAtYjIzNy1lZTFlY2NkNTBiOTYiLCJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiNjU2ZWRiYWMtYzE0OS00NGFlLWIwODctYzMyYTA4Y2M4N2QwIiwiNmI5OTkzNTItMmIwZi00YTJkLThkMGMtYTI4YWExMWM1OTY2Il0sImlzcyI6Imh0dHBzOi8vc3RhZ2luZy5kZXYuemIuZW5lcmd5IiwiaWF0IjoxNzUyMjAxNzExLCJuYmYiOjE3NTIyMDE3MTEsImV4cCI6MTc1NDc5MzcxMSwidGtuIjoib3BlbmRzc19leHBvcnQiLCJyb2xlcyI6WyJTVVBFUl9BRE1JTiIsInJlYWQ6ZXdiIiwid3JpdGU6ZXdiIiwicmVhZDpjdXN0b21lciIsInJlYWQ6ZGlhZ3JhbSJdLCJuYW1lIjoiMzRiYjBjN2YtYjFiOS00Zjc4LTk4M2YtMjkyMzhjNzBiZGE5IiwiZW1haWwiOiJ2aW5jZS53aGl0ZUB6ZXBiZW4uY29tIiwic3ViIjoiMzRiYjBjN2YtYjFiOS00Zjc4LTk4M2YtMjkyMzhjNzBiZGE5Iiwib3JpZ2luYWxfcHJvdmlkZXIiOiJlbnRyYWlkIiwia3R5cCI6InVzZXIiLCJ2ZXIiOiIxLjAiLCJqdGkiOiIyM2NjMDEyOC1jOTIwLTRhZTgtYmFkNS05ODczNDkwZTE2MWYifQ.kufOk6UJpFPFXZesfm37141suiB9wy1_MBErvkJZ6junReOveXyhMm86KcO_T1cq-RLjqZVXA9KBy33J8B4HZbes7uMfVSevyRefeIAbVigjSjONjGNPz4xRRpCtk52NHfdqG8nfWCR8zOaupqVzzXCYe2JXKQRQcQ7uW1dJ7_bHpoCA4ZkNYsDINY8avVq1o7KdXqRks9OwTq2WGkIyxWm2dmO69EGd4-23E2difD418oPKjgKKGhljm8uKyW2FzwZ5vgzwuBVOPLzRsmUhimqyAtbrXQRsQyrb9x5uIt4qxrHsRXiL4aAti4alKI2hMdAadqAQ4YNXkMq00loDNK89vdGSnATLuVrOCBEpU4B2WYqIP9pJXrFnoAkHP7dZuChUjNM_oPRy7c0hQcHgmry_2g7jgr05Am58ngKIPahuHSEyHIUO9fER3U8-CX1pihfVsEdkc93KREQOr-ZrB1ivnIkp6wzFc9y3YHRVkA7Gpne7aOBA3vqlzzJEUyYb0xv82E023MJlgT7fpPrlzdO4bVTT-RfZBZ8DKRs3jiLQ4oqIVUDzptHln3CIoL0sFec3Mg3DaHWTU3jQ7IHdJ2T3n6CZyr3jNfkOa3yaUApf7WP-hoA-BeJGyKz056WovOy6BdAcnm5a3XwB-ODPlkD6ZtulVvtVy2ClhuK1QM8"
58+
access_token="<PERSONAL_ACCESS_TOKEN>"
5859
)
5960

6061
# Run an opendss export
6162
print("Sending OpenDss model export request to EAS")
6263

6364
response = eas_client.run_opendss_export(
6465
OpenDssConfig(
65-
scenario="1",
66+
scenario="Base",
6667
year=2024,
67-
feeder="WD24",
68+
feeder="<FEEDER_ID>",
6869
load_time=TimePeriod(
69-
datetime.strptime("2022-04-01T00:00:00", "%Y-%m-%dT%H:%M:%S"),
70-
datetime.strptime("2023-04-01T00:00:00", "%Y-%m-%dT%H:%M:%S")
70+
datetime.strptime("2024-04-01T00:00:00", "%Y-%m-%dT%H:%M:%S"),
71+
datetime.strptime("2025-04-01T00:00:00", "%Y-%m-%dT%H:%M:%S")
7172
),
7273
generator_config=GeneratorConfig(
7374
model=ModelConfig(
@@ -112,7 +113,7 @@ def test_open_dss_export(export_file_name: str):
112113
wait_for_export(eas_client, int(model_id))
113114

114115
# Request a download URL from EAS and download to a local file
115-
download_generated_model(eas_client, int(model_id))
116+
download_generated_model(eas_client, export_file_name, int(model_id))
116117

117118
except TimeoutError:
118119
print("\nERROR: Timed out waiting for model export to complete.")
@@ -121,4 +122,4 @@ def test_open_dss_export(export_file_name: str):
121122

122123

123124
if __name__ == "__main__":
124-
test_open_dss_export("monday_test")
125+
test_open_dss_export("test_export-model")

0 commit comments

Comments
 (0)