|
1 | | -# Introduction |
2 | | -TODO: Give a short introduction of your project. Let this section explain the objectives or the motivation behind this project. |
3 | | - |
4 | | -# Getting Started |
5 | | -TODO: Guide users through getting your code up and running on their own system. In this section you can talk about: |
6 | | -1. Installation process |
7 | | -2. Software dependencies |
8 | | -3. Latest releases |
9 | | -4. API references |
10 | | - |
11 | | -# Build and Test |
12 | | -TODO: Describe and show how to build your code and run the tests. |
13 | | - |
14 | | -# Contribute |
15 | | -TODO: Explain how other users and developers can contribute to make your code better. |
16 | | - |
17 | | -If you want to learn more about creating good readme files then refer the following [guidelines](https://docs.microsoft.com/en-us/azure/devops/repos/git/create-a-readme?view=azure-devops). You can also seek inspiration from the below readme files: |
18 | | -- [ASP.NET Core](https://github.com/aspnet/Home) |
19 | | -- [Visual Studio Code](https://github.com/Microsoft/vscode) |
20 | | -- [Chakra Core](https://github.com/Microsoft/ChakraCore) |
| 1 | +# Resource Adequacy Viewer Tool in Python (pyRAVT) |
| 2 | + |
| 3 | +<p align="center"> |
| 4 | + <img alt="pyRAVT" src="pyRAVT_logo.png"> |
| 5 | +</p> |
| 6 | + |
| 7 | +## Introduction |
| 8 | + |
| 9 | +The pyRAVT GitHub repository contains the Python code to run EPRI's Resource Adequacy Viewer Tool ([RAVT](https://www.epri.com/research/products/000000003002026144)). This tool calculates and visualizes various metrics used in resource adequacy (RA) assessments. |
| 10 | + |
| 11 | +Developed and maintained by EPRI's [Transmission Operations & Planning](https://top.epri.com/research-area/resource-adequacy) group, pyRAVT is a Python version of the original tool, which was built in R and can be accessed [here](https://ravt.epri.com). |
| 12 | + |
| 13 | +## Resource Adequacy Metrics |
| 14 | + |
| 15 | +RA metrics are used to measure whether a power system has adequate resources—including generation, demand-side contributions, and power imports—to meet electricity demand and maintain reliable service under various conditions. The following metrics are reported in pyRAVT: |
| 16 | + |
| 17 | +1. `LOLH` stands for Loss of Load Hours. This is the average event-hours per year across all of the simulated random samples. The unit of LOLH is hours/year. |
| 18 | +2. `LOLD` stands for Loss of Load Days. This is defined as the average number of event-periods per year across all of the random samples simulated. The LOLD metric can be applied to any time period length and must be clearly defined by the user. The unit of LOLD is days/year. In some regions, LOLD is assumed the same as LOLE or Loss of Load Expectation. |
| 19 | +3. `LOLP` stands for Loss of Load Probability. This is calculated as the total number of event-periods divided by the total number of time periods sampled. The LOLP metric can be applied to any time period length and study horizon, and must be clearly defined by the user. The unit of LOLP is %. |
| 20 | +4. `LOLEv` stands for Loss of Load Events. This is defined as the average number of events per year across all the simulated random samples. The unit of LOLEv is events/year. |
| 21 | +5. `EUE` stands for Expected Unserved Energy. This is the average load not served per year due to shortfall events across all the simulated random samples. The unit of EUE is MWh/year. |
| 22 | +6. `CVaR` stands for Conditional Value at Risk. This is the average event-hours or unserved load per year during extreme shortfall events. This is a metric calculated from the most severe or "tail-end" samples in a simulation. |
| 23 | + |
| 24 | +More information on RA metrics is available [here](https://msites.epri.com/resource-adequacy/metrics). |
| 25 | + |
| 26 | +## Getting Started |
| 27 | +### Installation Process |
| 28 | +To install pyRAVT, users have two options: cloning the GitHub repository or downloading a ZIP file. |
| 29 | + |
| 30 | +1. Cloning the Repository: To clone the repository using the command prompt (on Windows) or terminal, use the following command: `git clone https://github.com/epri-dev/XXXXXX`. This will create a local copy of the project. |
| 31 | +2. Downloading a ZIP file: If users prefer to download the files directly, navigate to the GitHub page and click the `Code` button, then select `Download ZIP`. Once the download is complete, extract the contents of the ZIP file to your preferred location. |
| 32 | + |
| 33 | +### Dependencies |
| 34 | +- pandas |
| 35 | +- seaborn |
| 36 | +- matplotlib |
| 37 | +- numpy |
| 38 | +- plotly |
| 39 | + |
| 40 | +### Running pyRAVT |
| 41 | +After installation, |
| 42 | +1. Open the `input` folder. |
| 43 | +2. Save the hourly unserved energy results to the file unserved_energy.csv within the `input` folder. Make sure the file includes nine column headers: Scenario_Name, Weather_Year, Sample_Number, Zone_Name, Year, Month, Day, Hour, and Unserved_Energy_MWh. |
| 44 | +3. Open Visual Studio Code. |
| 45 | +4. Open the `pyRAVT` notebook in Visual Studio Code. |
| 46 | +5. Update the inputs to the following parameters: `no_samples`, `no_weather_years`, `start_weather_year`, `end_weather_year`, `figure_width`, `figure_height`, `no_columns`, and `CVaR_alpha`. |
| 47 | +6. Save the `pyRAVT` notebook. |
| 48 | +7. Execute the `Run All` command within the environment. |
| 49 | +8. Output files will be generated in the `output` folder. |
| 50 | + |
| 51 | +### Version History |
| 52 | +#### Version 0.1.0 |
| 53 | +Initial version |
| 54 | + |
| 55 | +## Contacts |
| 56 | +For more information, please contact: |
| 57 | +- Jo Ann Rañola, [jranola@epri.com](mailto:JRanola@epri.com) |
| 58 | +- Irene Danti Lopez, [jranola@epri.com](mailto:IDantiLopez@epri.com) |
| 59 | +- Anna Lafoyiannis, [ALafoyiannis@epri.com](mailto:ALafoyiannis@epri.com) |
0 commit comments