From 22225dcb592190c79b6ceeb3284292bc6bc5467e Mon Sep 17 00:00:00 2001 From: Bram Stoeller Date: Thu, 2 Mar 2023 15:42:57 +0100 Subject: [PATCH] Basic Jupyter notebook for sim-bench conversion Signed-off-by: Bram Stoeller --- docs/examples/sim_bench_example.ipynb | 98 +++++++++++++++++++ docs/examples/sim_bench_example.ipynb.license | 3 + 2 files changed, 101 insertions(+) create mode 100644 docs/examples/sim_bench_example.ipynb create mode 100644 docs/examples/sim_bench_example.ipynb.license diff --git a/docs/examples/sim_bench_example.ipynb b/docs/examples/sim_bench_example.ipynb new file mode 100644 index 00000000..3b1bb442 --- /dev/null +++ b/docs/examples/sim_bench_example.ipynb @@ -0,0 +1,98 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "96e4fce1", + "metadata": {}, + "outputs": [], + "source": [ + "# Imports\n", + "from pathlib import Path\n", + "from power_grid_model import PowerGridModel\n", + "from power_grid_model_io.converters.pgm_json_converter import PgmJsonConverter\n", + "from power_grid_model_io.converters.sim_bench_converter import SimBenchConverter" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cf28c2c6", + "metadata": {}, + "outputs": [], + "source": [ + "# Load source\n", + "simbench_code = \"1-complete_data-mixed-all-0-sw\"\n", + "simbench_converter = SimBenchConverter(simbench_code)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fcedddf5", + "metadata": {}, + "outputs": [], + "source": [ + "# Convert to PGM\n", + "input_data, extra_info = simbench_converter.load_input_data()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "237b3557", + "metadata": {}, + "outputs": [], + "source": [ + "# Store the source data in JSON format\n", + "converter = PgmJsonConverter(destination_file=f\"data/sim-bench/{simbench_code}_input.json\")\n", + "converter.save(data=input_data, extra_info=extra_info)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3cf1dab7", + "metadata": {}, + "outputs": [], + "source": [ + "# Perform power flow calculation\n", + "grid = PowerGridModel(input_data=input_data)\n", + "output_data = grid.calculate_power_flow()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "315649ed", + "metadata": {}, + "outputs": [], + "source": [ + "# Store the result data in JSON format\n", + "converter = PgmJsonConverter(destination_file=f\"data/sim-bench/{simbench_code}_output.json\")\n", + "converter.save(data=output_data, extra_info=extra_info)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/examples/sim_bench_example.ipynb.license b/docs/examples/sim_bench_example.ipynb.license new file mode 100644 index 00000000..f58b56c6 --- /dev/null +++ b/docs/examples/sim_bench_example.ipynb.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2022 Contributors to the Power Grid Model project + +SPDX-License-Identifier: MPL-2.0