Skip to content

Commit

Permalink
improving readme
Browse files Browse the repository at this point in the history
  • Loading branch information
ebalogun01 committed Dec 20, 2023
1 parent 2c63772 commit 1152084
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 9 deletions.
27 changes: 18 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,24 +150,33 @@ voltage violations per ANSI C84.1. The file also generates voltage distribution
SIMULATION_FOLDER variable which is the string of the path where the powerflow simulation output voltages at each node
exist.

`load_post_opt_costs.py` - This module is calculates the levelized cost of energy and populates into tables/cost matrices, which are saved in the
`load_post_opt_costs.py` - This module calculates the levelized cost of energy and populates into tables/cost matrices, which are saved in the
respective files and folders. The module also generates plots for the cost analysis.

`cost_analysis.py` - This module contains the `CostEstimator` class, which estimates the cost of the different grid and DER components
from the simulation.

## How to run
Create a new environment using `conda env create --name <your env name> -f environment.yml`OR
install packages listed in the environment manually (RECOMMENDED)
Ensure gridlabd is installed by following recommended installation method.
install packages listed in the environment manually. You can also use the `requirements.txt` file to install the required packages.

For battery test case:
* Navigate to `test_cases/battery/feeder_population` and run `feeder_population.py`. This uses the
Ensure gridlabd is installed by following recommended installation method if using the online (MPC) power system co-simulation functionality.

For offline (One-shot) optimization simulation:
* Open the `default_user_inputs.json` file in the root folder and modify the parameters as needed. The prepopulated
fields can be modified. Once the fields are modified as desired, navigate to `app.py` which is also in the root directory. Make sure the *test* is set to *False* (see below) in the `app.py` file.
<img src="doc_images/app_run_readme.png" width="200">

Then run `app.py`. This will run the simulation and generate the results in the `results` folder under the `analysis` directory. To perform post-simulation cost
analysis, navigate to the `analysis` folder and run `load_post_opt_costs.py`. This will generate the cost analysis plots and tables in the `analysis` folder.

For online MPC battery test case:
* Navigate to `test_cases/battery/feeder_population` and run `feeder_population_collocated.py` for collocated (DEFAULT) case or `feeder_population_centralized.py`. This uses the
`test_cases/battery/feeder_population/config.txt` settings to prepare the power system and populate the secondary
distribution network with time-varying base loads, EV charging stations, with the required transformers.
* Once confirmed that `feeder_population.py` has run successfully and generates the required `IEEE123_secondary.glm` and
`IEEE123_populated.glm` files, you are done with the initial pre-simulation run prep.
* Now navigate one level of out `/feeder_population` and run scenarios.py using `python3 scenarios.py`
distribution network with time-varying base loads, EV charging stations, Distributed Energy Resources (DERs - Solar, Storage), and required transformers.
* Once confirmed that `feeder_population_<CASE_TYPE>.py` (CASE_TYPE is either collocated or centralized) has run successfully and generates the required `IEEE123_secondary.glm` and
`IEEE123_populated.glm` files, you are done with the initial pre-simulation run preparation.
* Now navigate one level of out `/feeder_population` and run scenarios.py using `python3 scenarios.py` or `gridlabd python scenarios.py` (recommended).

For base case:
* Navigate to `EV50_cosimulation/feeder_population` and run `feeder_population.py`. This uses the
Expand Down
Binary file added doc_images/app_run_readme.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 1152084

Please sign in to comment.