From 729341e4a58d8ae27092e8f70f1aaaffa760ec0c Mon Sep 17 00:00:00 2001 From: ashwinmaran <amaran@wisc.edu> Date: Tue, 10 Oct 2023 21:29:59 -0500 Subject: [PATCH] add lab-p6 and p6 --- p6/README.md | 50 + p6/images/README.md | 3 + p6/images/add_group_member.png | Bin 0 -> 160694 bytes p6/images/gradescope.png | Bin 0 -> 61912 bytes p6/images/summary.png | Bin 0 -> 20543 bytes p6/p6.ipynb | 2708 ++++++++++++++++++++++++++++++++ p6/power_generators.csv | 614 ++++++++ p6/public_tests.py | 843 ++++++++++ p6/rubric.md | 153 ++ 9 files changed, 4371 insertions(+) create mode 100644 p6/README.md create mode 100644 p6/images/README.md create mode 100644 p6/images/add_group_member.png create mode 100644 p6/images/gradescope.png create mode 100644 p6/images/summary.png create mode 100644 p6/p6.ipynb create mode 100644 p6/power_generators.csv create mode 100644 p6/public_tests.py create mode 100644 p6/rubric.md diff --git a/p6/README.md b/p6/README.md new file mode 100644 index 0000000..ab42db5 --- /dev/null +++ b/p6/README.md @@ -0,0 +1,50 @@ +# Project 6 (P6): Investigating Airbnb Data + +## Corrections and clarifications: + +* None yet. + +**Find any issues?** Report to us: + +- Yuheng Wu <wu459@wisc.edu> +- Abhinav Harish <aharish2@wisc.edu> +- Tunan Wang <tunan.wang@wisc.edu> +- Shutong Wu <shutong.wu@wisc.edu> +- Yunfu Deng <yunfu.deng@wisc.edu> + +## Note on Academic Misconduct: +You are **allowed** to work with a partner on your projects. While it is not required that you work with a partner, it is **recommended** that you find a project partner as soon as possible as the projects will get progressively harder. Be careful **not** to work with more than one partner. If you worked with a partner on Lab-P6, you are **not** allowed to finish your project with a different partner. You may either continue to work with the same partner, or work on P6 alone. Now may be a good time to review our [course policies](https://cs220.cs.wisc.edu/f23/syllabus.html). + +## Instructions: + +This project will focus on **accessing data in csv file** and **string methods**. To start, download [`p6.ipynb`](https://git.doit.wisc.edu/cdis/cs/courses/cs220/cs220-f23-projectdesign/-/raw/main/p6/p6.ipynb), [`public_tests.py`](https://git.doit.wisc.edu/cdis/cs/courses/cs220/cs220-f23-projectdesign/-/raw/main/p6/public_tests.py) and [`power_generators.csv`](https://git.doit.wisc.edu/cdis/cs/courses/cs220/cs220-f23-projectdesign/-/raw/main/p6/power_generators.csv). + +**Note:** Please go through [Lab-P6](https://git.doit.wisc.edu/cdis/cs/courses/cs220/cs220-f23-projects/-/tree/main/lab-p6) before you start the project. The lab contains some very important information that will be necessary for you to finish the project. + +You will work on `p6.ipynb` and hand it in. You should follow the provided directions for each question. Questions have **specific** directions on what **to do** and what **not to do**. + +After you've downloaded the file to your `p6` directory, open a terminal window and use `cd` to navigate to that directory. To make sure you're in the correct directory in the terminal, type `pwd`. To make sure you've downloaded the notebook file, type `ls` to ensure that `p6.ipynb`, `public_tests.py`, and `power_generators.csv` are listed. Then run the command `jupyter notebook` to start Jupyter, and get started on the project! + +**IMPORTANT**: You should **NOT** terminate/close the session where you run the above command. If you need to use any other Terminal/PowerShell commands, open a new window instead. Keep constantly saving your notebook file, by either clicking the "Save and Checkpoint" button (floppy disk) or using the appropriate keyboard shortcut. + +------------------------------ + +## IMPORTANT Submission instructions: +- Review the [Grading Rubric](https://git.doit.wisc.edu/cdis/cs/courses/cs220/cs220-f23-projects/-/tree/main/p6/rubric.md), to ensure that you don't lose points during code review. +- Login to [Gradescope](https://www.gradescope.com/) and upload the zip file into the P6 assignment. +- If you completed the project with a **partner**, make sure to **add their name** by clicking "Add Group Member" +in Gradescope when uploading the P6 zip file. + + <img src="images/add_group_member.png" width="400"> + + **Warning:** You will have to add your partner on Gradescope even if you have filled out this information in your `p6.ipynb` notebook. + +- It is **your responsibility** to make sure that your project clears auto-grader tests on the Gradescope test system. Otter test results should be available within forty minutes after your submission (usually within ten minutes). **Ignore** the `-/100.00` that is displayed to the right. You should be able to see both PASS / FAIL results for the 20 test cases, which is accessible via Gradescope Dashboard (as in the image below): + + <img src="images/gradescope.png" width="400"> + +- You can view your **final score** at the **end of the page**. If you pass all tests, then you will receive **full points** for the project. Otherwise, you can see your final score in the **summary** section of the test results (as in the image below): + + <img src="images/summary.png" width="400"> + + If you want more details on why you lost points on a particular test, you can scroll up to find more details about the test. diff --git a/p6/images/README.md b/p6/images/README.md new file mode 100644 index 0000000..723be3c --- /dev/null +++ b/p6/images/README.md @@ -0,0 +1,3 @@ +# Images + +Images from p6 are stored here. diff --git a/p6/images/add_group_member.png b/p6/images/add_group_member.png new file mode 100644 index 0000000000000000000000000000000000000000..402e5962e3e54ce8349f60ccfe4ce2b60840dd3b GIT binary patch literal 160694 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 G^#1`nq_8jm literal 0 HcmV?d00001 diff --git a/p6/images/gradescope.png b/p6/images/gradescope.png new file mode 100644 index 0000000000000000000000000000000000000000..7441faae41d8eb98bfceeb78855b67896b1ff911 GIT binary patch literal 61912 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 literal 0 HcmV?d00001 diff --git a/p6/images/summary.png b/p6/images/summary.png new file mode 100644 index 0000000000000000000000000000000000000000..4a63e32ff1a29903584746aa4873373855558e7b GIT binary patch literal 20543 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 literal 0 HcmV?d00001 diff --git a/p6/p6.ipynb b/p6/p6.ipynb new file mode 100644 index 0000000..7354a26 --- /dev/null +++ b/p6/p6.ipynb @@ -0,0 +1,2708 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "8da9b8bc", + "metadata": { + "cell_type": "code", + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "# import and initialize otter\n", + "import otter\n", + "grader = otter.Notebook(\"p6.ipynb\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dba7dff6", + "metadata": { + "editable": false, + "execution": { + "iopub.execute_input": "2023-10-11T02:27:47.438834Z", + "iopub.status.busy": "2023-10-11T02:27:47.438834Z", + "iopub.status.idle": "2023-10-11T02:27:48.833718Z", + "shell.execute_reply": "2023-10-11T02:27:48.832693Z" + } + }, + "outputs": [], + "source": [ + "import public_tests" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c2d3d239", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:48.838719Z", + "iopub.status.busy": "2023-10-11T02:27:48.837718Z", + "iopub.status.idle": "2023-10-11T02:27:48.843512Z", + "shell.execute_reply": "2023-10-11T02:27:48.842503Z" + } + }, + "outputs": [], + "source": [ + "# PLEASE FILL IN THE DETAILS\n", + "# enter none if you don't have a project partner\n", + "# you will have to add your partner as a group member on Gradescope even after you fill this\n", + "\n", + "# project: p6\n", + "# submitter: NETID1\n", + "# partner: NETID2\n", + "# hours: ????" + ] + }, + { + "cell_type": "markdown", + "id": "b350efe9", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "# Project 6: Power Generators in Wisconsin" + ] + }, + { + "cell_type": "markdown", + "id": "7d055979", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "## Learning Objectives:\n", + "\n", + "In this project, you will demonstrate how to:\n", + "\n", + "* access and utilize data in CSV files,\n", + "* process real world datasets,\n", + "* use string methods and sorting function / method to order data.\n", + "\n", + "Please go through [Lab-P6](https://git.doit.wisc.edu/cdis/cs/courses/cs220/cs220-f23-projects/-/tree/main/lab-p6) before working on this project. The lab introduces some useful techniques related to this project." + ] + }, + { + "cell_type": "markdown", + "id": "d37abde3", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "## Testing your code:\n", + "\n", + "Along with this notebook, you must have downloaded the file `public_tests.py`. If you are curious about how we test your code, you can explore this file, and specifically the function `get_expected_json`, to understand the expected answers to the questions." + ] + }, + { + "cell_type": "markdown", + "id": "d3175a0d", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "## Project Description:\n", + "\n", + "In this project, we will use Python to analyze Electric Power Generation within the state of Wisconsin. The data used in this project has been adapted from [this dataset](https://www.eia.gov/electricity/data/eia860m/) maintained by the **US Energy Information Administration**. `power_generators.csv` has data of all 613 power generators within the state of Wisconsin that were in operation as of August 2023. This file includes information about the capacities, locations, and the technologies used by the generators." + ] + }, + { + "cell_type": "markdown", + "id": "93ed6c93", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "## Dataset:\n", + "\n", + "A small portion of the dataset `power_generators.csv` you will be working with for this project is reproduced here:" + ] + }, + { + "cell_type": "markdown", + "id": "d0621cd2", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "entity_id|entity_name|plant_id|plant_name|generator_id|county|net_summer_capacity|net_winter_capacity|technology|latitude|longitude\n", + "---|---|---|---|---|---|---|---|---|---|---\n", + "13781|Northern States Power Co - Minnesota|1756|Saxon Falls|1|Iron|0.5|0.5|Conventional Hydroelectric|46.5392|-90.3742\n", + "13781|Northern States Power Co - Minnesota|1756|Saxon Falls|2|Iron|0.5|0.6|Conventional Hydroelectric|46.5392|-90.3742\n", + "20847|Wisconsin Electric Power Co|1775|Brule|1|Florence|1.3|1.3|Conventional Hydroelectric|45.9472|-88.2189\n", + "20847|Wisconsin Electric Power Co|1775|Brule|2|Florence|2|2|Conventional Hydroelectric|45.9472|-88.2189\n", + "20847|Wisconsin Electric Power Co|1775|Brule|3|Florence|2|2|Conventional Hydroelectric|45.9472|-88.2189" + ] + }, + { + "cell_type": "markdown", + "id": "8f075c07", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "Each row of data represents a **single** generator. The columns contain the following data about each generator (along with the correct data type you **must** represent it as):\n", + "\n", + "1. `entity_id` - the **ID** of the **entity** that operates the Power Generator (`int`)\n", + "2. `entity_name` - the **name** of the **entity** that operates the Power Generator (`str`)\n", + "3. `plant_id` - the **ID** of the **Power Plant** hosting the Power Generator (`int`)\n", + "4. `plant_name` - the **name** of the **Power Plant** hosting the Power Generator (`str`)\n", + "5. `generator_id` - the **ID** of the specific **Power Generator** within its Power Plant (`str`)\n", + "6. `county` - the **name** of the **county** that the **Power Plant** is located in (`str`)\n", + "7. `net_summer_capacity` - the maximum **capacity** of the **Power Generator** (in units of MW) during the Summer months (`float`)\n", + "8. `net_winter_capacity` - the maximum **capacity** of the **Power Generator** (in units of MW) during the Winter months (`float`)\n", + "9. `technology` - the **technology** used by the **Power Generator** (`str`)\n", + "10. `latitude` - the **latitude** where the **Power Plant** is located (`float`)\n", + "11. `longitude` - the **longitude** where the **Power Plant** is located (`float`)\n", + "\n", + "You can find more details on the dataset in [Lab-P6](https://git.doit.wisc.edu/cdis/cs/courses/cs220/cs220-f23-projects/-/tree/main/lab-p6)." + ] + }, + { + "cell_type": "markdown", + "id": "e1259d94", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "## Project Requirements:\n", + "\n", + "You **may not** hardcode indices in your code unless specified in the question. If you are not sure what hardcoding is, here is a simple test you can use to determine whether you have hardcoded:\n", + "\n", + "*If we were to change the data (e.g. add more power generators, remove some power generators, or swap some columns or rows), would your code still find the correct answer to the question as it is asked?*\n", + "\n", + "If your answer to that question is *No*, then you have likely hardcoded something. Please reach out to TAs/PMs during office hours to find out how you can **avoid hardcoding**.\n", + "\n", + "**Store** your final answer for each question in the **variable specified for each question**. This step is important because Otter grades your work by comparing the value of this variable against the correct answer.\n", + "\n", + "For some of the questions, we'll ask you to write (then use) a function to compute the answer. If you compute the answer **without** creating the function we ask you to write, the Gradescope autograder will **deduct** points, even if the way you did it produced the correct answer.\n", + "\n", + "Required Functions:\n", + "- `process_csv`\n", + "- `cell`\n", + "- `find_entities_with_phrase`\n", + "- `num_generators_by`\n", + "- `find_indices_within`\n", + "- `median`\n", + "- `total_summer_capacity_of`\n", + "- `avg_winter_capacity_of`\n", + " \n", + "Students are only allowed to use Python commands and concepts that have been taught in the course prior to the release of P6. Therefore, **you should not use concepts/modules such as dictionaries, or the pandas module, to name a few examples**. Otherwise, the Gradescope autograder will **deduct** points, even if the way you did it produced the correct answer.\n", + "\n", + "For more details on what will cause you to lose points during code review and specific requirements, please take a look at the [Grading rubric](https://git.doit.wisc.edu/cdis/cs/courses/cs220/cs220-f23-projects/-/blob/main/p6/rubric.md)." + ] + }, + { + "cell_type": "markdown", + "id": "15954a07", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "## Questions and Functions:\n", + "\n", + "Let us start by importing all the modules we will need for this project." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cb349cfe", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:48.848521Z", + "iopub.status.busy": "2023-10-11T02:27:48.848521Z", + "iopub.status.idle": "2023-10-11T02:27:48.853596Z", + "shell.execute_reply": "2023-10-11T02:27:48.852585Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# it is considered a good coding practice to place all import statements at the top of the notebook\n", + "# please place all your import statements in this cell if you need to import any more modules for this project\n" + ] + }, + { + "cell_type": "markdown", + "id": "1545f366", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "### Function 0: `cell`\n", + "\n", + "Copy and paste the `process_csv` and `cell` functions from your Lab-P6 notebook to the cell below.\n", + "\n", + "You are expected to call the `process_csv` function correctly, and read the data on `power_generators.csv`. After reading the file, define the `csv_header`, and `csv_rows` variables as in Lab-P6, and define the `cell` function.\n", + "\n", + "**Important:** You **must** only use the `cell` function to extract data from the dataset. If you extract any data without explicitly using this function, the Gradescope autograder will **deduct points**." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fcc96412", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:48.858595Z", + "iopub.status.busy": "2023-10-11T02:27:48.857615Z", + "iopub.status.idle": "2023-10-11T02:27:48.868258Z", + "shell.execute_reply": "2023-10-11T02:27:48.867246Z" + }, + "tags": [] + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "58b80213", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"cell\")" + ] + }, + { + "cell_type": "markdown", + "id": "f7954e7e", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "**Question 1:** What **unique** technologies (`technology`) are used by the power generators in Wisconsin?\n", + "\n", + "Your output **must** be a *list* which stores all the **unique** technologies (i.e., without any duplicates). The order **does not** matter." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "558e7e76", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:48.934460Z", + "iopub.status.busy": "2023-10-11T02:27:48.933458Z", + "iopub.status.idle": "2023-10-11T02:27:48.945678Z", + "shell.execute_reply": "2023-10-11T02:27:48.944668Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# compute and store the answer in the variable 'technologies', then display it\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d537fb5d", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q1\")" + ] + }, + { + "cell_type": "markdown", + "id": "da1c7aff", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "**Question 2:** How many power generators are in the `county` *Dane*?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "640e47c1", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:49.002883Z", + "iopub.status.busy": "2023-10-11T02:27:49.001885Z", + "iopub.status.idle": "2023-10-11T02:27:49.010638Z", + "shell.execute_reply": "2023-10-11T02:27:49.009630Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# compute and store the answer in the variable 'count_dane', then display it\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5800b3c0", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q2\")" + ] + }, + { + "cell_type": "markdown", + "id": "aaa4d1c5", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "**Question 3:** What is the **total** `net_summer_capacity` of all the power generators in Wisconsin?\n", + "\n", + "Your answer **must** be a **float** that represents the total `net_summer_capacity`. You **must** **ignore** all power generators whose `net_summer_capacity` data is **missing**." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "948071a4", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:49.055016Z", + "iopub.status.busy": "2023-10-11T02:27:49.054015Z", + "iopub.status.idle": "2023-10-11T02:27:49.064338Z", + "shell.execute_reply": "2023-10-11T02:27:49.063329Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# compute and store the answer in the variable 'total_summer_capacity', then display it" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b57617f1", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q3\")" + ] + }, + { + "cell_type": "markdown", + "id": "dd6c8651", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "### Function 1: `find_entities_with_phrase(phrase)`\n", + "\n", + "We require you to complete the below function. You can review string methods from any of these lecture slides: [Mike](https://canvas.wisc.edu/courses/374263/files/folder/Mikes_Lecture_Notes/Lec13_Strings), [Gurmail](https://git.doit.wisc.edu/cdis/cs/courses/cs220/cs220-lecture-material/-/tree/main/f23/Gurmail_Lecture_Notes/13_Strings), or [Cole](https://git.doit.wisc.edu/cdis/cs/courses/cs220/cs220-lecture-material/-/tree/main/f23/Cole_Lecture_Notes/13_Strings)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dcb08e62", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:49.106523Z", + "iopub.status.busy": "2023-10-11T02:27:49.106523Z", + "iopub.status.idle": "2023-10-11T02:27:49.113072Z", + "shell.execute_reply": "2023-10-11T02:27:49.112064Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "def find_entities_with_phrase(phrase):\n", + " \"\"\"\n", + " find_entities_with_phrase(phrase) returns a list of all the entity names\n", + " WITHOUT duplicates that CONTAIN the substring\n", + " (case insensitive match) `phrase`.\n", + " \"\"\"\n", + " pass # replace with your code\n", + " # TODO: create an empty list\n", + " # TODO: check if the entity name string contains phrase (case insensitive match)\n", + " # TODO: if so, add these entity names to the list (the entity names should be as in the dataset)\n", + " # TODO: return your list of entity names after removing duplicates" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "54f9b43d", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"find_entities_with_phrase\")" + ] + }, + { + "cell_type": "markdown", + "id": "ed32d8f2", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "**Question 4:** Find all entity names (`entity_name`) that contain the string *\"Madison\"* (case insensitive).\n", + " \n", + "Your output **must** be a **list**. The order **does not** matter. You **must** use the `find_entities_with_phrase` function to answer this question." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c540e0c8", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:49.164805Z", + "iopub.status.busy": "2023-10-11T02:27:49.164805Z", + "iopub.status.idle": "2023-10-11T02:27:49.172798Z", + "shell.execute_reply": "2023-10-11T02:27:49.171789Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# compute and store the answer in the variable 'madison_entities', then display it\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0a781c1c", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q4\")" + ] + }, + { + "cell_type": "markdown", + "id": "eeeac007", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "**Question 5:** Find all entity names (`entity_name`) that contain **either** *\"Wisconsin\"* **or** *\"Power\"* (case insensitive).\n", + "\n", + "If an entity's name contains **both** *\"Wisconsin\"* and *\"Power\"*, then the `entity_name` must be included **only once** in your list.\n", + "\n", + "Your output **must** be a **list**. The order **does not** matter.\n", + "\n", + "**Hint**: You can use the `find_entities_with_phrase` function on *\"Wisconsin\"* and *\"Power\"* to answer this question." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1f63eeb7", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:49.196177Z", + "iopub.status.busy": "2023-10-11T02:27:49.196177Z", + "iopub.status.idle": "2023-10-11T02:27:49.204674Z", + "shell.execute_reply": "2023-10-11T02:27:49.203662Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# compute and store the answer in the variable 'entities_contain_wisconsin_power', then display it\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "815f8251", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q5\")" + ] + }, + { + "cell_type": "markdown", + "id": "ec8a711a", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "**Question 6:** Find all entity names (`entity_name`) that contain **both** *\"Solar\"* **and** *\"LLC\"* (case insensitive).\n", + "\n", + "Your output **must** be a **list**. The order **does not** matter.\n", + "\n", + "**Hint**: You can use the `find_entities_with_phrase` function on *\"Solar\"* and *\"LLC\"* to answer this question." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8f243866", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:49.244229Z", + "iopub.status.busy": "2023-10-11T02:27:49.244229Z", + "iopub.status.idle": "2023-10-11T02:27:49.253218Z", + "shell.execute_reply": "2023-10-11T02:27:49.252210Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# compute and store the answer in the variable 'entities_contain_solar_llc', then display it\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c7bd0a09", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q6\")" + ] + }, + { + "cell_type": "markdown", + "id": "d7f1fe7c", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "**Question 7:** Find the generator IDs (`generator_id`) of all the generators that use the `technology` *\"Wood/Wood Waste Biomass\"* within the power plant with the `plant_id` *50614*.\n", + "\n", + "Your output **must** be a *list*. The IDs **must** be sorted in **descending (alphabetical) order**." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "14e60189", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:49.294837Z", + "iopub.status.busy": "2023-10-11T02:27:49.294837Z", + "iopub.status.idle": "2023-10-11T02:27:49.303357Z", + "shell.execute_reply": "2023-10-11T02:27:49.302349Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# compute and store the answer in the variable 'plant_50614_generators', then display it\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "16793e9a", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q7\")" + ] + }, + { + "cell_type": "markdown", + "id": "1e4c8af3", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "**Question 8:** What are the power plants (`plant_name`) that contain generators which use the `technology` *Conventional Hydroelectric* and have a `net_summer_capacity` greater than *5*?\n", + "\n", + "You **must** **ignore** all generators with **missing** `net_summer_capacity` data.\n", + "\n", + "Your output **must** be a *list* of **unique** plant names (`plant_name`). The names **must** be sorted in **ascending (alphabetical) order**." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "22bf0bd6", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:49.362779Z", + "iopub.status.busy": "2023-10-11T02:27:49.362779Z", + "iopub.status.idle": "2023-10-11T02:27:49.371703Z", + "shell.execute_reply": "2023-10-11T02:27:49.371703Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# compute and store the answer in the variable 'powerful_hydro_electric_plants', then display it\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "311ca32a", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q8\")" + ] + }, + { + "cell_type": "markdown", + "id": "e4b088bd", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "### Function 2: `num_generators_by(entity_name)`\n", + "\n", + "We require you to complete the below function." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c15d3cff", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:49.431821Z", + "iopub.status.busy": "2023-10-11T02:27:49.431821Z", + "iopub.status.idle": "2023-10-11T02:27:49.437784Z", + "shell.execute_reply": "2023-10-11T02:27:49.436774Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "def num_generators_by(entity_name):\n", + " \"\"\"\n", + " num_generators_by(entity_name) returns the number of\n", + " power generators operated by the given `entity_name`\n", + " (case sensitive match).\n", + " \"\"\"\n", + " pass # replace with your code" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "176f7127", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"num_generators_by\")" + ] + }, + { + "cell_type": "markdown", + "id": "6d7c9ad7", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "**Question 9:** How **many** generators are operated by the entity (`entity_name`) *Madison Gas & Electric Co*?\n", + "\n", + "You **must** use the `num_generators_by` function to answer this question." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7b63cd92", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:49.471254Z", + "iopub.status.busy": "2023-10-11T02:27:49.471254Z", + "iopub.status.idle": "2023-10-11T02:27:49.478589Z", + "shell.execute_reply": "2023-10-11T02:27:49.477579Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# compute and store the answer in the variable 'num_generators_by_mge', then display it\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b4295606", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q9\")" + ] + }, + { + "cell_type": "markdown", + "id": "cd774290", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "**Question 10:** How **many** generators are operated by entities whose name (`entity_name`) **contains** the **phrase** *River* (case insensitive)?\n", + "\n", + "You **must** use the `num_generators_by` and `find_entities_with_phrase` functions to answer this question." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "47a40343", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:49.501049Z", + "iopub.status.busy": "2023-10-11T02:27:49.501049Z", + "iopub.status.idle": "2023-10-11T02:27:49.508903Z", + "shell.execute_reply": "2023-10-11T02:27:49.507894Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# compute and store the answer in the variable 'num_generators_by_river', then display it\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "be57d52b", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q10\")" + ] + }, + { + "cell_type": "markdown", + "id": "e9461f73", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "**Question 11:** Which entity (`entity_name`) operates the **most** number of generators within Wisconsin?\n", + "\n", + "You **must** use the `num_generators_by` function to answer this question. You do **not** have to worry about any ties. There is a **unique** entity with the most number of generators in the dataset.\n", + "\n", + "**Hint**: You must first create a list of unique entities (`entity_name`) in the dataset, then loop through them to find the entity with the most number of generators.\n", + "\n", + "**Extra Hint**: If you are clever about it, you can generate a list of all the unique entities using the `find_entities_with_phrase` function. You do **not** have to answer this question that way, but try to find out how you can use it here!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "005d5411", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:49.549342Z", + "iopub.status.busy": "2023-10-11T02:27:49.549342Z", + "iopub.status.idle": "2023-10-11T02:27:49.615539Z", + "shell.execute_reply": "2023-10-11T02:27:49.614528Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# compute and store the answer in the variable 'most_generators_entity', then display it\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e2779914", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q11\")" + ] + }, + { + "cell_type": "markdown", + "id": "4b5dc3a0", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "### Function 3: `find_indices_within(lat_min, lat_max, long_min, long_max)` \n", + "\n", + "We require you to complete the below function." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c6802dc2", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:49.667401Z", + "iopub.status.busy": "2023-10-11T02:27:49.666398Z", + "iopub.status.idle": "2023-10-11T02:27:49.673783Z", + "shell.execute_reply": "2023-10-11T02:27:49.672567Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "def find_indices_within(lat_min, lat_max, long_min, long_max):\n", + " \"\"\"\n", + " find_indices_within(lat_min, lat_max, long_min, long_max) returns a\n", + " list of *row indices* of all generators located within the\n", + " latitudes `lat_min` and `lat_max` (both inclusive) and the\n", + " longitudes `long_min` and `long_max` (both inclusive).\n", + " \"\"\"\n", + " pass # replace with your code" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e5488d98", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"find_indices_within\")" + ] + }, + { + "cell_type": "markdown", + "id": "18c74fa6", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "**Question 12:** How **many** power generators are located **within** the *City of Milwaukee* (`42.9870 <= latitude <= 43.1936`, `-88.0636 <= longitude <= -87.8727`)?\n", + "\n", + "Note that simply checking if the `county` is *Milwaukee* will lead you to count generators that are within *Milwaukee County*, but not within the City. Use the coordinates given above to determine the generators that lie within the City.\n", + "\n", + "You **must** use the `find_indices_within` function to answer this question." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "aee6c489", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:49.719054Z", + "iopub.status.busy": "2023-10-11T02:27:49.719054Z", + "iopub.status.idle": "2023-10-11T02:27:49.729853Z", + "shell.execute_reply": "2023-10-11T02:27:49.728843Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# compute and store the answer in the variable 'num_generators_in_milwaukee', then display it\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ff3ece04", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q12\")" + ] + }, + { + "cell_type": "markdown", + "id": "6f4513b3", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "**Question 13:** What are the **unique** technologies (`technology`) used by power generators located **near** the *University of Wisconsin-Madison Department of Computer Sciences* (`43.0675 <= latitude <= 43.0725`, `-89.4100 <= longitude <= -89.4000`)?\n", + "\n", + "You may assume that any power generator that lies within the coordinates given above are **near** the *University of Wisconsin-Madison Department of Computer Sciences*. You **must** use the `find_indices_within` function to answer this question.\n", + "\n", + "You **must** return a **list** of **unique** technologies. The order **does not** matter. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5f1b89a6", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:49.771496Z", + "iopub.status.busy": "2023-10-11T02:27:49.769497Z", + "iopub.status.idle": "2023-10-11T02:27:49.785802Z", + "shell.execute_reply": "2023-10-11T02:27:49.784788Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# compute and store the answer in the variable 'uw_madison_technologies', then display it\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8159bf47", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q13\")" + ] + }, + { + "cell_type": "markdown", + "id": "53ceb4f6", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "**Question 14:** Which power plant (`plant_name`) in *North Wisconsin* (`44.9657 <= latitude <= 46.6989`, `-92.1908 <= longitude <= -87.6449`) has the generator with the **highest** `net_summer_capacity`?\n", + "\n", + "You may assume that any power generator that lies within the coordinates given above are **in** *North Wisconsin*. You **may** assume that **none** of the `net_summer_capacity` values of any of the power generators within this area are **missing**.\n", + "\n", + "You do **not** have to worry about any ties. There is a **unique** generator in *North Wisconsin* with the highest `net_summer_capacity`.\n", + "\n", + "You **must** use the `find_indices_within` function to answer this question." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4b85701d", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:49.850101Z", + "iopub.status.busy": "2023-10-11T02:27:49.849103Z", + "iopub.status.idle": "2023-10-11T02:27:49.865571Z", + "shell.execute_reply": "2023-10-11T02:27:49.864561Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# compute and store the answer in the variable 'north_wisconsin_most_powerful', then display it\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4e6aa753", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q14\")" + ] + }, + { + "cell_type": "markdown", + "id": "cd60dff7", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "### Function 4: `median(items)` \n", + "\n", + "We require you to complete the below function. You may **copy/paste** this function from your Lab-P6 notebook." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3497c585", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:49.926577Z", + "iopub.status.busy": "2023-10-11T02:27:49.925577Z", + "iopub.status.idle": "2023-10-11T02:27:49.932074Z", + "shell.execute_reply": "2023-10-11T02:27:49.932074Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "def median(items):\n", + " \"\"\"\n", + " median(items) returns the median of the list `items`\n", + " \"\"\"\n", + " pass # replace with your code\n", + " # you may copy/paste this function from your Lab-P6 notebook" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "343ea46f", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"median\")" + ] + }, + { + "cell_type": "markdown", + "id": "8df56d8a", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "**Question 15:** What is the **median** `net_winter_capacity` of *Conventional Hydroelectric* (`technology`) power generators **near** *Lake Winnebago* (`43.6961 <= latitude <= 44.3512`, `-88.5375 <= longitude <= -88.2713`)?\n", + "\n", + "You may assume that any power generator that lies within the coordinates given above are **near** *Lake Winnebago*. You **may** assume that **none** of the `net_winter_capacity` values of any of the power generators within this area are **missing**.\n", + "\n", + "You **must** use the `find_indices_within` and `median` functions to answer this question." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2369bd91", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:49.967292Z", + "iopub.status.busy": "2023-10-11T02:27:49.967292Z", + "iopub.status.idle": "2023-10-11T02:27:49.977881Z", + "shell.execute_reply": "2023-10-11T02:27:49.976873Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# compute and store the answer in the variable 'winnebago_hydro_winter_capacity', then display it\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2232d972", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q15\")" + ] + }, + { + "cell_type": "markdown", + "id": "c3a93f3f", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "### Function 5: `total_summer_capacity_of(plant_name)` \n", + "\n", + "We **require** you to complete the below function. This function must take in a `plant_name` and return the **total** `net_summer_capacity` of all the power generators within that power plant. If a particular `plant_name` has **some** generators with **missing data**, those generators **must** be **ignored** while finding the sum.\n", + "\n", + "This function can be **case-sensitive**. You **only** need to consider the power plants whose names **exactly match** `plant_name`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5e413275", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:50.032782Z", + "iopub.status.busy": "2023-10-11T02:27:50.032782Z", + "iopub.status.idle": "2023-10-11T02:27:50.040092Z", + "shell.execute_reply": "2023-10-11T02:27:50.039085Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "def total_summer_capacity_of(plant_name):\n", + " \"\"\"\n", + " total_summer_capacity_of(plant_name) returns the total\n", + " `net_summer_capacity` of all power generators within\n", + " the given `plant_name`; this function **ignores**\n", + " any generator whose `net_summer_capacity` data is\n", + " missing.\n", + " \"\"\"\n", + " pass # replace with your code" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "acf7cc42", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"total_summer_capacity_of\")" + ] + }, + { + "cell_type": "markdown", + "id": "7eccb8d9", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "**Question 16:** What is the **net summer capacity** of the **power plant** *Point Beach Nuclear Plant*?\n", + "\n", + "The **net summer capacity** of a **power plant** refers to the **total** `net_summer_capacity` of **all** the generators within the power plant.\n", + "\n", + "You **must** use the `total_summer_capacity_of` function to answer this question." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b7c3401b", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:50.094056Z", + "iopub.status.busy": "2023-10-11T02:27:50.094056Z", + "iopub.status.idle": "2023-10-11T02:27:50.102246Z", + "shell.execute_reply": "2023-10-11T02:27:50.101232Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# compute and store the answer in the variable 'point_beach_summer_capacity', then display it\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c58a655b", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q16\")" + ] + }, + { + "cell_type": "markdown", + "id": "c234f97d", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "**Question 17:** Find the **median** of the **net summer capacities** of **all** the **power plants** in Wisconsin.\n", + "\n", + "The **net summer capacity** of a **power plant** refers to the **total** `net_summer_capacity` of **all** the generators within the power plant.\n", + "\n", + "You **must** use the `total_summer_capacity_of` function to answer this question.\n", + "\n", + "**WARNING**: You **must not** find the **median** across all the power **generators**. Multiple generators may belong to the same power plant. Instead, you **must** find the **median** across the **total** power generated by each **power plant**.\n", + "\n", + "**Hint**: You must first make a list of all the **unique** power plants (`plant_name`) in the dataset, then make a **list** of all their **total** net summer capacities (using `total_summer_capacity_of`), and finally, find the **median** of this list." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8d4b30df", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:50.127465Z", + "iopub.status.busy": "2023-10-11T02:27:50.127465Z", + "iopub.status.idle": "2023-10-11T02:27:50.207825Z", + "shell.execute_reply": "2023-10-11T02:27:50.206815Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# compute and store the answer in the variable 'median_summer_capacity', then display it\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b4efe698", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q17\")" + ] + }, + { + "cell_type": "markdown", + "id": "0d3ad3d2", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "### Function 6: `avg_winter_capacity_of(technology)`\n", + "\n", + "We **require** you to complete the below function. This function must take in a `technology` and return the **average** (i.e., **mean**) `net_winter_capacity` of **all** the power generators which use that particular `technology`. If a particular `technology` has **some** generators with **missing data**, those generators **must** be **ignored** while finding the average (i.e., ignored in **both** the *numerator* and the *denominator*).\n", + "\n", + "This function can be **case-sensitive**. You **only** need to consider the technologies whose names **exactly match** `technology`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "26778535", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:50.289565Z", + "iopub.status.busy": "2023-10-11T02:27:50.288567Z", + "iopub.status.idle": "2023-10-11T02:27:50.296554Z", + "shell.execute_reply": "2023-10-11T02:27:50.295542Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "def avg_winter_capacity_of(technology):\n", + " \"\"\"\n", + " avg_winter_capacity_of(technology)\n", + " returns the average (mean) of `net_winter_capacity`\n", + " of all power generators which use the given\n", + " `technology`; generators with missing data\n", + " are ignored.\n", + " \"\"\" \n", + " pass # replace with your code" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7a5d3206", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"avg_winter_capacity_of\")" + ] + }, + { + "cell_type": "markdown", + "id": "5b216183", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "**Question 18:** What is the **average** `net_winter_capacity` of all power generators that use the `technology` *Conventional Hydroelectric*?\n", + "\n", + "You **must** use the `avg_winter_capacity_of` function to answer this question." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1327b28f", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:50.357674Z", + "iopub.status.busy": "2023-10-11T02:27:50.356674Z", + "iopub.status.idle": "2023-10-11T02:27:50.369511Z", + "shell.execute_reply": "2023-10-11T02:27:50.368494Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# compute and store the answer in the variable 'hydro_avg_winter_capacity', then display it\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "186f538d", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q18\")" + ] + }, + { + "cell_type": "markdown", + "id": "a8c3a5c4", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "**Question 19:** Which `technology` has the **highest** `net_winter_capacity` on **average**?\n", + "\n", + "You **must** use the `avg_winter_capacity_of` function to answer this question. You do **not** have to worry about any ties. There is a **unique** technology with the highest `net_winter_capacity` on average.\n", + "\n", + "**Hint**: You already created a list of the **unique** technologies to answer Question 1. Loop through that list and find which of those technologies has the **highest** average `net_winter_capacity` (using `avg_winter_capacity_of`)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cb4b3515", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:50.398993Z", + "iopub.status.busy": "2023-10-11T02:27:50.398993Z", + "iopub.status.idle": "2023-10-11T02:27:50.420956Z", + "shell.execute_reply": "2023-10-11T02:27:50.419946Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# compute and store the answer in the variable 'max_winter_capacity_tech', then display it\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dbd1c5a7", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q19\")" + ] + }, + { + "cell_type": "markdown", + "id": "d52113b6", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "**Question 20:** Find the **difference** between the **average** net winter capacities of the `technology` with the **highest** average and the **second highest** average.\n", + "\n", + "You must use the `avg_winter_capacity_of` function to answer this question.\n", + "\n", + "**Hint**: You have already found the `technology` with the **highest** average. You need to find the `technology` with the **second highest** average, and find the difference between their average net winter capacities using the `avg_winter_capacity_of` function.\n", + "\n", + "**Extra Hint**: There is also another (easier) way to solve this question. Try to find it! Reviewing Lab-P6 could help you find it." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fda50bf0", + "metadata": { + "execution": { + "iopub.execute_input": "2023-10-11T02:27:50.487976Z", + "iopub.status.busy": "2023-10-11T02:27:50.487976Z", + "iopub.status.idle": "2023-10-11T02:27:50.503476Z", + "shell.execute_reply": "2023-10-11T02:27:50.502465Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# compute and store the answer in the variable 'diff_avg_winter_capacity', then display it\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2bb63bdf", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"q20\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "36501521", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"general_deductions\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8646562e", + "metadata": { + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "grader.check(\"summary\")" + ] + }, + { + "cell_type": "markdown", + "id": "54aebf55", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + "## Submission\n", + "It is recommended that at this stage, you Restart and Run all Cells in your notebook.\n", + "That will automatically save your work and generate a zip file for you to submit.\n", + "\n", + "**SUBMISSION INSTRUCTIONS**:\n", + "1. **Upload** the zipfile to Gradescope.\n", + "2. If you completed the project with a **partner**, make sure to **add their name** by clicking \"Add Group Member\"\n", + "in Gradescope when uploading the zip file.\n", + "3. Check **Gradescope** results as soon as the auto-grader execution gets completed.\n", + "4. Your **final score** for this project is the score that you see on **Gradescope**.\n", + "5. You are **allowed** to resubmit on Gradescope as many times as you want to.\n", + "6. **Contact** a TA/PM if you lose any points on Gradescope for any **unclear reasons**." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "50a954f7", + "metadata": { + "cell_type": "code", + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "# running this cell will create a new save checkpoint for your notebook\n", + "from IPython.display import display, Javascript\n", + "display(Javascript('IPython.notebook.save_checkpoint();'))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c27d5953", + "metadata": { + "cell_type": "code", + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "!jupytext --to py p6.ipynb" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4c156ffd", + "metadata": { + "cell_type": "code", + "deletable": false, + "editable": false + }, + "outputs": [], + "source": [ + "public_tests.check_file_size(\"p6.ipynb\")\n", + "grader.export(pdf=False, run_tests=False, files=[\"p6.py\"])" + ] + }, + { + "cell_type": "markdown", + "id": "7ac48f2e", + "metadata": { + "deletable": false, + "editable": false + }, + "source": [ + " " + ] + } + ], + "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.11.4" + }, + "otter": { + "OK_FORMAT": true, + "tests": { + "avg_winter_capacity_of": { + "name": "avg_winter_capacity_of", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> \n>>> public_tests.rubric_check('avg_winter_capacity_of: not all rows are looped through')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'not all rows are looped through (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('avg_winter_capacity_of: missing data is not ignored')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'missing data is not ignored (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('avg_winter_capacity_of: function logic is incorrect')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'function logic is incorrect (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('avg_winter_capacity_of: `cell` function is not used to read data', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`cell` function is not used to read data (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "cell": { + "name": "cell", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> \n>>> public_tests.rubric_check('cell: variables `csv_data`, `csv_header`, and `csv_rows` are not defined as expected')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'variables `csv_data`, `csv_header`, and `csv_rows` are not defined as expected (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('cell: function does not return `None` when data is missing')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'function does not return `None` when data is missing (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('cell: function does not typecast to `int` or `float` when expected')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'function does not typecast to `int` or `float` when expected (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('cell: function logic is incorrect', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'function logic is incorrect (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('cell: `process_csv` function is not used to read `power_generators.csv`')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`process_csv` function is not used to read `power_generators.csv` (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "find_entities_with_phrase": { + "name": "find_entities_with_phrase", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> \n>>> public_tests.rubric_check('find_entities_with_phrase: not all rows are looped through')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'not all rows are looped through (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('find_entities_with_phrase: case insensitive matches are not considered')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'case insensitive matches are not considered (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('find_entities_with_phrase: duplicates are not removed')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'duplicates are not removed (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('find_entities_with_phrase: `cell` function is not used to read data', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`cell` function is not used to read data (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "find_indices_within": { + "name": "find_indices_within", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> \n>>> public_tests.rubric_check('find_indices_within: not all rows are looped through')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'not all rows are looped through (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('find_indices_within: incorrect comparison operators are used')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'incorrect comparison operators are used (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('find_indices_within: function logic is incorrect')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'function logic is incorrect (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('find_indices_within: `cell` function is not used to read data', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`cell` function is not used to read data (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "general_deductions": { + "name": "general_deductions", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> \n>>> public_tests.rubric_check('general_deductions: Did not save the notebook file prior to running the cell containing \"export\". We cannot see your output if you do not save before generating the zip file. This deduction will become stricter for future projects.')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'Did not save the notebook file prior to running the cell containing \"export\". We cannot see your output if you do not save before generating the zip file. This deduction will become stricter for future projects. (-3)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('general_deductions: Used concepts/modules such as dictionaries, or pandas not covered in class yet - built-in functions that you have been introduced to can be used.')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'Used concepts/modules such as dictionaries, or pandas not covered in class yet - built-in functions that you have been introduced to can be used. (-3)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('general_deductions: Import statements are not all placed at the top of the notebook.')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'Import statements are not all placed at the top of the notebook. (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "median": { + "name": "median", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> \n>>> public_tests.rubric_check('median: function modifies the original input list')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'function modifies the original input list (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('median: function logic is incorrect when inputs are of odd length')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'function logic is incorrect when inputs are of odd length (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('median: function logic is incorrect when inputs are of even length')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'function logic is incorrect when inputs are of even length (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "num_generators_by": { + "name": "num_generators_by", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> \n>>> public_tests.rubric_check('num_generators_by: not all rows are looped through')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'not all rows are looped through (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('num_generators_by: function logic is incorrect')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'function logic is incorrect (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('num_generators_by: `cell` function is not used to read data', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`cell` function is not used to read data (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q1": { + "name": "q1", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> public_tests.check('q1', technologies)\nAll test cases passed!\n", + "hidden": false, + "locked": false + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q1: not all rows are looped through')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'not all rows are looped through (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q1: incorrect logic is used')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'incorrect logic is used (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q1: `cell` function is not used to read data', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`cell` function is not used to read data (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> public_tests.rubric_check('q1: public tests')\nAll test cases passed!\n", + "hidden": false, + "locked": false + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q10": { + "name": "q10", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> public_tests.check('q10', num_generators_by_river)\nAll test cases passed!\n", + "hidden": false, + "locked": false + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q10: incorrect logic is used to answer')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'incorrect logic is used to answer (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q10: `num_generators_by` function is not used to answer', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`num_generators_by` function is not used to answer (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q10: `find_entities_with_phrase` function is not used to answer', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`find_entities_with_phrase` function is not used to answer (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q11": { + "name": "q11", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> public_tests.check('q11', most_generators_entity)\nAll test cases passed!\n", + "hidden": false, + "locked": false + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q11: all entities are looped through instead of just the unique entities')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'all entities are looped through instead of just the unique entities (-2)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q11: incorrect logic is used to answer')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'incorrect logic is used to answer (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q11: `num_generators_by` function is not used to answer', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`num_generators_by` function is not used to answer (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> public_tests.rubric_check('q11: public tests')\nAll test cases passed!\n", + "hidden": false, + "locked": false + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q12": { + "name": "q12", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> public_tests.check('q12', num_generators_in_milwaukee)\nAll test cases passed!\n", + "hidden": false, + "locked": false + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q12: length of the list is found by looping through it')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'length of the list is found by looping through it (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q12: `find_indices_within` function is not used to answer', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`find_indices_within` function is not used to answer (-2)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q13": { + "name": "q13", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> public_tests.check('q13', uw_madison_technologies)\nAll test cases passed!\n", + "hidden": false, + "locked": false + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q13: duplicates are not removed from the list')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'duplicates are not removed from the list (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q13: incorrect logic is used to answer')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'incorrect logic is used to answer (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q13: `find_indices_within` function is not used to answer', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`find_indices_within` function is not used to answer (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q14": { + "name": "q14", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> public_tests.check('q14', north_wisconsin_most_powerful)\nAll test cases passed!\n", + "hidden": false, + "locked": false + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q14: incorrect logic is used to answer')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'incorrect logic is used to answer (-2)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q14: `find_indices_within` function is not used to answer', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`find_indices_within` function is not used to answer (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q14: `cell` function is not used to read data', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`cell` function is not used to read data (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> public_tests.rubric_check('q14: public tests')\nAll test cases passed!\n", + "hidden": false, + "locked": false + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q15": { + "name": "q15", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> public_tests.check('q15', winnebago_hydro_winter_capacity)\nAll test cases passed!\n", + "hidden": false, + "locked": false + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q15: incorrect logic is used to answer')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'incorrect logic is used to answer (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q15: `find_indices_within` function is not used to answer', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`find_indices_within` function is not used to answer (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q15: `median` function is not used to answer', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`median` function is not used to answer (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q15: `cell` function is not used to read data', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`cell` function is not used to read data (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q16": { + "name": "q16", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> public_tests.check('q16', point_beach_summer_capacity)\nAll test cases passed!\n", + "hidden": false, + "locked": false + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q16: `total_summer_capacity_of` function is not used to answer')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`total_summer_capacity_of` function is not used to answer (-2)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q17": { + "name": "q17", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> public_tests.check('q17', median_summer_capacity)\nAll test cases passed!\n", + "hidden": false, + "locked": false + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q17: all power plants are looped through instead of just the unique power plants')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'all power plants are looped through instead of just the unique power plants (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q17: incorrect logic is used to answer')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'incorrect logic is used to answer (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q17: `total_summer_capacity_of` function is not used to answer', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`total_summer_capacity_of` function is not used to answer (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q17: `median` function is not used to answer', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`median` function is not used to answer (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> public_tests.rubric_check('q17: public tests')\nAll test cases passed!\n", + "hidden": false, + "locked": false + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q18": { + "name": "q18", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> public_tests.check('q18', hydro_avg_winter_capacity)\nAll test cases passed!\n", + "hidden": false, + "locked": false + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q18: `avg_winter_capacity_of` function is not used to answer')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`avg_winter_capacity_of` function is not used to answer (-2)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q19": { + "name": "q19", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> public_tests.check('q19', max_winter_capacity_tech)\nAll test cases passed!\n", + "hidden": false, + "locked": false + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q19: all technologies are looped through instead of just the unique technologies')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'all technologies are looped through instead of just the unique technologies (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q19: list of unique technologies is recomputed')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'list of unique technologies is recomputed (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q19: incorrect logic is used to answer')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'incorrect logic is used to answer (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q19: `avg_winter_capacity_of` function is not used to answer', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`avg_winter_capacity_of` function is not used to answer (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> public_tests.rubric_check('q19: public tests')\nAll test cases passed!\n", + "hidden": false, + "locked": false + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q2": { + "name": "q2", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> public_tests.check('q2', count_dane)\nAll test cases passed!\n", + "hidden": false, + "locked": false + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q2: not all rows are looped through')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'not all rows are looped through (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q2: incorrect logic is used')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'incorrect logic is used (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q2: `cell` function is not used to read data', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`cell` function is not used to read data (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q20": { + "name": "q20", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> public_tests.check('q20', diff_avg_winter_capacity)\nAll test cases passed!\n", + "hidden": false, + "locked": false + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q20: all technologies are looped through instead of just the unique technologies')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'all technologies are looped through instead of just the unique technologies (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q20: incorrect logic is used to answer')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'incorrect logic is used to answer (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q20: `avg_winter_capacity_of` function is not used to answer', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`avg_winter_capacity_of` function is not used to answer (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> public_tests.rubric_check('q20: public tests')\nAll test cases passed!\n", + "hidden": false, + "locked": false + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q3": { + "name": "q3", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> public_tests.check('q3', total_summer_capacity)\nAll test cases passed!\n", + "hidden": false, + "locked": false + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q3: not all rows are looped through')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'not all rows are looped through (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q3: incorrect logic is used')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'incorrect logic is used (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q3: `cell` function is not used to read data', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`cell` function is not used to read data (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q4": { + "name": "q4", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> public_tests.check('q4', madison_entities)\nAll test cases passed!\n", + "hidden": false, + "locked": false + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q4: `find_entities_with_phrase` function is not used to answer')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`find_entities_with_phrase` function is not used to answer (-2)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q5": { + "name": "q5", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> public_tests.check('q5', entities_contain_wisconsin_power)\nAll test cases passed!\n", + "hidden": false, + "locked": false + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q5: incorrect logic is used to answer')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'incorrect logic is used to answer (-2)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q5: `cell` function is not used to read data', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`cell` function is not used to read data (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> public_tests.rubric_check('q5: public tests')\nAll test cases passed!\n", + "hidden": false, + "locked": false + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q6": { + "name": "q6", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> public_tests.check('q6', entities_contain_solar_llc)\nAll test cases passed!\n", + "hidden": false, + "locked": false + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q6: incorrect logic is used to answer')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'incorrect logic is used to answer (-2)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q6: `cell` function is not used to read data', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`cell` function is not used to read data (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> public_tests.rubric_check('q6: public tests')\nAll test cases passed!\n", + "hidden": false, + "locked": false + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q7": { + "name": "q7", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> public_tests.check('q7', plant_50614_generators)\nAll test cases passed!\n", + "hidden": false, + "locked": false + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q7: not all rows are looped through')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'not all rows are looped through (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q7: the output is not sorted correctly')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'the output is not sorted correctly (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q7: incorrect logic is used', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'incorrect logic is used (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q7: `cell` function is not used to read data', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`cell` function is not used to read data (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> public_tests.rubric_check('q7: public tests')\nAll test cases passed!\n", + "hidden": false, + "locked": false + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q8": { + "name": "q8", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> public_tests.check('q8', powerful_hydro_electric_plants)\nAll test cases passed!\n", + "hidden": false, + "locked": false + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q8: not all rows are looped through')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'not all rows are looped through (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q8: the output is not sorted correctly')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'the output is not sorted correctly (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q8: incorrect comparison operators are used')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'incorrect comparison operators are used (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q8: incorrect logic is used', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'incorrect logic is used (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q8: `cell` function is not used to read data', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`cell` function is not used to read data (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "q9": { + "name": "q9", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> public_tests.check('q9', num_generators_by_mge)\nAll test cases passed!\n", + "hidden": false, + "locked": false + }, + { + "code": ">>> \n>>> public_tests.rubric_check('q9: `num_generators_by` function is not used to answer')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`num_generators_by` function is not used to answer (-2)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "summary": { + "name": "summary", + "points": 127, + "suites": [ + { + "cases": [ + { + "code": ">>> public_tests.get_summary()\nTotal Score: 100/100\n", + "hidden": false, + "locked": false + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + }, + "total_summer_capacity_of": { + "name": "total_summer_capacity_of", + "points": 0, + "suites": [ + { + "cases": [ + { + "code": ">>> \n>>> public_tests.rubric_check('total_summer_capacity_of: not all rows are looped through')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'not all rows are looped through (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('total_summer_capacity_of: missing data is not ignored')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'missing data is not ignored (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('total_summer_capacity_of: function logic is incorrect')\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - 'function logic is incorrect (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + }, + { + "code": ">>> \n>>> public_tests.rubric_check('total_summer_capacity_of: `cell` function is not used to read data', False)\nAll test cases passed!\n", + "hidden": false, + "locked": false, + "success_message": "Note that the Gradescope autograder will deduct points if your code fails the following rubric point - '`cell` function is not used to read data (-1)'. The public tests cannot determine if your code satisfies these requirements. Verify your code manually." + } + ], + "scored": true, + "setup": "", + "teardown": "", + "type": "doctest" + } + ] + } + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/p6/power_generators.csv b/p6/power_generators.csv new file mode 100644 index 0000000..55e3e25 --- /dev/null +++ b/p6/power_generators.csv @@ -0,0 +1,614 @@ +entity_id,entity_name,plant_id,plant_name,generator_id,county,net_summer_capacity,net_winter_capacity,technology,latitude,longitude +13781,Northern States Power Co - Minnesota,1756,Saxon Falls,1,Iron,0.5,0.5,Conventional Hydroelectric,46.5392,-90.3742 +13781,Northern States Power Co - Minnesota,1756,Saxon Falls,2,Iron,0.5,0.6,Conventional Hydroelectric,46.5392,-90.3742 +20847,Wisconsin Electric Power Co,1775,Brule,1,Florence,1.3,1.3,Conventional Hydroelectric,45.9472,-88.2189 +20847,Wisconsin Electric Power Co,1775,Brule,2,Florence,2,2,Conventional Hydroelectric,45.9472,-88.2189 +20847,Wisconsin Electric Power Co,1775,Brule,3,Florence,2,2,Conventional Hydroelectric,45.9472,-88.2189 +4247,Consolidated Water Power Co,3971,Biron,1,Wood,1.3,1.3,Conventional Hydroelectric,44.4306,-89.7808 +4247,Consolidated Water Power Co,3971,Biron,2,Wood,1.3,1.3,Conventional Hydroelectric,44.4306,-89.7808 +4247,Consolidated Water Power Co,3971,Biron,3,Wood,0.4,0.4,Conventional Hydroelectric,44.4306,-89.7808 +4247,Consolidated Water Power Co,3971,Biron,4,Wood,0.4,0.4,Conventional Hydroelectric,44.4306,-89.7808 +4247,Consolidated Water Power Co,3971,Biron,5,Wood,0.4,0.4,Conventional Hydroelectric,44.4306,-89.7808 +4247,Consolidated Water Power Co,3971,Biron,6,Wood,0.4,0.4,Conventional Hydroelectric,44.4306,-89.7808 +4247,Consolidated Water Power Co,3971,Biron,7,Wood,0.4,0.4,Conventional Hydroelectric,44.4306,-89.7808 +4247,Consolidated Water Power Co,3971,Biron,9,Wood,0.8,0.8,Conventional Hydroelectric,44.4306,-89.7808 +4247,Consolidated Water Power Co,3972,Du Bay,1,Portage,1.2,1.2,Conventional Hydroelectric,44.6647,-89.6511 +4247,Consolidated Water Power Co,3972,Du Bay,2,Portage,2,2,Conventional Hydroelectric,44.6647,-89.6511 +4247,Consolidated Water Power Co,3972,Du Bay,3,Portage,2,2,Conventional Hydroelectric,44.6647,-89.6511 +4247,Consolidated Water Power Co,3972,Du Bay,4,Portage,2,2,Conventional Hydroelectric,44.6647,-89.6511 +4247,Consolidated Water Power Co,3973,Stevens Point,1,Portage,0.8,0.8,Conventional Hydroelectric,44.5153,-89.585 +4247,Consolidated Water Power Co,3973,Stevens Point,2,Portage,0.8,0.8,Conventional Hydroelectric,44.5153,-89.585 +4247,Consolidated Water Power Co,3973,Stevens Point,3,Portage,0.8,0.8,Conventional Hydroelectric,44.5153,-89.585 +4247,Consolidated Water Power Co,3973,Stevens Point,4,Portage,0.8,0.8,Conventional Hydroelectric,44.5153,-89.585 +4247,Consolidated Water Power Co,3973,Stevens Point,5,Portage,0.8,0.8,Conventional Hydroelectric,44.5153,-89.585 +4247,Consolidated Water Power Co,3973,Stevens Point,6,Portage,0.8,0.8,Conventional Hydroelectric,44.5153,-89.585 +4247,Consolidated Water Power Co,3974,Wisconsin Rapids,1,Wood,2.3,2.3,Conventional Hydroelectric,44.3939,-89.825 +4247,Consolidated Water Power Co,3974,Wisconsin Rapids,10,Wood,0.6,0.6,Conventional Hydroelectric,44.3939,-89.825 +4247,Consolidated Water Power Co,3974,Wisconsin Rapids,2,Wood,2.3,2.3,Conventional Hydroelectric,44.3939,-89.825 +4247,Consolidated Water Power Co,3974,Wisconsin Rapids,3,Wood,0.6,0.6,Conventional Hydroelectric,44.3939,-89.825 +4247,Consolidated Water Power Co,3974,Wisconsin Rapids,4,Wood,0.6,0.6,Conventional Hydroelectric,44.3939,-89.825 +4247,Consolidated Water Power Co,3974,Wisconsin Rapids,5,Wood,0.6,0.6,Conventional Hydroelectric,44.3939,-89.825 +4247,Consolidated Water Power Co,3974,Wisconsin Rapids,6,Wood,0.3,0.3,Conventional Hydroelectric,44.3939,-89.825 +4247,Consolidated Water Power Co,3974,Wisconsin Rapids,7,Wood,0.6,0.6,Conventional Hydroelectric,44.3939,-89.825 +4247,Consolidated Water Power Co,3974,Wisconsin Rapids,8,Wood,0.3,0.3,Conventional Hydroelectric,44.3939,-89.825 +4247,Consolidated Water Power Co,3974,Wisconsin Rapids,9,Wood,0.6,0.6,Conventional Hydroelectric,44.3939,-89.825 +4247,Consolidated Water Power Co,3975,Whiting,1,Portage,1.2,1.2,Conventional Hydroelectric,44.4889,-89.5756 +4247,Consolidated Water Power Co,3975,Whiting,10,Portage,0.3,0.3,Conventional Hydroelectric,44.4889,-89.5756 +4247,Consolidated Water Power Co,3975,Whiting,2,Portage,0.5,0.5,Conventional Hydroelectric,44.4889,-89.5756 +4247,Consolidated Water Power Co,3975,Whiting,3,Portage,0.5,0.5,Conventional Hydroelectric,44.4889,-89.5756 +4247,Consolidated Water Power Co,3975,Whiting,4,Portage,0.5,0.5,Conventional Hydroelectric,44.4889,-89.5756 +4247,Consolidated Water Power Co,3975,Whiting,5,Portage,0.5,0.5,Conventional Hydroelectric,44.4889,-89.5756 +4247,Consolidated Water Power Co,3975,Whiting,6,Portage,0.5,0.5,Conventional Hydroelectric,44.4889,-89.5756 +4247,Consolidated Water Power Co,3975,Whiting,7,Portage,0.5,0.5,Conventional Hydroelectric,44.4889,-89.5756 +4247,Consolidated Water Power Co,3975,Whiting,8,Portage,0.3,0.3,Conventional Hydroelectric,44.4889,-89.5756 +4247,Consolidated Water Power Co,3975,Whiting,9,Portage,0.3,0.3,Conventional Hydroelectric,44.4889,-89.5756 +4715,Dahlberg Light & Power Co,3976,Gordon,3,Douglas,0.7,0.7,Petroleum Liquids,46.23669,-91.78553 +4715,Dahlberg Light & Power Co,3976,Gordon,4,Douglas,0.7,0.7,Petroleum Liquids,46.23669,-91.78553 +4715,Dahlberg Light & Power Co,3976,Gordon,5,Douglas,0.7,0.7,Petroleum Liquids,46.23669,-91.78553 +4715,Dahlberg Light & Power Co,3976,Gordon,6,Douglas,0.7,0.7,Petroleum Liquids,46.23669,-91.78553 +13781,Northern States Power Co - Minnesota,3982,Bay Front,5,Ashland,18,18,Wood/Wood Waste Biomass,46.587222,-90.9017 +13781,Northern States Power Co - Minnesota,3982,Bay Front,6,Ashland,23,23,Natural Gas Steam Turbine,46.587222,-90.9017 +13781,Northern States Power Co - Minnesota,3983,Big Falls,1,Rusk,1.1,1,Conventional Hydroelectric,45.491667,-91.0469 +13781,Northern States Power Co - Minnesota,3983,Big Falls,2,Rusk,1.1,1,Conventional Hydroelectric,45.491667,-91.0469 +13781,Northern States Power Co - Minnesota,3983,Big Falls,3,Rusk,1.1,1,Conventional Hydroelectric,45.491667,-91.0469 +13781,Northern States Power Co - Minnesota,3986,Ladysmith Dam,1,Rusk,0.3,0.3,Conventional Hydroelectric,45.464444,-91.08361 +13781,Northern States Power Co - Minnesota,3986,Ladysmith Dam,2,Rusk,0.3,0.2,Conventional Hydroelectric,45.464444,-91.08361 +13781,Northern States Power Co - Minnesota,3986,Ladysmith Dam,3,Rusk,0.4,0.3,Conventional Hydroelectric,45.464444,-91.08361 +13781,Northern States Power Co - Minnesota,3988,Thornapple,1,Rusk,0.4,0.4,Conventional Hydroelectric,45.411139,-91.21828 +13781,Northern States Power Co - Minnesota,3988,Thornapple,2,Rusk,0.4,0.4,Conventional Hydroelectric,45.411139,-91.21828 +13781,Northern States Power Co - Minnesota,3989,White River (WI),1,Ashland,0.2,0.2,Conventional Hydroelectric,46.498333,-90.90389 +13781,Northern States Power Co - Minnesota,3989,White River (WI),2,Ashland,0.2,0.2,Conventional Hydroelectric,46.498333,-90.90389 +11479,Madison Gas & Electric Co,3991,Fitchburg,1,Dane,15.3,15.3,Natural Gas Fired Combustion Turbine,43.0147,-89.4603 +11479,Madison Gas & Electric Co,3991,Fitchburg,2,Dane,15.8,15.8,Natural Gas Fired Combustion Turbine,43.0147,-89.4603 +11479,Madison Gas & Electric Co,3992,Blount Street,6,Dane,47.2,47.2,Natural Gas Steam Turbine,43.0789,-89.3744 +11479,Madison Gas & Electric Co,3992,Blount Street,7,Dane,47.9,47.9,Natural Gas Steam Turbine,43.0789,-89.3744 +11479,Madison Gas & Electric Co,3993,Sycamore (WI),1,Dane,12.2,12.2,Natural Gas Fired Combustion Turbine,43.1133,-89.3128 +11479,Madison Gas & Electric Co,3993,Sycamore (WI),2,Dane,17.4,17.4,Natural Gas Fired Combustion Turbine,43.1133,-89.3128 +58149,Renewable World Energies LLC,3995,Arpin Dam,1,Sawyer,0.6,0.6,Conventional Hydroelectric,45.7517,-91.2028 +58149,Renewable World Energies LLC,3995,Arpin Dam,2,Sawyer,0.6,0.6,Conventional Hydroelectric,45.7517,-91.2028 +58149,Renewable World Energies LLC,3995,Arpin Dam,3,Sawyer,0.2,0.2,Conventional Hydroelectric,45.7517,-91.2028 +13781,Northern States Power Co - Minnesota,3998,Cedar Falls (WI),1,Dunn,1.3,1.2,Conventional Hydroelectric,44.9367,-91.8883 +13781,Northern States Power Co - Minnesota,3998,Cedar Falls (WI),2,Dunn,1.1,1.1,Conventional Hydroelectric,44.9367,-91.8883 +13781,Northern States Power Co - Minnesota,3998,Cedar Falls (WI),3,Dunn,1.2,1.1,Conventional Hydroelectric,44.9367,-91.8883 +13781,Northern States Power Co - Minnesota,4000,Chippewa Falls,1,Chippewa,1.9,1.9,Conventional Hydroelectric,44.9308,-91.3889 +13781,Northern States Power Co - Minnesota,4000,Chippewa Falls,2,Chippewa,2.1,2.1,Conventional Hydroelectric,44.9308,-91.3889 +13781,Northern States Power Co - Minnesota,4000,Chippewa Falls,3,Chippewa,2,2,Conventional Hydroelectric,44.9308,-91.3889 +13781,Northern States Power Co - Minnesota,4000,Chippewa Falls,4,Chippewa,2,2,Conventional Hydroelectric,44.9308,-91.3889 +13781,Northern States Power Co - Minnesota,4000,Chippewa Falls,5,Chippewa,2,2,Conventional Hydroelectric,44.9308,-91.3889 +13781,Northern States Power Co - Minnesota,4000,Chippewa Falls,6,Chippewa,2.1,2.1,Conventional Hydroelectric,44.9308,-91.3889 +13781,Northern States Power Co - Minnesota,4002,Dells,1,Eau Claire,1.9,1.9,Conventional Hydroelectric,44.828056,-91.51111 +13781,Northern States Power Co - Minnesota,4002,Dells,2,Eau Claire,1.5,1.5,Conventional Hydroelectric,44.828056,-91.51111 +13781,Northern States Power Co - Minnesota,4002,Dells,3,Eau Claire,1.5,1.5,Conventional Hydroelectric,44.828056,-91.51111 +13781,Northern States Power Co - Minnesota,4002,Dells,4,Eau Claire,1.5,1.5,Conventional Hydroelectric,44.828056,-91.51111 +13781,Northern States Power Co - Minnesota,4002,Dells,5,Eau Claire,0.9,0.9,Conventional Hydroelectric,44.828056,-91.51111 +13781,Northern States Power Co - Minnesota,4005,French Island,1,La Crosse,9,9,Wood/Wood Waste Biomass,43.8292,-91.2597 +13781,Northern States Power Co - Minnesota,4005,French Island,2,La Crosse,7,7,Wood/Wood Waste Biomass,43.8292,-91.2597 +13781,Northern States Power Co - Minnesota,4005,French Island,3,La Crosse,61,81,Petroleum Liquids,43.8292,-91.2597 +13781,Northern States Power Co - Minnesota,4005,French Island,4,La Crosse,58,78,Petroleum Liquids,43.8292,-91.2597 +13781,Northern States Power Co - Minnesota,4007,Holcombe,1,Chippewa,7.3,7.3,Conventional Hydroelectric,45.223611,-91.12722 +13781,Northern States Power Co - Minnesota,4007,Holcombe,2,Chippewa,7.3,7.3,Conventional Hydroelectric,45.223611,-91.12722 +13781,Northern States Power Co - Minnesota,4007,Holcombe,3,Chippewa,7.3,7.3,Conventional Hydroelectric,45.223611,-91.12722 +13781,Northern States Power Co - Minnesota,4008,Jim Falls,1,Chippewa,12.3,12.3,Conventional Hydroelectric,45.051,-91.274 +13781,Northern States Power Co - Minnesota,4008,Jim Falls,2,Chippewa,12.5,12.5,Conventional Hydroelectric,45.051,-91.274 +13781,Northern States Power Co - Minnesota,4008,Jim Falls,4,Chippewa,0.2,0.2,Conventional Hydroelectric,45.051,-91.274 +13781,Northern States Power Co - Minnesota,4009,Menomonie,1,Dunn,1.1,1.2,Conventional Hydroelectric,44.884167,-91.92944 +13781,Northern States Power Co - Minnesota,4009,Menomonie,2,Dunn,1.1,1.2,Conventional Hydroelectric,44.884167,-91.92944 +13781,Northern States Power Co - Minnesota,4011,St Croix Falls,1,Polk,1.8,1.4,Conventional Hydroelectric,45.41167,-92.6469 +13781,Northern States Power Co - Minnesota,4011,St Croix Falls,2,Polk,1.8,1.4,Conventional Hydroelectric,45.41167,-92.6469 +13781,Northern States Power Co - Minnesota,4011,St Croix Falls,3,Polk,1.9,1.5,Conventional Hydroelectric,45.41167,-92.6469 +13781,Northern States Power Co - Minnesota,4011,St Croix Falls,4,Polk,1.9,1.5,Conventional Hydroelectric,45.41167,-92.6469 +13781,Northern States Power Co - Minnesota,4011,St Croix Falls,5,Polk,2,1.6,Conventional Hydroelectric,45.41167,-92.6469 +13781,Northern States Power Co - Minnesota,4011,St Croix Falls,6,Polk,1.9,1.5,Conventional Hydroelectric,45.41167,-92.6469 +13781,Northern States Power Co - Minnesota,4011,St Croix Falls,7,Polk,2,1.6,Conventional Hydroelectric,45.41167,-92.6469 +13781,Northern States Power Co - Minnesota,4011,St Croix Falls,8,Polk,1.9,1.5,Conventional Hydroelectric,45.41167,-92.6469 +13781,Northern States Power Co - Minnesota,4012,Trego,1,Washburn,0.4,0.4,Conventional Hydroelectric,45.94794,-91.88837 +13781,Northern States Power Co - Minnesota,4012,Trego,2,Washburn,0.3,0.3,Conventional Hydroelectric,45.94794,-91.88837 +13781,Northern States Power Co - Minnesota,4014,Wheaton,1,Chippewa,44,56,Natural Gas Fired Combustion Turbine,44.885416,-91.51583 +13781,Northern States Power Co - Minnesota,4014,Wheaton,2,Chippewa,51,66,Natural Gas Fired Combustion Turbine,44.885416,-91.51583 +13781,Northern States Power Co - Minnesota,4014,Wheaton,3,Chippewa,44,56,Natural Gas Fired Combustion Turbine,44.885416,-91.51583 +13781,Northern States Power Co - Minnesota,4014,Wheaton,4,Chippewa,47,61,Natural Gas Fired Combustion Turbine,44.885416,-91.51583 +13781,Northern States Power Co - Minnesota,4014,Wheaton,6,Chippewa,48,70,Petroleum Liquids,44.885416,-91.51583 +13781,Northern States Power Co - Minnesota,4015,Wissota,1,Chippewa,3,3,Conventional Hydroelectric,44.9378,-91.3406 +13781,Northern States Power Co - Minnesota,4015,Wissota,2,Chippewa,3.1,3.1,Conventional Hydroelectric,44.9378,-91.3406 +13781,Northern States Power Co - Minnesota,4015,Wissota,3,Chippewa,3,3,Conventional Hydroelectric,44.9378,-91.3406 +13781,Northern States Power Co - Minnesota,4015,Wissota,4,Chippewa,3,3,Conventional Hydroelectric,44.9378,-91.3406 +13781,Northern States Power Co - Minnesota,4015,Wissota,5,Chippewa,2.9,2.9,Conventional Hydroelectric,44.9378,-91.3406 +13781,Northern States Power Co - Minnesota,4015,Wissota,6,Chippewa,3,3,Conventional Hydroelectric,44.9378,-91.3406 +58149,Renewable World Energies LLC,4018,Clam River Dam,1,Burnett,0.4,0.4,Conventional Hydroelectric,45.9467,-92.5383 +58149,Renewable World Energies LLC,4018,Clam River Dam,2,Burnett,0.4,0.4,Conventional Hydroelectric,45.9467,-92.5383 +58149,Renewable World Energies LLC,4018,Clam River Dam,3,Burnett,0.4,0.4,Conventional Hydroelectric,45.9467,-92.5383 +58149,Renewable World Energies LLC,4019,Danbury Dam,1,Burnett,0.1,0.1,Conventional Hydroelectric,46,-92.3725 +58149,Renewable World Energies LLC,4019,Danbury Dam,2,Burnett,0.3,0.3,Conventional Hydroelectric,46,-92.3725 +58149,Renewable World Energies LLC,4019,Danbury Dam,HY3,Burnett,0.6,0.6,Conventional Hydroelectric,46,-92.3725 +13815,Northwestern Wisconsin Elec Co,4020,Frederic Diesel,10,Polk,2.5,2.6,Petroleum Liquids,45.654835,-92.46506 +13815,Northwestern Wisconsin Elec Co,4020,Frederic Diesel,2,Polk,0.7,0.7,Petroleum Liquids,45.654835,-92.46506 +13815,Northwestern Wisconsin Elec Co,4020,Frederic Diesel,3,Polk,0.7,0.7,Petroleum Liquids,45.654835,-92.46506 +13815,Northwestern Wisconsin Elec Co,4020,Frederic Diesel,4,Polk,0.6,0.6,Petroleum Liquids,45.654835,-92.46506 +13815,Northwestern Wisconsin Elec Co,4020,Frederic Diesel,5,Polk,0.5,0.5,Petroleum Liquids,45.654835,-92.46506 +13815,Northwestern Wisconsin Elec Co,4020,Frederic Diesel,6,Polk,1.7,1.7,Petroleum Liquids,45.654835,-92.46506 +13815,Northwestern Wisconsin Elec Co,4020,Frederic Diesel,7,Polk,1.8,1.8,Petroleum Liquids,45.654835,-92.46506 +13815,Northwestern Wisconsin Elec Co,4020,Frederic Diesel,8,Polk,2.5,2.6,Petroleum Liquids,45.654835,-92.46506 +13815,Northwestern Wisconsin Elec Co,4020,Frederic Diesel,9,Polk,2.5,2.6,Petroleum Liquids,45.654835,-92.46506 +13815,Northwestern Wisconsin Elec Co,4021,Grantsburg Diesel,1A,Burnett,0.8,0.8,Petroleum Liquids,45.779189,-92.67805 +13815,Northwestern Wisconsin Elec Co,4021,Grantsburg Diesel,2,Burnett,0.8,0.8,Petroleum Liquids,45.779189,-92.67805 +13815,Northwestern Wisconsin Elec Co,4021,Grantsburg Diesel,3,Burnett,0.9,0.9,Petroleum Liquids,45.779189,-92.67805 +13815,Northwestern Wisconsin Elec Co,4021,Grantsburg Diesel,4,Burnett,2,2,Petroleum Liquids,45.779189,-92.67805 +13815,Northwestern Wisconsin Elec Co,4021,Grantsburg Diesel,8,Burnett,1.8,1.8,Petroleum Liquids,45.779189,-92.67805 +20847,Wisconsin Electric Power Co,4040,Port Washington Generating Station,1CT1,Ozaukee,178.2,207,Natural Gas Fired Combined Cycle,43.3842,-87.8689 +20847,Wisconsin Electric Power Co,4040,Port Washington Generating Station,1CT2,Ozaukee,178.8,207,Natural Gas Fired Combined Cycle,43.3842,-87.8689 +20847,Wisconsin Electric Power Co,4040,Port Washington Generating Station,2CT1,Ozaukee,174.8,204.2,Natural Gas Fired Combined Cycle,43.3842,-87.8689 +20847,Wisconsin Electric Power Co,4040,Port Washington Generating Station,2CT2,Ozaukee,174.9,204.5,Natural Gas Fired Combined Cycle,43.3842,-87.8689 +20847,Wisconsin Electric Power Co,4040,Port Washington Generating Station,ST1,Ozaukee,265.1,265.2,Natural Gas Fired Combined Cycle,43.3842,-87.8689 +20847,Wisconsin Electric Power Co,4040,Port Washington Generating Station,ST2,Ozaukee,264.7,264.3,Natural Gas Fired Combined Cycle,43.3842,-87.8689 +20847,Wisconsin Electric Power Co,4041,South Oak Creek,5,Milwaukee,242.2,242.2,Conventional Steam Coal,42.8457,-87.8294 +20847,Wisconsin Electric Power Co,4041,South Oak Creek,6,Milwaukee,253.8,253.8,Conventional Steam Coal,42.8457,-87.8294 +20847,Wisconsin Electric Power Co,4041,South Oak Creek,7,Milwaukee,306.5,309.3,Conventional Steam Coal,42.8457,-87.8294 +20847,Wisconsin Electric Power Co,4041,South Oak Creek,8,Milwaukee,309.5,312.7,Conventional Steam Coal,42.8457,-87.8294 +20847,Wisconsin Electric Power Co,4042,Valley (WI),1,Milwaukee,124.7,88.3,Natural Gas Steam Turbine,43.0303,-87.9233 +20847,Wisconsin Electric Power Co,4042,Valley (WI),2,Milwaukee,139.2,140.1,Natural Gas Steam Turbine,43.0303,-87.9233 +20847,Wisconsin Electric Power Co,4042,Valley (WI),3,Milwaukee,2.7,2.7,Petroleum Liquids,43.0303,-87.9233 +20847,Wisconsin Electric Power Co,4043,Appleton,4,Outagamie,1.2,1.2,Conventional Hydroelectric,44.25393,-88.40956 +20847,Wisconsin Electric Power Co,4043,Appleton,5,Outagamie,0.5,0.5,Conventional Hydroelectric,44.25393,-88.40956 +20847,Wisconsin Electric Power Co,4043,Appleton,6,Outagamie,0.5,0.5,Conventional Hydroelectric,44.25393,-88.40956 +57280,"Eagle Creek Renewable Energy, LLC",4044,Oconto Falls Upper,1,Oconto,0.4,0.4,Conventional Hydroelectric,44.8764,-88.1475 +57280,"Eagle Creek Renewable Energy, LLC",4044,Oconto Falls Upper,2,Oconto,0.4,0.4,Conventional Hydroelectric,44.8764,-88.1475 +57280,"Eagle Creek Renewable Energy, LLC",4044,Oconto Falls Upper,3,Oconto,0.3,0.3,Conventional Hydroelectric,44.8764,-88.1475 +20847,Wisconsin Electric Power Co,4045,Pine,1,Florence,1.6,1.6,Conventional Hydroelectric,45.8275,-88.2483 +20847,Wisconsin Electric Power Co,4045,Pine,2,Florence,1.6,1.6,Conventional Hydroelectric,45.8275,-88.2483 +55906,NextEra Energy Point Beach LLC,4046,Point Beach Nuclear Plant,1,Manitowoc,595.4,599.6,Nuclear,44.2806,-87.5369 +55906,NextEra Energy Point Beach LLC,4046,Point Beach Nuclear Plant,2,Manitowoc,600.6,606.2,Nuclear,44.2806,-87.5369 +55906,NextEra Energy Point Beach LLC,4046,Point Beach Nuclear Plant,5,Manitowoc,15,18,Petroleum Liquids,44.2806,-87.5369 +20856,Wisconsin Power & Light Co,4050,Edgewater,5,Sheboygan,409.1,409.3,Conventional Steam Coal,43.715142,-87.70586 +20856,Wisconsin Power & Light Co,4053,Kilbourn,2,Columbia,9.5,9.5,Conventional Hydroelectric,43.625845,-89.78076 +20856,Wisconsin Power & Light Co,4053,Kilbourn,HC1,Columbia, , ,Conventional Hydroelectric,43.625845,-89.78076 +20856,Wisconsin Power & Light Co,4053,Kilbourn,HC5,Columbia, , ,Conventional Hydroelectric,43.625845,-89.78076 +20856,Wisconsin Power & Light Co,4053,Kilbourn,HC6,Columbia, , ,Conventional Hydroelectric,43.625845,-89.78076 +20856,Wisconsin Power & Light Co,4056,Prairie Du Sac,1,Sauk,29,29,Conventional Hydroelectric,43.309932,-89.72778 +20856,Wisconsin Power & Light Co,4056,Prairie Du Sac,2,Sauk, , ,Conventional Hydroelectric,43.309932,-89.72778 +20856,Wisconsin Power & Light Co,4056,Prairie Du Sac,3,Sauk, , ,Conventional Hydroelectric,43.309932,-89.72778 +20856,Wisconsin Power & Light Co,4056,Prairie Du Sac,4,Sauk, , ,Conventional Hydroelectric,43.309932,-89.72778 +20856,Wisconsin Power & Light Co,4056,Prairie Du Sac,5,Sauk, , ,Conventional Hydroelectric,43.309932,-89.72778 +20856,Wisconsin Power & Light Co,4056,Prairie Du Sac,6,Sauk, , ,Conventional Hydroelectric,43.309932,-89.72778 +20856,Wisconsin Power & Light Co,4056,Prairie Du Sac,7,Sauk, , ,Conventional Hydroelectric,43.309932,-89.72778 +20856,Wisconsin Power & Light Co,4056,Prairie Du Sac,8,Sauk, , ,Conventional Hydroelectric,43.309932,-89.72778 +20860,Wisconsin Public Service Corp,4060,Alexander,1,Lincoln,1.4,1.4,Conventional Hydroelectric,45.1875,-89.7553 +20860,Wisconsin Public Service Corp,4060,Alexander,2,Lincoln,1.4,1.4,Conventional Hydroelectric,45.1875,-89.7553 +20860,Wisconsin Public Service Corp,4060,Alexander,3,Lincoln,1.4,1.4,Conventional Hydroelectric,45.1875,-89.7553 +20860,Wisconsin Public Service Corp,4061,Caldron Falls,1,Marinette,3.2,3.2,Conventional Hydroelectric,45.3569,-88.2306 +20860,Wisconsin Public Service Corp,4061,Caldron Falls,2,Marinette,3.2,3.2,Conventional Hydroelectric,45.3569,-88.2306 +20860,Wisconsin Public Service Corp,4063,Grandfather Falls,1,Lincoln,11,11,Conventional Hydroelectric,45.3019,-89.7917 +20860,Wisconsin Public Service Corp,4063,Grandfather Falls,2,Lincoln,6.2,6.2,Conventional Hydroelectric,45.3019,-89.7917 +20860,Wisconsin Public Service Corp,4064,Hat Rapids,1,Oneida,0.8,0.8,Conventional Hydroelectric,45.5711,-89.4806 +20860,Wisconsin Public Service Corp,4064,Hat Rapids,2A,Oneida,0.5,0.5,Conventional Hydroelectric,45.5711,-89.4806 +20860,Wisconsin Public Service Corp,4064,Hat Rapids,3A,Oneida,0.4,0.4,Conventional Hydroelectric,45.5711,-89.4806 +20860,Wisconsin Public Service Corp,4065,High Falls (WI),1,Marinette,1.4,1.4,Conventional Hydroelectric,45.2794,-88.1997 +20860,Wisconsin Public Service Corp,4065,High Falls (WI),2,Marinette,1.4,1.4,Conventional Hydroelectric,45.2794,-88.1997 +20860,Wisconsin Public Service Corp,4065,High Falls (WI),3,Marinette,1.4,1.4,Conventional Hydroelectric,45.2794,-88.1997 +20860,Wisconsin Public Service Corp,4065,High Falls (WI),4,Marinette,1.4,1.4,Conventional Hydroelectric,45.2794,-88.1997 +20860,Wisconsin Public Service Corp,4065,High Falls (WI),5,Marinette,1.4,1.4,Conventional Hydroelectric,45.2794,-88.1997 +20860,Wisconsin Public Service Corp,4067,Johnson Falls,1,Marinette,1.7,1.7,Conventional Hydroelectric,45.2875,-88.1603 +20860,Wisconsin Public Service Corp,4067,Johnson Falls,2,Marinette,1.7,1.7,Conventional Hydroelectric,45.2875,-88.1603 +20860,Wisconsin Public Service Corp,4068,Merrill,1,Lincoln,0.4,0.4,Conventional Hydroelectric,45.1786,-89.685 +20860,Wisconsin Public Service Corp,4068,Merrill,2,Lincoln,0.4,0.4,Conventional Hydroelectric,45.1786,-89.685 +20860,Wisconsin Public Service Corp,4068,Merrill,3,Lincoln,1.5,1.5,Conventional Hydroelectric,45.1786,-89.685 +20860,Wisconsin Public Service Corp,4071,Potato Rapids,1,Marinette,0.5,0.5,Conventional Hydroelectric,45.1136,-87.7586 +20860,Wisconsin Public Service Corp,4071,Potato Rapids,2,Marinette,0.4,0.4,Conventional Hydroelectric,45.1136,-87.7586 +20860,Wisconsin Public Service Corp,4071,Potato Rapids,3,Marinette,0.4,0.4,Conventional Hydroelectric,45.1136,-87.7586 +20860,Wisconsin Public Service Corp,4072,Pulliam,31,Brown,79.8,106.3,Natural Gas Fired Combustion Turbine,44.54,-88.0086 +20860,Wisconsin Public Service Corp,4074,Sandstone Rapids,1,Marinette,1.9,1.9,Conventional Hydroelectric,45.2333,-88.0678 +20860,Wisconsin Public Service Corp,4074,Sandstone Rapids,2,Marinette,1.9,1.9,Conventional Hydroelectric,45.2333,-88.0678 +20860,Wisconsin Public Service Corp,4075,Tomahawk,1,Lincoln,1.3,1.3,Conventional Hydroelectric,45.4411,-89.7306 +20860,Wisconsin Public Service Corp,4075,Tomahawk,2,Lincoln,1.3,1.3,Conventional Hydroelectric,45.4411,-89.7306 +20860,Wisconsin Public Service Corp,4076,West Marinette,31,Marinette,38.1,49.8,Natural Gas Fired Combustion Turbine,45.0869,-87.6881 +20860,Wisconsin Public Service Corp,4076,West Marinette,32,Marinette,36.7,47.9,Natural Gas Fired Combustion Turbine,45.0869,-87.6881 +20860,Wisconsin Public Service Corp,4076,West Marinette,33,Marinette,78.2,104.1,Natural Gas Fired Combustion Turbine,45.0869,-87.6881 +20860,Wisconsin Public Service Corp,4077,Wausau,1,Marathon,1.8,1.8,Conventional Hydroelectric,44.9575,-89.6367 +20860,Wisconsin Public Service Corp,4077,Wausau,2,Marathon,1.8,1.8,Conventional Hydroelectric,44.9575,-89.6367 +20860,Wisconsin Public Service Corp,4077,Wausau,3,Marathon,1.8,1.8,Conventional Hydroelectric,44.9575,-89.6367 +20860,Wisconsin Public Service Corp,4078,Weston,3,Marathon,334.7,339.8,Conventional Steam Coal,44.8606,-89.6553 +20860,Wisconsin Public Service Corp,4078,Weston,4,Marathon,553.2,558.5,Conventional Steam Coal,44.8606,-89.6553 +20863,Wisconsin River Power Company,4079,Castle Rock,1,Adams,2.8,2.8,Conventional Hydroelectric,43.8656,-89.9514 +20863,Wisconsin River Power Company,4079,Castle Rock,2,Adams,2.8,2.8,Conventional Hydroelectric,43.8656,-89.9514 +20863,Wisconsin River Power Company,4079,Castle Rock,3,Adams,2.8,2.8,Conventional Hydroelectric,43.8656,-89.9514 +20863,Wisconsin River Power Company,4079,Castle Rock,4,Adams,2.8,2.8,Conventional Hydroelectric,43.8656,-89.9514 +20863,Wisconsin River Power Company,4079,Castle Rock,5,Adams,2.8,2.8,Conventional Hydroelectric,43.8656,-89.9514 +20863,Wisconsin River Power Company,4080,Petenwell,1,Juneau,5,5,Conventional Hydroelectric,44.0572,-90.0217 +20863,Wisconsin River Power Company,4080,Petenwell,2,Juneau,5,5,Conventional Hydroelectric,44.0572,-90.0217 +20863,Wisconsin River Power Company,4080,Petenwell,3,Juneau,5,5,Conventional Hydroelectric,44.0572,-90.0217 +20863,Wisconsin River Power Company,4080,Petenwell,4,Juneau,5,5,Conventional Hydroelectric,44.0572,-90.0217 +765,City of Arcadia - (WI),4100,Arcadia Electric,1,Trempealeau,1.3,1.3,Petroleum Liquids,44.2524,-91.5034 +765,City of Arcadia - (WI),4100,Arcadia Electric,10,Trempealeau,2,2,Petroleum Liquids,44.2524,-91.5034 +765,City of Arcadia - (WI),4100,Arcadia Electric,2,Trempealeau,1,1,Petroleum Liquids,44.2524,-91.5034 +765,City of Arcadia - (WI),4100,Arcadia Electric,3,Trempealeau,0.4,0.4,Petroleum Liquids,44.2524,-91.5034 +765,City of Arcadia - (WI),4100,Arcadia Electric,4,Trempealeau,0.2,0.2,Petroleum Liquids,44.2524,-91.5034 +765,City of Arcadia - (WI),4100,Arcadia Electric,5,Trempealeau,3,3,Natural Gas Internal Combustion Engine,44.2524,-91.5034 +765,City of Arcadia - (WI),4100,Arcadia Electric,6,Trempealeau,3,3,Natural Gas Internal Combustion Engine,44.2524,-91.5034 +765,City of Arcadia - (WI),4100,Arcadia Electric,7,Trempealeau,2,2,Petroleum Liquids,44.2524,-91.5034 +765,City of Arcadia - (WI),4100,Arcadia Electric,8,Trempealeau,2,2,Petroleum Liquids,44.2524,-91.5034 +765,City of Arcadia - (WI),4100,Arcadia Electric,9,Trempealeau,2,2,Petroleum Liquids,44.2524,-91.5034 +1278,City of Barron - (WI),4102,Barron,1A,Barron,1.1,1.1,Petroleum Liquids,45.40193,-91.84038 +1278,City of Barron - (WI),4102,Barron,2A,Barron,1.1,1.1,Petroleum Liquids,45.40193,-91.84038 +1278,City of Barron - (WI),4102,Barron,3A,Barron,1.1,1.1,Petroleum Liquids,45.40193,-91.84038 +1278,City of Barron - (WI),4102,Barron,4,Barron,1.1,1.1,Petroleum Liquids,45.40193,-91.84038 +1278,City of Barron - (WI),4102,Barron,7,Barron,0.6,0.6,Petroleum Liquids,45.40193,-91.84038 +1278,City of Barron - (WI),4102,Barron,8,Barron,1.3,1.3,Petroleum Liquids,45.40193,-91.84038 +1278,City of Barron - (WI),4102,Barron,9,Barron,2,2,Petroleum Liquids,45.40193,-91.84038 +1278,City of Barron - (WI),4102,Barron,H2,Barron,0.1,0.1,Conventional Hydroelectric,45.40193,-91.84038 +3156,Village of Cashton - (WI),4107,Cashton,3,Monroe,0.4,0.4,Petroleum Liquids,43.742874,-90.78033 +3156,Village of Cashton - (WI),4107,Cashton,5,Monroe,1.1,1.1,Natural Gas Internal Combustion Engine,43.742874,-90.78033 +3156,Village of Cashton - (WI),4107,Cashton,6,Monroe,2,2,Petroleum Liquids,43.742874,-90.78033 +4627,City of Cumberland - (WI),4112,Cumberland (WI),1,Barron,0.7,0.7,Petroleum Liquids,45.5336,-92.0224 +4627,City of Cumberland - (WI),4112,Cumberland (WI),2,Barron,0.3,0.3,Petroleum Liquids,45.5336,-92.0224 +4627,City of Cumberland - (WI),4112,Cumberland (WI),3,Barron,0.3,0.3,Petroleum Liquids,45.5336,-92.0224 +4627,City of Cumberland - (WI),4112,Cumberland (WI),4,Barron,1.2,1.2,Petroleum Liquids,45.5336,-92.0224 +4627,City of Cumberland - (WI),4112,Cumberland (WI),5,Barron,2.1,2.1,Natural Gas Internal Combustion Engine,45.5336,-92.0224 +4627,City of Cumberland - (WI),4112,Cumberland (WI),6,Barron,6.7,6.7,Petroleum Liquids,45.5336,-92.0224 +4627,City of Cumberland - (WI),4112,Cumberland (WI),7,Barron,6.2,6.2,Natural Gas Internal Combustion Engine,45.5336,-92.0224 +4627,City of Cumberland - (WI),4112,Cumberland (WI),8,Barron,3.5,3.5,Natural Gas Internal Combustion Engine,45.5336,-92.0224 +5834,City of Elroy - (WI),4113,Elroy,1A,Juneau,2.2,2.3,Petroleum Liquids,43.7395,-90.2675 +5834,City of Elroy - (WI),4113,Elroy,2A,Juneau,2.2,2.3,Petroleum Liquids,43.7395,-90.2675 +5834,City of Elroy - (WI),4113,Elroy,5,Juneau,2.2,2.2,Petroleum Liquids,43.7395,-90.2675 +6274,City of Fennimore - (WI),4114,Fennimore,4,Grant,1.1,1.1,Petroleum Liquids,42.9828,-90.6558 +6274,City of Fennimore - (WI),4114,Fennimore,5,Grant,0.9,0.9,Petroleum Liquids,42.9828,-90.6558 +6274,City of Fennimore - (WI),4114,Fennimore,6,Grant,1.8,1.8,Petroleum Liquids,42.9828,-90.6558 +6274,City of Fennimore - (WI),4114,Fennimore,7,Grant,1.8,1.8,Petroleum Liquids,42.9828,-90.6558 +6274,City of Fennimore - (WI),4114,Fennimore,8,Grant,1.8,1.8,Petroleum Liquids,42.9828,-90.6558 +10056,City of Kaukauna,4118,Kaukauna Gas Turbine,GT1,Outagamie,15.8,18.3,Natural Gas Fired Combustion Turbine,44.276199,-88.26545 +10056,City of Kaukauna,4119,Little Chute,1,Outagamie,1.1,1.1,Conventional Hydroelectric,44.279897,-88.25558 +10056,City of Kaukauna,4119,Little Chute,2,Outagamie,1.1,1.1,Conventional Hydroelectric,44.279897,-88.25558 +10056,City of Kaukauna,4119,Little Chute,3,Outagamie,1.1,1.1,Conventional Hydroelectric,44.279897,-88.25558 +10056,City of Kaukauna,4120,New Badger,3,Outagamie,4,4,Conventional Hydroelectric,44.2772,-88.2678 +10056,City of Kaukauna,4120,New Badger,4,Outagamie,4,4,Conventional Hydroelectric,44.2772,-88.2678 +10056,City of Kaukauna,4122,Rapide Croche,1,Outagamie,0.6,0.6,Conventional Hydroelectric,44.3164,-88.3147 +10056,City of Kaukauna,4122,Rapide Croche,2,Outagamie,0.6,0.6,Conventional Hydroelectric,44.3164,-88.3147 +10056,City of Kaukauna,4122,Rapide Croche,3,Outagamie,0.6,0.6,Conventional Hydroelectric,44.3164,-88.3147 +10056,City of Kaukauna,4122,Rapide Croche,4,Outagamie,0.6,0.6,Conventional Hydroelectric,44.3164,-88.3147 +10525,La Farge Municipal Electric Co,4124,La Farge,2A,Vernon,1.5,1.5,Petroleum Liquids,43.5722,-90.6391 +11571,Manitowoc Public Utilities,4125,Manitowoc,5,Manitowoc,22,22,Wood/Wood Waste Biomass,44.082,-87.6558 +11571,Manitowoc Public Utilities,4125,Manitowoc,6,Manitowoc,22,22,Wood/Wood Waste Biomass,44.082,-87.6558 +11571,Manitowoc Public Utilities,4125,Manitowoc,9,Manitowoc,58.4,58.4,Petroleum Coke,44.082,-87.6558 +13466,City of New Lisbon,4130,New Lisbon,2,Juneau,1.2,1.2,Petroleum Liquids,43.8797,-90.1645 +13466,City of New Lisbon,4130,New Lisbon,5,Juneau,2.4,2.4,Petroleum Liquids,43.8797,-90.1645 +13466,City of New Lisbon,4130,New Lisbon,6,Juneau,2,2.1,Petroleum Liquids,43.8797,-90.1645 +13466,City of New Lisbon,4130,New Lisbon,7,Juneau,2,2.1,Petroleum Liquids,43.8797,-90.1645 +19867,Village of Viola - (WI),4139,Viola,3,Richland,1.8,1.8,Petroleum Liquids,43.507,-90.669 +4716,Dairyland Power Coop,4142,Flambeau Hydroelectric Station,1,Rusk,8.1,8.1,Conventional Hydroelectric,45.491826,-91.04721 +4716,Dairyland Power Coop,4142,Flambeau Hydroelectric Station,2,Rusk,8,8,Conventional Hydroelectric,45.491826,-91.04721 +4716,Dairyland Power Coop,4142,Flambeau Hydroelectric Station,3,Rusk,8,8,Conventional Hydroelectric,45.491826,-91.04721 +13964,Oconto Electric Cooperative,4147,Stiles,1,Oconto,0.3,0.3,Conventional Hydroelectric,44.8747,-88.1586 +13964,Oconto Electric Cooperative,4147,Stiles,2,Oconto,0.3,0.3,Conventional Hydroelectric,44.8747,-88.1586 +20153,"Washington Island El Coop, Inc",4148,Washington Island,2,Door,0.1,0.1,Petroleum Liquids,45.370922,-86.93082 +20153,"Washington Island El Coop, Inc",4148,Washington Island,3,Door,0.1,0.1,Petroleum Liquids,45.370922,-86.93082 +20153,"Washington Island El Coop, Inc",4148,Washington Island,4,Door,0.2,0.2,Petroleum Liquids,45.370922,-86.93082 +20153,"Washington Island El Coop, Inc",4148,Washington Island,5,Door,0.5,0.5,Petroleum Liquids,45.370922,-86.93082 +20153,"Washington Island El Coop, Inc",4148,Washington Island,6,Door,0.9,0.9,Petroleum Liquids,45.370922,-86.93082 +20153,"Washington Island El Coop, Inc",4148,Washington Island,7,Door,1.6,1.6,Petroleum Liquids,45.370922,-86.93082 +20153,"Washington Island El Coop, Inc",4148,Washington Island,8,Door,1.6,1.6,Petroleum Liquids,45.370922,-86.93082 +10056,City of Kaukauna,4201,Combined Locks,HC1,Outagamie,3.1,3.1,Conventional Hydroelectric,44.273511,-88.30055 +10056,City of Kaukauna,4201,Combined Locks,HC2,Outagamie,3.1,3.1,Conventional Hydroelectric,44.273511,-88.30055 +4716,Dairyland Power Coop,4271,John P Madgett,1,Buffalo,389.8,392.5,Conventional Steam Coal,44.303583,-91.91265 +13781,Northern States Power Co - Minnesota,6086,Cornell,1,Chippewa,6.2,6.2,Conventional Hydroelectric,45.164024,-91.15743 +13781,Northern States Power Co - Minnesota,6086,Cornell,2,Chippewa,6.4,6.4,Conventional Hydroelectric,45.164024,-91.15743 +13781,Northern States Power Co - Minnesota,6086,Cornell,3,Chippewa,6.9,6.9,Conventional Hydroelectric,45.164024,-91.15743 +13781,Northern States Power Co - Minnesota,6086,Cornell,4,Chippewa,0.4,0.4,Conventional Hydroelectric,45.164024,-91.15743 +13781,Northern States Power Co - Minnesota,6231,Apple River,1,St Croix,0.4,0.5,Conventional Hydroelectric,45.157552,-92.71621 +13781,Northern States Power Co - Minnesota,6231,Apple River,3,St Croix,0.5,0.6,Conventional Hydroelectric,45.157552,-92.71621 +13781,Northern States Power Co - Minnesota,6231,Apple River,4,St Croix,0.5,0.6,Conventional Hydroelectric,45.157552,-92.71621 +20847,Wisconsin Electric Power Co,6253,Germantown,1,Washington,49.2,69.9,Petroleum Liquids,43.1952,-88.1496 +20847,Wisconsin Electric Power Co,6253,Germantown,2,Washington,49,69.6,Petroleum Liquids,43.1952,-88.1496 +20847,Wisconsin Electric Power Co,6253,Germantown,3,Washington,47.5,67.5,Petroleum Liquids,43.1952,-88.1496 +20847,Wisconsin Electric Power Co,6253,Germantown,4,Washington,46.8,66.5,Petroleum Liquids,43.1952,-88.1496 +20847,Wisconsin Electric Power Co,6253,Germantown,5,Washington,76.2,103.9,Natural Gas Fired Combustion Turbine,43.1952,-88.1496 +4715,Dahlberg Light & Power Co,7058,Solon Diesel,1,Douglas,0.8,0.8,Petroleum Liquids,46.358956,-91.82363 +4715,Dahlberg Light & Power Co,7058,Solon Diesel,2,Douglas,0.8,0.8,Petroleum Liquids,46.358956,-91.82363 +4715,Dahlberg Light & Power Co,7058,Solon Diesel,3,Douglas,0.8,0.8,Petroleum Liquids,46.358956,-91.82363 +4715,Dahlberg Light & Power Co,7058,Solon Diesel,4,Douglas,0.8,0.8,Petroleum Liquids,46.358956,-91.82363 +4715,Dahlberg Light & Power Co,7058,Solon Diesel,5,Douglas,0.8,0.8,Petroleum Liquids,46.358956,-91.82363 +4715,Dahlberg Light & Power Co,7058,Solon Diesel,6,Douglas,0.8,0.8,Petroleum Liquids,46.358956,-91.82363 +4715,Dahlberg Light & Power Co,7058,Solon Diesel,7,Douglas,0.8,0.8,Petroleum Liquids,46.358956,-91.82363 +4715,Dahlberg Light & Power Co,7058,Solon Diesel,8,Douglas,0.8,0.8,Petroleum Liquids,46.358956,-91.82363 +20847,Wisconsin Electric Power Co,7159,Concord,1,Jefferson,92.5,100,Natural Gas Fired Combustion Turbine,43.1669,-88.69 +20847,Wisconsin Electric Power Co,7159,Concord,2,Jefferson,91.3,100,Natural Gas Fired Combustion Turbine,43.1669,-88.69 +20847,Wisconsin Electric Power Co,7159,Concord,3,Jefferson,90.7,100,Natural Gas Fired Combustion Turbine,43.1669,-88.69 +20847,Wisconsin Electric Power Co,7159,Concord,4,Jefferson,94,100,Natural Gas Fired Combustion Turbine,43.1669,-88.69 +20856,Wisconsin Power & Light Co,7203,South Fond Du Lac,CT1,Fond Du Lac,80.8,90.8,Natural Gas Fired Combustion Turbine,43.7353,-88.49667 +20856,Wisconsin Power & Light Co,7203,South Fond Du Lac,CT2,Fond Du Lac,81.3,91.5,Natural Gas Fired Combustion Turbine,43.7353,-88.49667 +20856,Wisconsin Power & Light Co,7203,South Fond Du Lac,CT3,Fond Du Lac,83.1,93.5,Natural Gas Fired Combustion Turbine,43.7353,-88.49667 +20856,Wisconsin Power & Light Co,7203,South Fond Du Lac,CT4,Fond Du Lac,83,93.3,Natural Gas Fired Combustion Turbine,43.7353,-88.49667 +20847,Wisconsin Electric Power Co,7270,Paris (WI),1,Kenosha,90.1,100,Natural Gas Fired Combustion Turbine,42.6658,-88.0131 +20847,Wisconsin Electric Power Co,7270,Paris (WI),2,Kenosha,89.9,100,Natural Gas Fired Combustion Turbine,42.6658,-88.0131 +20847,Wisconsin Electric Power Co,7270,Paris (WI),3,Kenosha,93.5,100,Natural Gas Fired Combustion Turbine,42.6658,-88.0131 +20847,Wisconsin Electric Power Co,7270,Paris (WI),4,Kenosha,90.4,100,Natural Gas Fired Combustion Turbine,42.6658,-88.0131 +11571,Manitowoc Public Utilities,7795,Custer Energy Center,1,Manitowoc,22,24,Natural Gas Fired Combustion Turbine,44.085437,-87.7261 +11479,Madison Gas & Electric Co,7799,West Marinette 34,34,Marinette,70.2,70.2,Natural Gas Fired Combustion Turbine,45.0869,-87.6892 +792,City of Argyle - (WI),7810,Argyle,5,Lafayette,2,2,Petroleum Liquids,42.7019,-89.8697 +10056,City of Kaukauna,7822,Kaukauna City Hydro,1,Outagamie,2.4,2.4,Conventional Hydroelectric,44.274582,-88.31907 +10056,City of Kaukauna,7822,Kaukauna City Hydro,2,Outagamie,2.4,2.4,Conventional Hydroelectric,44.274582,-88.31907 +4716,Dairyland Power Coop,7863,Elk Mound,1,Chippewa,30.7,40.4,Natural Gas Fired Combustion Turbine,44.902814,-91.5681 +4716,Dairyland Power Coop,7863,Elk Mound,2,Chippewa,33.9,44.3,Natural Gas Fired Combustion Turbine,44.902814,-91.5681 +11479,Madison Gas & Electric Co,7886,Wind Turbine,1,Kewaunee,11,11,Onshore Wind Turbine,44.6694,-87.6333 +11479,Madison Gas & Electric Co,7991,West Campus Cogeneration Facility,1,Dane,30.9,30.9,Natural Gas Fired Combined Cycle,43.075071,-89.4251 +11479,Madison Gas & Electric Co,7991,West Campus Cogeneration Facility,CT2,Dane,32.6,32.6,Natural Gas Fired Combined Cycle,43.075071,-89.4251 +11479,Madison Gas & Electric Co,7991,West Campus Cogeneration Facility,STG1,Dane,66.1,66.1,Natural Gas Fired Combined Cycle,43.075071,-89.4251 +13697,North Central Power Co Inc,8013,Winter,IC 1,Sawyer,2.8,2.8,Petroleum Liquids,45.836675,-90.97352 +13697,North Central Power Co Inc,8013,Winter,IC 2,Sawyer,2.8,2.8,Petroleum Liquids,45.836675,-90.97352 +20856,Wisconsin Power & Light Co,8023,Columbia (WI),1,Columbia,579.3,582.3,Conventional Steam Coal,43.4864,-89.4203 +20856,Wisconsin Power & Light Co,8023,Columbia (WI),2,Columbia,568.8,578.8,Conventional Steam Coal,43.4864,-89.4203 +11479,Madison Gas & Electric Co,9674,Nine Springs,GT1,Dane,12.6,12.6,Natural Gas Fired Combustion Turbine,43.0386,-89.3586 +61813,"ND Paper, Inc.",10234,Biron Mill,GEN1,Wood,15.3,15.3,Conventional Steam Coal,44.43,-89.78 +61813,"ND Paper, Inc.",10234,Biron Mill,GEN3,Wood,7.5,7.5,Natural Gas Steam Turbine,44.43,-89.78 +61813,"ND Paper, Inc.",10234,Biron Mill,GEN4,Wood,12.5,12.5,Natural Gas Steam Turbine,44.43,-89.78 +61813,"ND Paper, Inc.",10234,Biron Mill,GEN5,Wood,20,20,Conventional Steam Coal,44.43,-89.78 +55919,Georgia-Pacific Consumer Oper. Green Bay LLC,10360,Consumer Operations LLC,GEN6,Brown,18,18,Natural Gas Steam Turbine,44.4936,-88.0303 +55919,Georgia-Pacific Consumer Oper. Green Bay LLC,10360,Consumer Operations LLC,GEN7,Brown,23,23,Natural Gas Steam Turbine,44.4936,-88.0303 +58149,Renewable World Energies LLC,10453,LAC Courte Oreilles Hydroelect,U1,Sawyer,0.2,0.2,Conventional Hydroelectric,45.888333,-91.07694 +58149,Renewable World Energies LLC,10453,LAC Courte Oreilles Hydroelect,U2,Sawyer,1.5,1.5,Conventional Hydroelectric,45.888333,-91.07694 +58149,Renewable World Energies LLC,10453,LAC Courte Oreilles Hydroelect,U3,Sawyer,1.5,1.5,Conventional Hydroelectric,45.888333,-91.07694 +55965,Verso Corporation,10477,Wisconsin Rapids Pulp Mill,GEN1,Wood,27.2,32,Wood/Wood Waste Biomass,44.3953,-89.826 +55965,Verso Corporation,10477,Wisconsin Rapids Pulp Mill,GEN2,Wood,37.5,40.3,Wood/Wood Waste Biomass,44.3953,-89.826 +55997,Domtar Paper Company Rothschild,50190,Domtar Paper Company Rothschild,HG3,Marathon,0.6,0.6,Conventional Hydroelectric,44.8867,-89.6272 +55997,Domtar Paper Company Rothschild,50190,Domtar Paper Company Rothschild,HG7,Marathon,0.5,0.5,Conventional Hydroelectric,44.8867,-89.6272 +5033,Domtar Industries Inc,50395,Georgia-Pacific Corp - Nekoosa Mill,HY1,Wood,0.8,0.7,Conventional Hydroelectric,44.3142,-89.8964 +5033,Domtar Industries Inc,50395,Georgia-Pacific Corp - Nekoosa Mill,HY2,Wood,0.8,0.7,Conventional Hydroelectric,44.3142,-89.8964 +5033,Domtar Industries Inc,50395,Georgia-Pacific Corp - Nekoosa Mill,HY3,Wood,0.8,0.7,Conventional Hydroelectric,44.3142,-89.8964 +5033,Domtar Industries Inc,50395,Georgia-Pacific Corp - Nekoosa Mill,HY4,Wood,0.6,0.6,Conventional Hydroelectric,44.3142,-89.8964 +5033,Domtar Industries Inc,50395,Georgia-Pacific Corp - Nekoosa Mill,HY5,Wood,0.7,0.6,Conventional Hydroelectric,44.3142,-89.8964 +5033,Domtar Industries Inc,50395,Georgia-Pacific Corp - Nekoosa Mill,NHG1,Wood,0.2,0.2,Conventional Hydroelectric,44.3142,-89.8964 +5033,Domtar Industries Inc,50395,Georgia-Pacific Corp - Nekoosa Mill,TG14,Wood,12.5,12.1,Wood/Wood Waste Biomass,44.3142,-89.8964 +5033,Domtar Industries Inc,50395,Georgia-Pacific Corp - Nekoosa Mill,TG6,Wood,5.7,5.5,Natural Gas Steam Turbine,44.3142,-89.8964 +5033,Domtar Industries Inc,50395,Georgia-Pacific Corp - Nekoosa Mill,TG8,Wood,13,15,Natural Gas Steam Turbine,44.3142,-89.8964 +57280,"Eagle Creek Renewable Energy, LLC",50408,Park Mill,1,Marinette,0.4,0.4,Conventional Hydroelectric,45.1058,-87.6514 +57280,"Eagle Creek Renewable Energy, LLC",50408,Park Mill,10,Marinette,0.3,0.3,Conventional Hydroelectric,45.1058,-87.6514 +57280,"Eagle Creek Renewable Energy, LLC",50408,Park Mill,2,Marinette,0.2,0.2,Conventional Hydroelectric,45.1058,-87.6514 +57280,"Eagle Creek Renewable Energy, LLC",50408,Park Mill,3,Marinette,0.4,0.4,Conventional Hydroelectric,45.1058,-87.6514 +57280,"Eagle Creek Renewable Energy, LLC",50408,Park Mill,6,Marinette,0.4,0.4,Conventional Hydroelectric,45.1058,-87.6514 +57280,"Eagle Creek Renewable Energy, LLC",50408,Park Mill,7,Marinette,0.4,0.4,Conventional Hydroelectric,45.1058,-87.6514 +57280,"Eagle Creek Renewable Energy, LLC",50439,Oconto Falls Lower,GEN1,Oconto,0.3,0.3,Conventional Hydroelectric,44.8719,-88.1439 +57280,"Eagle Creek Renewable Energy, LLC",50439,Oconto Falls Lower,GEN2,Oconto,1.7,1.7,Conventional Hydroelectric,44.8719,-88.1439 +14369,PCA-Tomahawk Mill,50476,Packaging of America Tomahawk Mill,GEN1,Lincoln,5.4,5.8,Wood/Wood Waste Biomass,45.4431,-89.7342 +14369,PCA-Tomahawk Mill,50476,Packaging of America Tomahawk Mill,GEN2,Lincoln,8.2,8.9,Wood/Wood Waste Biomass,45.4431,-89.7342 +14369,PCA-Tomahawk Mill,50476,Packaging of America Tomahawk Mill,GEN3,Lincoln,0.5,0.6,Conventional Hydroelectric,45.4431,-89.7342 +14369,PCA-Tomahawk Mill,50476,Packaging of America Tomahawk Mill,GEN4,Lincoln,0.3,0.2,Conventional Hydroelectric,45.4431,-89.7342 +14369,PCA-Tomahawk Mill,50476,Packaging of America Tomahawk Mill,GEN5,Lincoln,0.3,0.3,Conventional Hydroelectric,45.4431,-89.7342 +54842,WM Renewable Energy LLC,50576,Metro Gas Recovery,GEN1,Milwaukee,2.9,3.3,Landfill Gas,42.850556,-88.06972 +54842,WM Renewable Energy LLC,50576,Metro Gas Recovery,GEN2,Milwaukee,2.9,3.3,Landfill Gas,42.850556,-88.06972 +54842,WM Renewable Energy LLC,50576,Metro Gas Recovery,GEN3,Milwaukee,0.8,0.8,Landfill Gas,42.850556,-88.06972 +54842,WM Renewable Energy LLC,50576,Metro Gas Recovery,GEN4,Milwaukee,0.8,0.8,Landfill Gas,42.850556,-88.06972 +54842,WM Renewable Energy LLC,50576,Metro Gas Recovery,GEN5,Milwaukee,0.8,0.8,Landfill Gas,42.850556,-88.06972 +54842,WM Renewable Energy LLC,50576,Metro Gas Recovery,GEN6,Milwaukee,0.8,0.8,Landfill Gas,42.850556,-88.06972 +54842,WM Renewable Energy LLC,50577,Omega Hills Gas Recovery,GEN1,Washington,2.9,3.3,Landfill Gas,43.1922,-88.1597 +54842,WM Renewable Energy LLC,50577,Omega Hills Gas Recovery,GEN2,Washington,2.9,3.3,Landfill Gas,43.1922,-88.1597 +54842,WM Renewable Energy LLC,50577,Omega Hills Gas Recovery,GEN3,Washington,3,3,Landfill Gas,43.1922,-88.1597 +54842,WM Renewable Energy LLC,50577,Omega Hills Gas Recovery,GEN5,Washington,2.9,3.3,Landfill Gas,43.1922,-88.1597 +13008,"Ahlstrom-Munksjo NA Specialty Solutions, LLC",50614,Mosinee Mill,GEN1,Marathon,13,13,Wood/Wood Waste Biomass,44.7881,-89.6917 +13008,"Ahlstrom-Munksjo NA Specialty Solutions, LLC",50614,Mosinee Mill,HYD1,Marathon,2,2,Conventional Hydroelectric,44.7881,-89.6917 +13008,"Ahlstrom-Munksjo NA Specialty Solutions, LLC",50614,Mosinee Mill,HYD2,Marathon,0.7,0.7,Conventional Hydroelectric,44.7881,-89.6917 +13008,"Ahlstrom-Munksjo NA Specialty Solutions, LLC",50614,Mosinee Mill,HYD3,Marathon,0.7,0.7,Conventional Hydroelectric,44.7881,-89.6917 +13008,"Ahlstrom-Munksjo NA Specialty Solutions, LLC",50614,Mosinee Mill,WEST,Marathon,5,5,Wood/Wood Waste Biomass,44.7881,-89.6917 +61707,Ahlstrom-Munksjo,50933,Rhinelander Mill,GEN5,Oneida,4,7,Natural Gas Steam Turbine,45.6394,-89.4205 +61707,Ahlstrom-Munksjo,50933,Rhinelander Mill,GEN6,Oneida,6.3,8.5,Conventional Steam Coal,45.6394,-89.4205 +61707,Ahlstrom-Munksjo,50933,Rhinelander Mill,HYD1,Oneida,0.5,0.5,Conventional Hydroelectric,45.6394,-89.4205 +61707,Ahlstrom-Munksjo,50933,Rhinelander Mill,HYD2,Oneida,0.5,0.5,Conventional Hydroelectric,45.6394,-89.4205 +61707,Ahlstrom-Munksjo,50933,Rhinelander Mill,HYD3,Oneida,1,1,Conventional Hydroelectric,45.6394,-89.4205 +20854,Winnebago County,50936,Winnebago County Landfill Gas,EG2R,Winnebago,0.6,0.6,Landfill Gas,44.083,-88.5411 +20854,Winnebago County,50936,Winnebago County Landfill Gas,EG3,Winnebago,0.9,0.9,Landfill Gas,44.083,-88.5411 +20854,Winnebago County,50936,Winnebago County Landfill Gas,EG4,Winnebago,1,1,Landfill Gas,44.083,-88.5411 +54738,Thilmany LLC,54098,Kaukauna Paper Mill,GEN1,Outagamie,6,6,Wood/Wood Waste Biomass,44.2826,-88.2534 +54738,Thilmany LLC,54098,Kaukauna Paper Mill,GEN2,Outagamie,11,11,Wood/Wood Waste Biomass,44.2826,-88.2534 +54738,Thilmany LLC,54098,Kaukauna Paper Mill,GEN3,Outagamie,15.6,15.6,Wood/Wood Waste Biomass,44.2826,-88.2534 +54738,Thilmany LLC,54098,Kaukauna Paper Mill,GEN4,Outagamie,12,12,Conventional Steam Coal,44.2826,-88.2534 +5033,Domtar Industries Inc,54103,Port Edwards Mill,HG1,Wood,0.4,0.4,Conventional Hydroelectric,44.3364,-89.8672 +5033,Domtar Industries Inc,54103,Port Edwards Mill,HG2,Wood,0.4,0.4,Conventional Hydroelectric,44.3364,-89.8672 +5033,Domtar Industries Inc,54103,Port Edwards Mill,HG3,Wood,0.4,0.4,Conventional Hydroelectric,44.3364,-89.8672 +5033,Domtar Industries Inc,54103,Port Edwards Mill,HG4,Wood,0.4,0.4,Conventional Hydroelectric,44.3364,-89.8672 +5033,Domtar Industries Inc,54103,Port Edwards Mill,HG5,Wood,0.8,0.7,Conventional Hydroelectric,44.3364,-89.8672 +5033,Domtar Industries Inc,54103,Port Edwards Mill,HG6,Wood,0.8,0.7,Conventional Hydroelectric,44.3364,-89.8672 +5033,Domtar Industries Inc,54103,Port Edwards Mill,JHG1,Wood,1.2,1.2,Conventional Hydroelectric,44.3364,-89.8672 +5033,Domtar Industries Inc,54103,Port Edwards Mill,JHG2,Wood,0.6,0.6,Conventional Hydroelectric,44.3364,-89.8672 +5033,Domtar Industries Inc,54103,Port Edwards Mill,JHG3,Wood,0.6,0.6,Conventional Hydroelectric,44.3364,-89.8672 +5033,Domtar Industries Inc,54103,Port Edwards Mill,JHG4,Wood,0.4,0.4,Conventional Hydroelectric,44.3364,-89.8672 +5033,Domtar Industries Inc,54103,Port Edwards Mill,JHG5,Wood,0.6,0.6,Conventional Hydroelectric,44.3364,-89.8672 +18028,State of Wisconsin,54406,Capitol Heat and Power,P31,Dane,1,1,Petroleum Liquids,43.078512,-89.37726 +18028,State of Wisconsin,54406,Capitol Heat and Power,P32,Dane,1,1,Petroleum Liquids,43.078512,-89.37726 +18028,State of Wisconsin,54407,Waupun Correctional Central Heating Plt,1,Dodge,1,1,Natural Gas Steam Turbine,43.6233,-88.7297 +18028,State of Wisconsin,54407,Waupun Correctional Central Heating Plt,2,Dodge,1,1,Natural Gas Steam Turbine,43.6233,-88.7297 +18028,State of Wisconsin,54407,Waupun Correctional Central Heating Plt,3,Dodge,0.8,0.8,Petroleum Liquids,43.6233,-88.7297 +18028,State of Wisconsin,54407,Waupun Correctional Central Heating Plt,4,Dodge,1.5,1.5,Petroleum Liquids,43.6233,-88.7297 +18028,State of Wisconsin,54408,UW Madison Charter Street Plant,1,Dane,9.7,9.7,Natural Gas Steam Turbine,43.07,-89.4006 +18028,State of Wisconsin,54408,UW Madison Charter Street Plant,3,Dane,1.3,1.3,Petroleum Liquids,43.07,-89.4006 +54842,WM Renewable Energy LLC,54661,Pheasant Run Landfill Gas Recovery,GE10,Kenosha,0.8,0.8,Landfill Gas,42.5825,-88.0436 +54842,WM Renewable Energy LLC,54661,Pheasant Run Landfill Gas Recovery,GE11,Kenosha,0.8,0.8,Landfill Gas,42.5825,-88.0436 +54842,WM Renewable Energy LLC,54661,Pheasant Run Landfill Gas Recovery,GEN1,Kenosha,0.8,0.8,Landfill Gas,42.5825,-88.0436 +54842,WM Renewable Energy LLC,54661,Pheasant Run Landfill Gas Recovery,GEN2,Kenosha,0.8,0.8,Landfill Gas,42.5825,-88.0436 +54842,WM Renewable Energy LLC,54661,Pheasant Run Landfill Gas Recovery,GEN3,Kenosha,0.8,0.8,Landfill Gas,42.5825,-88.0436 +54842,WM Renewable Energy LLC,54661,Pheasant Run Landfill Gas Recovery,GEN4,Kenosha,0.8,0.8,Landfill Gas,42.5825,-88.0436 +54842,WM Renewable Energy LLC,54661,Pheasant Run Landfill Gas Recovery,GEN5,Kenosha,0.8,0.8,Landfill Gas,42.5825,-88.0436 +54842,WM Renewable Energy LLC,54661,Pheasant Run Landfill Gas Recovery,GEN6,Kenosha,0.8,0.8,Landfill Gas,42.5825,-88.0436 +54842,WM Renewable Energy LLC,54661,Pheasant Run Landfill Gas Recovery,GEN7,Kenosha,0.8,0.8,Landfill Gas,42.5825,-88.0436 +54842,WM Renewable Energy LLC,54661,Pheasant Run Landfill Gas Recovery,GEN8,Kenosha,0.8,0.8,Landfill Gas,42.5825,-88.0436 +54842,WM Renewable Energy LLC,54661,Pheasant Run Landfill Gas Recovery,GEN9,Kenosha,0.8,0.8,Landfill Gas,42.5825,-88.0436 +12619,Milwaukee Metro Sewerage Dist,54851,MMSD Jones Island Wastewater,GEN1,Milwaukee,13,15,Natural Gas Fired Combustion Turbine,43.0214,-87.9014 +12619,Milwaukee Metro Sewerage Dist,54851,MMSD Jones Island Wastewater,SOL1,Milwaukee,4.6,4.6,Natural Gas Fired Combustion Turbine,43.0214,-87.9014 +12619,Milwaukee Metro Sewerage Dist,54851,MMSD Jones Island Wastewater,SOL2,Milwaukee,4.6,4.6,Landfill Gas,43.0214,-87.9014 +12619,Milwaukee Metro Sewerage Dist,54851,MMSD Jones Island Wastewater,SOL3,Milwaukee,4.6,4.6,Landfill Gas,43.0214,-87.9014 +10056,City of Kaukauna,54885,Kimberly Mill,1H,Outagamie,0.7,0.7,Conventional Hydroelectric,44.2769,-88.3344 +10056,City of Kaukauna,54885,Kimberly Mill,2H,Outagamie,0.7,0.7,Conventional Hydroelectric,44.2769,-88.3344 +10056,City of Kaukauna,54885,Kimberly Mill,3H,Outagamie,0.7,0.7,Conventional Hydroelectric,44.2769,-88.3344 +55911,Whitewater Operating Services LLC,55011,LSP-Whitewater LP,CTG1,Jefferson,162,175,Natural Gas Fired Combined Cycle,42.855463,-88.72992 +55911,Whitewater Operating Services LLC,55011,LSP-Whitewater LP,STG1,Jefferson,99,97,Natural Gas Fired Combined Cycle,42.855463,-88.72992 +20860,Wisconsin Public Service Corp,55029,De Pere Energy Center,CT01,Brown,166,193.2,Natural Gas Fired Combustion Turbine,44.44861,-88.07204 +20856,Wisconsin Power & Light Co,55135,Alliant Energy Neenah,CT01,Winnebago,150.6,171.2,Natural Gas Fired Combustion Turbine,44.1936,-88.5064 +20856,Wisconsin Power & Light Co,55135,Alliant Energy Neenah,CT02,Winnebago,153.9,175.1,Natural Gas Fired Combustion Turbine,44.1936,-88.5064 +4716,Dairyland Power Coop,55391,RockGen Energy Center,01,Dane,163,163,Natural Gas Fired Combustion Turbine,42.9767,-89.0492 +4716,Dairyland Power Coop,55391,RockGen Energy Center,02,Dane,163,163,Natural Gas Fired Combustion Turbine,42.9767,-89.0492 +4716,Dairyland Power Coop,55391,RockGen Energy Center,03,Dane,163,163,Natural Gas Fired Combustion Turbine,42.9767,-89.0492 +12619,Milwaukee Metro Sewerage Dist,55525,MMSD South Shore Wastewater,1,Milwaukee,1.4,1.4,Other Waste Biomass,42.8869,-87.8422 +12619,Milwaukee Metro Sewerage Dist,55525,MMSD South Shore Wastewater,1CAT,Milwaukee,0.9,0.9,Other Waste Biomass,42.8869,-87.8422 +12619,Milwaukee Metro Sewerage Dist,55525,MMSD South Shore Wastewater,2CAT,Milwaukee,0.9,0.9,Other Waste Biomass,42.8869,-87.8422 +12619,Milwaukee Metro Sewerage Dist,55525,MMSD South Shore Wastewater,3CAT,Milwaukee,0.9,0.9,Other Waste Biomass,42.8869,-87.8422 +12619,Milwaukee Metro Sewerage Dist,55525,MMSD South Shore Wastewater,4CAT,Milwaukee,0.9,0.9,Other Waste Biomass,42.8869,-87.8422 +744,Appleton Coated LLC,55558,Combined Locks Energy Center,GEN1,Outagamie,45.9,47,Natural Gas Fired Combined Cycle,44.2717,-88.3011 +744,Appleton Coated LLC,55558,Combined Locks Energy Center,GEN2,Outagamie,6,6,Natural Gas Fired Combined Cycle,44.2717,-88.3011 +20856,Wisconsin Power & Light Co,55641,Riverside Energy Center,CTG1,Rock,155.2,166.7,Natural Gas Fired Combined Cycle,42.583056,-89.03583 +20856,Wisconsin Power & Light Co,55641,Riverside Energy Center,CTG2,Rock,153.3,164.6,Natural Gas Fired Combined Cycle,42.583056,-89.03583 +20856,Wisconsin Power & Light Co,55641,Riverside Energy Center,STG1,Rock,251.9,257.3,Natural Gas Fired Combined Cycle,42.583056,-89.03583 +58149,Renewable World Energies LLC,55684,Flambeau Crowley Rapids Project,GEN1,Price,1,1,Conventional Hydroelectric,45.8683,-90.5844 +58149,Renewable World Energies LLC,55684,Flambeau Crowley Rapids Project,GEN2,Price,0.5,0.5,Conventional Hydroelectric,45.8683,-90.5844 +58149,Renewable World Energies LLC,55685,Flambeau Lower Project,GEN1,Price,0.4,0.4,Conventional Hydroelectric,45.913526,-90.44746 +58149,Renewable World Energies LLC,55685,Flambeau Lower Project,GEN2,Price,0.4,0.4,Conventional Hydroelectric,45.913526,-90.44746 +58149,Renewable World Energies LLC,55685,Flambeau Lower Project,GEN3,Price,0.4,0.4,Conventional Hydroelectric,45.913526,-90.44746 +20847,Wisconsin Electric Power Co,55742,Montfort Wind Energy Center,ER15,Iowa,30,30,Onshore Wind Turbine,42.9625,-90.38667 +20858,WPPI Energy,55836,Island Street Peaking Plant,FT81,Outagamie,52.4,60,Natural Gas Fired Combustion Turbine,44.2761,-88.2658 +61723,"Pixelle Specialty Solution, LLC",55861,Stevens Point Mill,SP,Portage,7,7,Natural Gas Steam Turbine,44.3528,-89.5836 +1687,Bio-Energy Partners,55925,Ridgeview,GEN1,Manitowoc,0.8,0.8,Landfill Gas,44.175007,-87.82852 +1687,Bio-Energy Partners,55925,Ridgeview,GEN2,Manitowoc,0.8,0.8,Landfill Gas,44.175007,-87.82852 +1687,Bio-Energy Partners,55925,Ridgeview,GEN5,Manitowoc,0.8,0.8,Landfill Gas,44.175007,-87.82852 +1687,Bio-Energy Partners,55925,Ridgeview,GEN6,Manitowoc,0.8,0.8,Landfill Gas,44.175007,-87.82852 +1687,Bio-Energy Partners,55925,Ridgeview,GEN7,Manitowoc,0.8,0.8,Landfill Gas,44.175007,-87.82852 +1687,Bio-Energy Partners,55925,Ridgeview,GEN8,Manitowoc,0.8,0.8,Landfill Gas,44.175007,-87.82852 +13815,Northwestern Wisconsin Elec Co,55998,Danbury Diesel,GT1,Burnett,4,4,Petroleum Liquids,46.002834,-92.37138 +13815,Northwestern Wisconsin Elec Co,55998,Danbury Diesel,IC1,Burnett,0.5,0.5,Petroleum Liquids,46.002834,-92.37138 +13815,Northwestern Wisconsin Elec Co,55998,Danbury Diesel,IC2,Burnett,0.5,0.5,Petroleum Liquids,46.002834,-92.37138 +20860,Wisconsin Public Service Corp,56031,Fox Energy Center,CTG1,Outagamie,170.8,200.3,Natural Gas Fired Combined Cycle,44.3204,-88.20889 +20860,Wisconsin Public Service Corp,56031,Fox Energy Center,CTG2,Outagamie,162.8,200.3,Natural Gas Fired Combined Cycle,44.3204,-88.20889 +20860,Wisconsin Public Service Corp,56031,Fox Energy Center,STG,Outagamie,243.9,244.2,Natural Gas Fired Combined Cycle,44.3204,-88.20889 +20847,Wisconsin Electric Power Co,56068,Elm Road Generating Station,1,Milwaukee,635.9,637.3,Conventional Steam Coal,42.8492,-87.8336 +20847,Wisconsin Electric Power Co,56068,Elm Road Generating Station,2,Milwaukee,634.9,638.1,Conventional Steam Coal,42.8492,-87.8336 +54842,WM Renewable Energy LLC,56069,Berlin Landfill Gas,1,Green Lake,0.8,0.8,Landfill Gas,43.9603,-88.9158 +54842,WM Renewable Energy LLC,56069,Berlin Landfill Gas,2,Green Lake,0.8,0.8,Landfill Gas,43.9603,-88.9158 +54842,WM Renewable Energy LLC,56069,Berlin Landfill Gas,3,Green Lake,0.8,0.8,Landfill Gas,43.9603,-88.9158 +11479,Madison Gas & Electric Co,56070,Diesel Generators,1,Dane,53.8,53.8,Petroleum Liquids,43.0802,-89.3747 +20856,Wisconsin Power & Light Co,56166,Sheboygan Falls,1,Sheboygan,151.9,172.6,Natural Gas Fired Combustion Turbine,43.751826,-87.87806 +20856,Wisconsin Power & Light Co,56166,Sheboygan Falls,2,Sheboygan,149.2,169.5,Natural Gas Fired Combustion Turbine,43.751826,-87.87806 +20856,Wisconsin Power & Light Co,56347,Cedar Ridge,1,Fond Du Lac,67.7,67.7,Onshore Wind Turbine,43.692647,-88.32974 +20847,Wisconsin Electric Power Co,56391,Blue Sky Green Field Wind Project,1,Fond Du Lac,145.2,145.2,Onshore Wind Turbine,43.8794,-88.2708 +54813,AMERESCO Janesville LLC,56427,Ameresco Janesville,Unit1,Rock,1,1,Landfill Gas,42.7083,-89.0208 +54813,AMERESCO Janesville LLC,56427,Ameresco Janesville,Unit2,Rock,1,1,Landfill Gas,42.7083,-89.0208 +54813,AMERESCO Janesville LLC,56427,Ameresco Janesville,Unit3,Rock,1,1,Landfill Gas,42.7083,-89.0208 +11740,City of Marshfield - (WI),56480,Marshfield Utilities Gas Plant,M1,Wood,53.3,60.2,Natural Gas Fired Combustion Turbine,44.634722,-90.13444 +54842,WM Renewable Energy LLC,56520,Deertrack Park Gas Recovery,GEN1,Jefferson,0.8,0.8,Landfill Gas,43.089999,-88.73968 +54842,WM Renewable Energy LLC,56520,Deertrack Park Gas Recovery,GEN2,Jefferson,0.8,0.8,Landfill Gas,43.089999,-88.73968 +54842,WM Renewable Energy LLC,56520,Deertrack Park Gas Recovery,GEN3,Jefferson,0.8,0.8,Landfill Gas,43.089999,-88.73968 +54842,WM Renewable Energy LLC,56520,Deertrack Park Gas Recovery,GEN4,Jefferson,0.8,0.8,Landfill Gas,43.089999,-88.73968 +54842,WM Renewable Energy LLC,56520,Deertrack Park Gas Recovery,GEN5,Jefferson,0.8,0.8,Landfill Gas,43.089999,-88.73968 +54842,WM Renewable Energy LLC,56520,Deertrack Park Gas Recovery,GEN6,Jefferson,0.8,0.8,Landfill Gas,43.089999,-88.73968 +54842,WM Renewable Energy LLC,56520,Deertrack Park Gas Recovery,GEN7,Jefferson,0.8,0.8,Landfill Gas,43.089999,-88.73968 +54842,WM Renewable Energy LLC,56520,Deertrack Park Gas Recovery,GEN8,Jefferson,0.8,0.8,Landfill Gas,43.089999,-88.73968 +54842,WM Renewable Energy LLC,56525,Timberline Trail Gas Recovery,GEN2,Rusk,0.8,0.8,Landfill Gas,45.4533,-91.3583 +54842,WM Renewable Energy LLC,56525,Timberline Trail Gas Recovery,GEN3,Rusk,0.8,0.8,Landfill Gas,45.4533,-91.3583 +54842,WM Renewable Energy LLC,56525,Timberline Trail Gas Recovery,GEN4,Rusk,0.8,0.8,Landfill Gas,45.4533,-91.3583 +54842,WM Renewable Energy LLC,56525,Timberline Trail Gas Recovery,GEN5,Rusk,0.8,0.8,Landfill Gas,45.4533,-91.3583 +56484,Butler Ridge Wind Energy Center,56647,Butler Ridge,1,Dodge,54,54,Onshore Wind Turbine,43.400278,-88.48111 +20860,Wisconsin Public Service Corp,56942,Forward Wind Energy Center,1,Dodge,99,99,Onshore Wind Turbine,43.6161,-88.4969 +20860,Wisconsin Public Service Corp,56942,Forward Wind Energy Center,2,Dodge,30,30,Onshore Wind Turbine,43.6161,-88.4969 +56424,Quilt Block Wind Farm LLC,57116,Quilt Block Wind Farm LLC,GEN 1,Lafayette,98,98,Onshore Wind Turbine,42.673333,-90.26528 +57280,"Eagle Creek Renewable Energy, LLC",57190,Little Quinnesec Falls Hydro Project,UNIT1,Marinette,1.9,1.9,Conventional Hydroelectric,45.7736,-87.9894 +57280,"Eagle Creek Renewable Energy, LLC",57190,Little Quinnesec Falls Hydro Project,UNIT2,Marinette,0.8,0.8,Conventional Hydroelectric,45.7736,-87.9894 +57280,"Eagle Creek Renewable Energy, LLC",57190,Little Quinnesec Falls Hydro Project,UNIT3,Marinette,1.9,1.9,Conventional Hydroelectric,45.7736,-87.9894 +57280,"Eagle Creek Renewable Energy, LLC",57190,Little Quinnesec Falls Hydro Project,UNIT4,Marinette,1,1,Conventional Hydroelectric,45.7736,-87.9894 +57280,"Eagle Creek Renewable Energy, LLC",57190,Little Quinnesec Falls Hydro Project,UNIT5,Marinette,1,1,Conventional Hydroelectric,45.7736,-87.9894 +57280,"Eagle Creek Renewable Energy, LLC",57190,Little Quinnesec Falls Hydro Project,UNIT6,Marinette,2.4,2.4,Conventional Hydroelectric,45.7736,-87.9894 +20847,Wisconsin Electric Power Co,57199,Glacier Hills,1,Columbia,162,162,Onshore Wind Turbine,43.563889,-89.14806 +65411,Duke Energy Renewables Services,57553,Shirley Wind,1,Brown,20,20,Onshore Wind Turbine,44.3481,-87.9278 +57142,Gundersen Lutheran Biogas I LLC,57824,Onalaska Campus Landfill Biogas,416LF,La Crosse,1.1,1.1,Landfill Gas,43.873889,-91.18 +57340,Cashton Greens Wind Farm LLC,57968,Cashton Greens Wind Farm,CGWF,Monroe,4.8,4.8,Onshore Wind Turbine,43.733889,-90.805 +20847,Wisconsin Electric Power Co,58124,Rothschild Biomass Cogen Facility,1,Marathon,46.6,46.8,Wood/Wood Waste Biomass,44.887778,-89.62972 +63479,Viresco Turtle Lake,58747,Viresco Turtle Lake,GEN1,Polk,1.6,1.6,Other Waste Biomass,45.390278,-92.1625 +63479,Viresco Turtle Lake,58747,Viresco Turtle Lake,GEN2,Polk,1.6,1.6,Other Waste Biomass,45.390278,-92.1625 +58709,Richland Center Renewable Energy LLC,58834,Richland Center Renewable Energy LLC,UNIT1,Richland,0.8,0.8,Other Waste Biomass,43.314444,-90.37306 +58709,Richland Center Renewable Energy LLC,58834,Richland Center Renewable Energy LLC,UNIT2,Richland,0.8,0.8,Other Waste Biomass,43.314444,-90.37306 +59216,"S.C. Johnson & Son, Inc.",59448,Waxdale,CGEN1,Racine,3.5,3.5,Landfill Gas,42.709444,-87.88528 +59216,"S.C. Johnson & Son, Inc.",59448,Waxdale,CGEN2,Racine,3.5,3.5,Natural Gas Fired Combustion Turbine,42.709444,-87.88528 +59216,"S.C. Johnson & Son, Inc.",59448,Waxdale,WEC01,Racine,1.5,1.5,Onshore Wind Turbine,42.709444,-87.88528 +59216,"S.C. Johnson & Son, Inc.",59448,Waxdale,WEC02,Racine,1.5,1.5,Onshore Wind Turbine,42.709444,-87.88528 +59209,Concord New Energy,59771,Jefferson Solar Park,JSP01,Jefferson,1,1,Solar Photovoltaic,43.0146,-88.7992 +58303,Energy Systems Group LLC,59810,Dairyland WTE Plant,GEN1,Brown,0.7,0.7,Other Waste Biomass,44.540115,-87.80559 +58303,Energy Systems Group LLC,59810,Dairyland WTE Plant,GEN2,Brown,0.7,0.7,Other Waste Biomass,44.540115,-87.80559 +20847,Wisconsin Electric Power Co,59836,Twin Falls (WI),11,Florence,4.6,4.6,Conventional Hydroelectric,45.872778,-88.07083 +20847,Wisconsin Electric Power Co,59836,Twin Falls (WI),12,Florence,4.6,4.6,Conventional Hydroelectric,45.872778,-88.07083 +59688,"FCPC Renewable Generation, LLC",59931,FCPC Renewable Generation,GEN2,Milwaukee,1,1,Other Waste Biomass,43.030016,-87.94091 +60338,HQC Rock River Solar Power Generation Station LLC,60573,HQC Rock River Solar Power Gen Station,PV1,Rock,2.1,2.1,Solar Photovoltaic,42.578831,-89.03302 +60520,SoCore Energy LLC,60887,Sauk DPC Solar,PV1,Vernon,1,1,Solar Photovoltaic,43.59591,-90.3226 +60520,SoCore Energy LLC,60888,Lafayette DPC Solar,PV1,Chippewa,1,1,Solar Photovoltaic,44.88782,-91.3524 +60520,SoCore Energy LLC,60889,Conrath DPC Solar,PV1,Rusk,1,1,Solar Photovoltaic,45.36614,-91.0482 +60520,SoCore Energy LLC,60890,Warren DPC Solar,PV1,St Croix,2.2,2.2,Solar Photovoltaic,44.95963,-92.5182 +60520,SoCore Energy LLC,60891,Liberty Pole DPC Solar,PV1,Vernon,1.1,1.1,Solar Photovoltaic,43.49412,-90.9071 +60520,SoCore Energy LLC,60892,Downsville DPC Solar,PV1,Dunn,1,1,Solar Photovoltaic,44.81423,-91.8841 +60520,SoCore Energy LLC,60893,Mt. Hope DPC Solar,PV1,Grant,1,1,Solar Photovoltaic,42.97498,-90.8318 +60520,SoCore Energy LLC,60894,Medford DPC Solar,PV1,Taylor,2,2,Solar Photovoltaic,45.16305,-90.3729 +60520,SoCore Energy LLC,60895,Whistling Winds DPC Solar,PV1,Juneau,1.5,1.5,Solar Photovoltaic,43.9721,-90.0719 +60520,SoCore Energy LLC,60936,New Auburn DPC Solar,PV1,Chippewa,2.5,2.5,Solar Photovoltaic,45.21,-91.4353 +60520,SoCore Energy LLC,60957,Sand Lake DPC Solar,PV1,Polk,1,1,Solar Photovoltaic,45.4455,-92.549 +61202,"Flambeau Solar Partners, LLC",61595,Flambeau Solar Partners,FLAMB,Price,2.5,2.5,Solar Photovoltaic,45.7368,-90.471 +61266,"Fiber Recovery, Inc",61652,"Fiber Recovery, Inc.",ENG1,Marathon,0.8,0.8,Landfill Gas,44.8875,-89.3859 +61266,"Fiber Recovery, Inc",61652,"Fiber Recovery, Inc.",ENG2,Marathon,0.8,0.8,Landfill Gas,44.8875,-89.3859 +61266,"Fiber Recovery, Inc",61652,"Fiber Recovery, Inc.",ENG3,Marathon,0.8,0.8,Landfill Gas,44.8875,-89.3859 +57389,IKEA Property Inc,61816,IKEA Oak Creek Rooftop PV System,PV1,Milwaukee,1.2,1.2,Solar Photovoltaic,42.902949,-87.93545 +61967,Beloit Memorial Hospital,62117,Beloit Memorial Hospital Power Plant,GEN-1,Rock,1.5,1.5,Natural Gas Internal Combustion Engine,42.5486,-89.0083 +61967,Beloit Memorial Hospital,62117,Beloit Memorial Hospital Power Plant,GEN-2,Rock,1.5,1.5,Natural Gas Internal Combustion Engine,42.5486,-89.0083 +61667,Galactic Wind,62161,Galactic Wind,GWT,Dane,9.9,9.9,Onshore Wind Turbine,43.101605,-89.33186 +61702,"Epic Hosting, LLC",62676,Epic Verona,G101,Dane,2.3,2.3,Petroleum Liquids,42.996838,-89.56875 +61702,"Epic Hosting, LLC",62676,Epic Verona,G102,Dane,2.3,2.3,Petroleum Liquids,42.996838,-89.56875 +61702,"Epic Hosting, LLC",62676,Epic Verona,G103,Dane,2.3,2.3,Petroleum Liquids,42.996838,-89.56875 +61702,"Epic Hosting, LLC",62676,Epic Verona,G104,Dane,2.3,2.3,Petroleum Liquids,42.996838,-89.56875 +61702,"Epic Hosting, LLC",62676,Epic Verona,G105,Dane,2.3,2.3,Petroleum Liquids,42.996838,-89.56875 +61702,"Epic Hosting, LLC",62676,Epic Verona,G202,Dane,2.3,2.3,Petroleum Liquids,42.996838,-89.56875 +61702,"Epic Hosting, LLC",62676,Epic Verona,G203,Dane,2.3,2.3,Petroleum Liquids,42.996838,-89.56875 +61702,"Epic Hosting, LLC",62676,Epic Verona,G204,Dane,2.3,2.3,Petroleum Liquids,42.996838,-89.56875 +61702,"Epic Hosting, LLC",62676,Epic Verona,G205,Dane,2.3,2.3,Petroleum Liquids,42.996838,-89.56875 +61702,"Epic Hosting, LLC",62676,Epic Verona,G206,Dane,2.3,2.3,Petroleum Liquids,42.996838,-89.56875 +61702,"Epic Hosting, LLC",62676,Epic Verona,G207,Dane,2.3,2.3,Petroleum Liquids,42.996838,-89.56875 +61702,"Epic Hosting, LLC",62676,Epic Verona,G208,Dane,2.3,2.3,Petroleum Liquids,42.996838,-89.56875 +61702,"Epic Hosting, LLC",62676,Epic Verona,G209,Dane,2.3,2.3,Petroleum Liquids,42.996838,-89.56875 +61702,"Epic Hosting, LLC",62676,Epic Verona,G210,Dane,2.3,2.3,Petroleum Liquids,42.996838,-89.56875 +61702,"Epic Hosting, LLC",62676,Epic Verona,G211,Dane,2.3,2.3,Petroleum Liquids,42.996838,-89.56875 +61702,"Epic Hosting, LLC",62676,Epic Verona,G301,Dane,2.3,2.3,Petroleum Liquids,42.996838,-89.56875 +61702,"Epic Hosting, LLC",62676,Epic Verona,G302,Dane,2.3,2.3,Petroleum Liquids,42.996838,-89.56875 +61702,"Epic Hosting, LLC",62676,Epic Verona,G303,Dane,2.3,2.3,Petroleum Liquids,42.996838,-89.56875 +61702,"Epic Hosting, LLC",62676,Epic Verona,PV,Dane,1.8,1.8,Solar Photovoltaic,42.996838,-89.56875 +11479,Madison Gas & Electric Co,62731,Middleton Airport Solar,1,Dane,5.6,5.6,Solar Photovoltaic,43.11626,-89.53245 +62662,"Butter Solar, LLC",62744,Arcadia Solar,A1,Trempealeau,5,5,Solar Photovoltaic,44.243436,-91.45824 +62662,"Butter Solar, LLC",62847,Fennimore Solar,FEN6,Grant,3,3,Solar Photovoltaic,42.971,-90.662 +62662,"Butter Solar, LLC",62848,New Lisbon Solar,NEW9,Juneau,2.5,2.5,Solar Photovoltaic,43.883,-90.136 +62662,"Butter Solar, LLC",62849,Cumberland Solar,CUM4,Barron,2.5,2.5,Solar Photovoltaic,45.511,-92.025 +62662,"Butter Solar, LLC",62858,Cashton Solar,CAS3,Monroe,2,2,Solar Photovoltaic,43.737,-90.805 +62662,"Butter Solar, LLC",62868,Elroy Solar,ELR5,Juneau,1.5,1.5,Solar Photovoltaic,43.732,-90.025 +20860,Wisconsin Public Service Corp,62955,Badger Hollow I,GEN1,Iowa,150,150,Solar Photovoltaic,42.94556,-90.34942 +20860,Wisconsin Public Service Corp,63105,Two Creeks Solar,1,Manitowoc,150,150,Solar Photovoltaic,44.249598,-87.54534 +20856,Wisconsin Power & Light Co,64020,West Riverside Energy Center,CTG3,Rock,226.1,234.9,Natural Gas Fired Combined Cycle,42.582051,-89.04121 +20856,Wisconsin Power & Light Co,64020,West Riverside Energy Center,CTG4,Rock,224.8,232.7,Natural Gas Fired Combined Cycle,42.582051,-89.04121 +20856,Wisconsin Power & Light Co,64020,West Riverside Energy Center,PV1,Rock,4.4,4.4,Solar Photovoltaic,42.582051,-89.04121 +20856,Wisconsin Power & Light Co,64020,West Riverside Energy Center,STG2,Rock,255.1,258.3,Natural Gas Fired Combined Cycle,42.582051,-89.04121 +11479,Madison Gas & Electric Co,64080,Dane County Airport Solar,1,Dane,10.8,10.8,Solar Photovoltaic,43.160591,-89.3295 +64081,Point Beach Solar,64431,Point Beach Solar,PBS,Manitowoc,100,100,Solar Photovoltaic,44.28337,-87.55533 +11479,Madison Gas & Electric Co,64590,O'Brien Solar Fields,OBSFN,Dane,8.3,8.3,Solar Photovoltaic,42.997665,-89.45895 +11479,Madison Gas & Electric Co,64590,O'Brien Solar Fields,OBSFS,Dane,8.3,8.3,Solar Photovoltaic,42.997665,-89.45895 +11479,Madison Gas & Electric Co,64590,O'Brien Solar Fields,OBSFW,Dane,5.5,5.5,Solar Photovoltaic,42.997665,-89.45895 +60025,Greenbacker Renewable Energy Corporation,64698,"Blue Prairie Solar, LLC",508,Jackson,2.5,2.5,Solar Photovoltaic,44.285255,-90.9158 +60571,"AEP Onsite Partners, LLC",64714,Rice Lake Solar Array,RLK01,Barron,3.8,3.8,Solar Photovoltaic,45.526558,-91.75693 +11479,Madison Gas & Electric Co,64780,Hermsdorf Solar,1,Dane,8,8,Solar Photovoltaic,43.0596,-89.2609 +60025,Greenbacker Renewable Energy Corporation,64862,Strobus,515,Jackson,1.5,1.5,Solar Photovoltaic,44.4332,-90.85707 +60571,"AEP Onsite Partners, LLC",64969,Barron Solar Array,BAR01,Barron,3,3,Solar Photovoltaic,45.396196,-91.82757 +60571,"AEP Onsite Partners, LLC",64976,Spooner Solar Array,SPN01,Washburn,2.1,2.1,Solar Photovoltaic,45.919047,-91.86248 +20856,Wisconsin Power & Light Co,65009,Bear Creek,PV1,Richland,50,37,Solar Photovoltaic,43.198512,-90.23282 +20856,Wisconsin Power & Light Co,65010,North Rock,PV1,Rock,50,36.5,Solar Photovoltaic,42.810873,-89.10154 +20856,Wisconsin Power & Light Co,65011,Wood County,PV1,Wood,150,110.6,Solar Photovoltaic,44.27361,-89.8335 +60025,Greenbacker Renewable Energy Corporation,65087,Shamrock Solar LLC,554,Jackson,3,3,Solar Photovoltaic,44.17659,-90.84654 +60025,Greenbacker Renewable Energy Corporation,65088,Stromland Solar,510,Buffalo,3,3,Solar Photovoltaic,44.19955,-91.80897 +59496,Allete Clean Energy,65282,Red Barn Energy,WT,Grant,91.6,91.6,Onshore Wind Turbine,42.951448,-90.4407 +20856,Wisconsin Power & Light Co,65530,Portage Industrial Battery,BESS1,Columbia,5,5,Batteries,43.552111,-89.48773 +20856,Wisconsin Power & Light Co,65633,Boaz Microgrid Battery,BESS1,Richland,0.3,0.2,Batteries,43.310598,-90.53274 +64930,ENGIE 2020 ProjectCo-WI1 LLC,65659,ENGIE 2020 ProjectCo-WI1 LLC,PV1,Fond Du Lac,1,1,Solar Photovoltaic,43.735027,-88.47378 +20856,Wisconsin Power & Light Co,65680,City of Sheboygan Solar,PV1,Sheboygan,1,1,Solar Photovoltaic,43.709143,-87.75538 +20856,Wisconsin Power & Light Co,65681,Kohler Solar,PV1,Sheboygan,2.3,2.3,Solar Photovoltaic,43.747,-87.76573 +20860,Wisconsin Public Service Corp,65968,Hodag Solar,HODAG,Oneida,7.5,7.5,Solar Photovoltaic,45.61246,-89.44366 +65220,"Middleton Biogas Solar, LLC",66048,"Middleton Biogas Solar, LLC",MBS,Dane,1.9,1.7,Solar Photovoltaic,43.1233,-89.5466 +65220,"Middleton Biogas Solar, LLC",66048,"Middleton Biogas Solar, LLC",MBS-B,Dane,0.3,0.3,Batteries,43.1233,-89.5466 +20860,Wisconsin Public Service Corp,66059,Weston RICE,W11,Marathon,18.8,18.8,Natural Gas Internal Combustion Engine,44.856372,-89.65402 +20860,Wisconsin Public Service Corp,66059,Weston RICE,W12,Marathon,18.8,18.8,Natural Gas Internal Combustion Engine,44.856372,-89.65402 +20860,Wisconsin Public Service Corp,66059,Weston RICE,W13,Marathon,18.8,18.8,Natural Gas Internal Combustion Engine,44.856372,-89.65402 +20860,Wisconsin Public Service Corp,66059,Weston RICE,W14,Marathon,18.8,18.8,Natural Gas Internal Combustion Engine,44.856372,-89.65402 +20860,Wisconsin Public Service Corp,66059,Weston RICE,W15,Marathon,18.8,18.8,Natural Gas Internal Combustion Engine,44.856372,-89.65402 +20860,Wisconsin Public Service Corp,66059,Weston RICE,W16,Marathon,18.8,18.8,Natural Gas Internal Combustion Engine,44.856372,-89.65402 +20860,Wisconsin Public Service Corp,66059,Weston RICE,W17,Marathon,18.8,18.8,Natural Gas Internal Combustion Engine,44.856372,-89.65402 +65501,Dane County Solar LLC,66419,Dane County Solar LLC,DANE,Dane,17.3,17.3,Solar Photovoltaic,43.0466,-89.23931 diff --git a/p6/public_tests.py b/p6/public_tests.py new file mode 100644 index 0000000..60b3e1a --- /dev/null +++ b/p6/public_tests.py @@ -0,0 +1,843 @@ +#!/usr/bin/python +# + +import os, json, math, copy +from collections import namedtuple +from bs4 import BeautifulSoup + +HIDDEN_FILE = os.path.join("hidden", "hidden_tests.py") +if os.path.exists(HIDDEN_FILE): + import hidden.hidden_tests as hidn +# - + +MAX_FILE_SIZE = 750 # units - KB +REL_TOL = 6e-04 # relative tolerance for floats +ABS_TOL = 15e-03 # absolute tolerance for floats +TOTAL_SCORE = 100 # total score for the project + +DF_FILE = 'expected_dfs.html' +PLOT_FILE = 'expected_plots.json' + +PASS = "All test cases passed!" + +TEXT_FORMAT = "TEXT_FORMAT" # question type when expected answer is a type, str, int, float, or bool +TEXT_FORMAT_UNORDERED_LIST = "TEXT_FORMAT_UNORDERED_LIST" # question type when the expected answer is a list or a set where the order does *not* matter +TEXT_FORMAT_ORDERED_LIST = "TEXT_FORMAT_ORDERED_LIST" # question type when the expected answer is a list or tuple where the order does matter +TEXT_FORMAT_DICT = "TEXT_FORMAT_DICT" # question type when the expected answer is a dictionary +TEXT_FORMAT_SPECIAL_ORDERED_LIST = "TEXT_FORMAT_SPECIAL_ORDERED_LIST" # question type when the expected answer is a list where order does matter, but with possible ties. Elements are ordered according to values in special_ordered_json (with ties allowed) +TEXT_FORMAT_NAMEDTUPLE = "TEXT_FORMAT_NAMEDTUPLE" # question type when expected answer is a namedtuple +PNG_FORMAT_SCATTER = "PNG_FORMAT_SCATTER" # question type when the expected answer is a scatter plot +HTML_FORMAT = "HTML_FORMAT" # question type when the expected answer is a DataFrame +FILE_JSON_FORMAT = "FILE_JSON_FORMAT" # question type when the expected answer is a JSON file +SLASHES = " SLASHES" # question SUFFIX when expected answer contains paths with slashes + +def get_expected_format(): + """get_expected_format() returns a dict mapping each question to the format + of the expected answer.""" + expected_format = {'q1': 'TEXT_FORMAT_UNORDERED_LIST', + 'q2': 'TEXT_FORMAT', + 'q3': 'TEXT_FORMAT', + 'q4': 'TEXT_FORMAT_UNORDERED_LIST', + 'q5': 'TEXT_FORMAT_UNORDERED_LIST', + 'q6': 'TEXT_FORMAT_UNORDERED_LIST', + 'q7': 'TEXT_FORMAT_ORDERED_LIST', + 'q8': 'TEXT_FORMAT_ORDERED_LIST', + 'q9': 'TEXT_FORMAT', + 'q10': 'TEXT_FORMAT', + 'q11': 'TEXT_FORMAT', + 'q12': 'TEXT_FORMAT', + 'q13': 'TEXT_FORMAT_UNORDERED_LIST', + 'q14': 'TEXT_FORMAT', + 'q15': 'TEXT_FORMAT', + 'q16': 'TEXT_FORMAT', + 'q17': 'TEXT_FORMAT', + 'q18': 'TEXT_FORMAT', + 'q19': 'TEXT_FORMAT', + 'q20': 'TEXT_FORMAT'} + return expected_format + + +def get_expected_json(): + """get_expected_json() returns a dict mapping each question to the expected + answer (if the format permits it).""" + expected_json = {'q1': ['Wood/Wood Waste Biomass', + 'Natural Gas Fired Combined Cycle', + 'Natural Gas Internal Combustion Engine', + 'Petroleum Coke', + 'Other Waste Biomass', + 'Solar Photovoltaic', + 'Batteries', + 'Nuclear', + 'Natural Gas Fired Combustion Turbine', + 'Conventional Hydroelectric', + 'Onshore Wind Turbine', + 'Landfill Gas', + 'Petroleum Liquids', + 'Natural Gas Steam Turbine', + 'Conventional Steam Coal'], + 'q2': 47, + 'q3': 16831.099999999944, + 'q4': ['Madison Gas & Electric Co'], + 'q5': ['Wisconsin River Power Company', + 'Dahlberg Light & Power Co', + 'Consolidated Water Power Co', + 'Wisconsin Power & Light Co', + 'Wisconsin Public Service Corp', + 'HQC Rock River Solar Power Generation Station LLC', + 'Wisconsin Electric Power Co', + 'Northwestern Wisconsin Elec Co', + 'Northern States Power Co - Minnesota', + 'Dairyland Power Coop', + 'State of Wisconsin', + 'North Central Power Co Inc'], + 'q6': ['Flambeau Solar Partners, LLC', + 'Middleton Biogas Solar, LLC', + 'Dane County Solar LLC', + 'Butter Solar, LLC', + 'HQC Rock River Solar Power Generation Station LLC'], + 'q7': ['WEST', 'GEN1'], + 'q8': ['Cornell', + 'Flambeau Hydroelectric Station', + 'Grandfather Falls', + 'Holcombe', + 'Jim Falls', + 'Kilbourn', + 'Prairie Du Sac'], + 'q9': 19, + 'q10': 10, + 'q11': 'Northern States Power Co - Minnesota', + 'q12': 8, + 'q13': ['Petroleum Liquids', 'Natural Gas Steam Turbine'], + 'q14': 'West Marinette', + 'q15': 0.7, + 'q16': 1211.0, + 'q17': 7.0, + 'q18': 1.7491304347826093, + 'q19': 'Nuclear', + 'q20': 271.00000000000006} + return expected_json + + +def get_special_json(): + """get_special_json() returns a dict mapping each question to the expected + answer stored in a special format as a list of tuples. Each tuple contains + the element expected in the list, and its corresponding value. Any two + elements with the same value can appear in any order in the actual list, + but if two elements have different values, then they must appear in the + same order as in the expected list of tuples.""" + special_json = {} + return special_json + + +def compare(expected, actual, q_format=TEXT_FORMAT): + """compare(expected, actual) is used to compare when the format of + the expected answer is known for certain.""" + try: + if q_format == TEXT_FORMAT: + return simple_compare(expected, actual) + elif q_format == TEXT_FORMAT_UNORDERED_LIST: + return list_compare_unordered(expected, actual) + elif q_format == TEXT_FORMAT_ORDERED_LIST: + return list_compare_ordered(expected, actual) + elif q_format == TEXT_FORMAT_DICT: + return dict_compare(expected, actual) + elif q_format == TEXT_FORMAT_SPECIAL_ORDERED_LIST: + return list_compare_special(expected, actual) + elif q_format == TEXT_FORMAT_NAMEDTUPLE: + return namedtuple_compare(expected, actual) + elif q_format == PNG_FORMAT_SCATTER: + return compare_flip_dicts(expected, actual) + elif q_format == HTML_FORMAT: + return compare_cell_html(expected, actual) + elif q_format == FILE_JSON_FORMAT: + return compare_json(expected, actual) + else: + if expected != actual: + return "expected %s but found %s " % (repr(expected), repr(actual)) + except: + if expected != actual: + return "expected %s" % (repr(expected)) + return PASS + + +def print_message(expected, actual, complete_msg=True): + """print_message(expected, actual) displays a simple error message.""" + msg = "expected %s" % (repr(expected)) + if complete_msg: + msg = msg + " but found %s" % (repr(actual)) + return msg + + +def simple_compare(expected, actual, complete_msg=True): + """simple_compare(expected, actual) is used to compare when the expected answer + is a type/Nones/str/int/float/bool. When the expected answer is a float, + the actual answer is allowed to be within the tolerance limit. Otherwise, + the values must match exactly, or a very simple error message is displayed.""" + msg = PASS + if 'numpy' in repr(type((actual))): + actual = actual.item() + if isinstance(expected, type): + if expected != actual: + if isinstance(actual, type): + msg = "expected %s but found %s" % (expected.__name__, actual.__name__) + else: + msg = "expected %s but found %s" % (expected.__name__, repr(actual)) + elif not isinstance(actual, type(expected)) and not (isinstance(expected, (float, int)) and isinstance(actual, (float, int))): + msg = "expected to find type %s but found type %s" % (type(expected).__name__, type(actual).__name__) + elif isinstance(expected, float): + if not math.isclose(actual, expected, rel_tol=REL_TOL, abs_tol=ABS_TOL): + msg = print_message(expected, actual, complete_msg) + elif isinstance(expected, (list, tuple)) or is_namedtuple(expected): + new_msg = print_message(expected, actual, complete_msg) + if len(expected) != len(actual): + return new_msg + for i in range(len(expected)): + val = simple_compare(expected[i], actual[i]) + if val != PASS: + return new_msg + elif isinstance(expected, dict): + new_msg = print_message(expected, actual, complete_msg) + if len(expected) != len(actual): + return new_msg + val = simple_compare(list(expected.keys()), list(actual.keys())) + if val != PASS: + return new_msg + for key in expected: + val = simple_compare(expected[key], actual[key]) + if val != PASS: + return new_msg + else: + if expected != actual: + msg = print_message(expected, actual, complete_msg) + return msg + + +def intelligent_compare(expected, actual, obj=None): + """intelligent_compare(expected, actual) is used to compare when the + data type of the expected answer is not known for certain, and default + assumptions need to be made.""" + if obj == None: + obj = type(expected).__name__ + if is_namedtuple(expected): + msg = namedtuple_compare(expected, actual) + elif isinstance(expected, (list, tuple)): + msg = list_compare_ordered(expected, actual, obj) + elif isinstance(expected, set): + msg = list_compare_unordered(expected, actual, obj) + elif isinstance(expected, (dict)): + msg = dict_compare(expected, actual) + else: + msg = simple_compare(expected, actual) + msg = msg.replace("CompDict", "dict").replace("CompSet", "set").replace("NewNone", "None") + return msg + + +def is_namedtuple(obj, init_check=True): + """is_namedtuple(obj) returns True if `obj` is a namedtuple object + defined in the test file.""" + bases = type(obj).__bases__ + if len(bases) != 1 or bases[0] != tuple: + return False + fields = getattr(type(obj), '_fields', None) + if not isinstance(fields, tuple): + return False + if init_check and not type(obj).__name__ in [nt.__name__ for nt in _expected_namedtuples]: + return False + return True + + +def list_compare_ordered(expected, actual, obj=None): + """list_compare_ordered(expected, actual) is used to compare when the + expected answer is a list/tuple, where the order of the elements matters.""" + msg = PASS + if not isinstance(actual, type(expected)): + msg = "expected to find type %s but found type %s" % (type(expected).__name__, type(actual).__name__) + return msg + if obj == None: + obj = type(expected).__name__ + for i in range(len(expected)): + if i >= len(actual): + msg = "at index %d of the %s, expected missing %s" % (i, obj, repr(expected[i])) + break + val = intelligent_compare(expected[i], actual[i], "sub" + obj) + if val != PASS: + msg = "at index %d of the %s, " % (i, obj) + val + break + if len(actual) > len(expected) and msg == PASS: + msg = "at index %d of the %s, found unexpected %s" % (len(expected), obj, repr(actual[len(expected)])) + if len(expected) != len(actual): + msg = msg + " (found %d entries in %s, but expected %d)" % (len(actual), obj, len(expected)) + + if len(expected) > 0: + try: + if msg != PASS and list_compare_unordered(expected, actual, obj) == PASS: + msg = msg + " (%s may not be ordered as required)" % (obj) + except: + pass + return msg + + +def list_compare_helper(larger, smaller): + """list_compare_helper(larger, smaller) is a helper function which takes in + two lists of possibly unequal sizes and finds the item that is not present + in the smaller list, if there is such an element.""" + msg = PASS + j = 0 + for i in range(len(larger)): + if i == len(smaller): + msg = "expected %s" % (repr(larger[i])) + break + found = False + while not found: + if j == len(smaller): + val = simple_compare(larger[i], smaller[j - 1], complete_msg=False) + break + val = simple_compare(larger[i], smaller[j], complete_msg=False) + j += 1 + if val == PASS: + found = True + break + if not found: + msg = val + break + return msg + +class NewNone(): + """alternate class in place of None, which allows for comparison with + all other data types.""" + def __str__(self): + return 'None' + def __repr__(self): + return 'None' + def __lt__(self, other): + return True + def __le__(self, other): + return True + def __gt__(self, other): + return False + def __ge__(self, other): + return other == None + def __eq__(self, other): + return other == None + def __ne__(self, other): + return other != None + +class CompDict(dict): + """subclass of dict, which allows for comparison with other dicts.""" + def __init__(self, vals): + super(self.__class__, self).__init__(vals) + if type(vals) == CompDict: + self.val = vals.val + elif isinstance(vals, dict): + self.val = self.get_equiv(vals) + else: + raise TypeError("'%s' object cannot be type casted to CompDict class" % type(vals).__name__) + + def get_equiv(self, vals): + val = [] + for key in sorted(list(vals.keys())): + val.append((key, vals[key])) + return val + + def __str__(self): + return str(dict(self.val)) + def __repr__(self): + return repr(dict(self.val)) + def __lt__(self, other): + return self.val < CompDict(other).val + def __le__(self, other): + return self.val <= CompDict(other).val + def __gt__(self, other): + return self.val > CompDict(other).val + def __ge__(self, other): + return self.val >= CompDict(other).val + def __eq__(self, other): + return self.val == CompDict(other).val + def __ne__(self, other): + return self.val != CompDict(other).val + +class CompSet(set): + """subclass of set, which allows for comparison with other sets.""" + def __init__(self, vals): + super(self.__class__, self).__init__(vals) + if type(vals) == CompSet: + self.val = vals.val + elif isinstance(vals, set): + self.val = self.get_equiv(vals) + else: + raise TypeError("'%s' object cannot be type casted to CompSet class" % type(vals).__name__) + + def get_equiv(self, vals): + return sorted(list(vals)) + + def __str__(self): + return str(set(self.val)) + def __repr__(self): + return repr(set(self.val)) + def __getitem__(self, index): + return self.val[index] + def __lt__(self, other): + return self.val < CompSet(other).val + def __le__(self, other): + return self.val <= CompSet(other).val + def __gt__(self, other): + return self.val > CompSet(other).val + def __ge__(self, other): + return self.val >= CompSet(other).val + def __eq__(self, other): + return self.val == CompSet(other).val + def __ne__(self, other): + return self.val != CompSet(other).val + +def make_sortable(item): + """make_sortable(item) replaces all Nones in `item` with an alternate + class that allows for comparison with str/int/float/bool/list/set/tuple/dict. + It also replaces all dicts (and sets) with a subclass that allows for + comparison with other dicts (and sets).""" + if item == None: + return NewNone() + elif isinstance(item, (type, str, int, float, bool)): + return item + elif isinstance(item, (list, set, tuple)): + new_item = [] + for subitem in item: + new_item.append(make_sortable(subitem)) + if is_namedtuple(item): + return type(item)(*new_item) + elif isinstance(item, set): + return CompSet(new_item) + else: + return type(item)(new_item) + elif isinstance(item, dict): + new_item = {} + for key in item: + new_item[key] = make_sortable(item[key]) + return CompDict(new_item) + return item + +def list_compare_unordered(expected, actual, obj=None): + """list_compare_unordered(expected, actual) is used to compare when the + expected answer is a list/set where the order of the elements does not matter.""" + msg = PASS + if not isinstance(actual, type(expected)): + msg = "expected to find type %s but found type %s" % (type(expected).__name__, type(actual).__name__) + return msg + if obj == None: + obj = type(expected).__name__ + + try: + sort_expected = sorted(make_sortable(expected)) + sort_actual = sorted(make_sortable(actual)) + except: + return "unexpected datatype found in %s; expected entries of type %s" % (obj, obj, type(expected[0]).__name__) + + if len(actual) == 0 and len(expected) > 0: + msg = "in the %s, missing" % (obj) + sort_expected[0] + elif len(actual) > 0 and len(expected) > 0: + val = intelligent_compare(sort_expected[0], sort_actual[0]) + if val.startswith("expected to find type"): + msg = "in the %s, " % (obj) + simple_compare(sort_expected[0], sort_actual[0]) + else: + if len(expected) > len(actual): + msg = "in the %s, missing " % (obj) + list_compare_helper(sort_expected, sort_actual) + elif len(expected) < len(actual): + msg = "in the %s, found un" % (obj) + list_compare_helper(sort_actual, sort_expected) + if len(expected) != len(actual): + msg = msg + " (found %d entries in %s, but expected %d)" % (len(actual), obj, len(expected)) + return msg + else: + val = list_compare_helper(sort_expected, sort_actual) + if val != PASS: + msg = "in the %s, missing " % (obj) + val + ", but found un" + list_compare_helper(sort_actual, + sort_expected) + return msg + + +def namedtuple_compare(expected, actual): + """namedtuple_compare(expected, actual) is used to compare when the + expected answer is a namedtuple defined in the test file.""" + msg = PASS + if is_namedtuple(actual, False): + msg = "expected namedtuple but found %s" % (type(actual).__name__) + return msg + if type(expected).__name__ != type(actual).__name__: + return "expected namedtuple %s but found namedtuple %s" % (type(expected).__name__, type(actual).__name__) + expected_fields = expected._fields + actual_fields = actual._fields + msg = list_compare_ordered(list(expected_fields), list(actual_fields), "namedtuple attributes") + if msg != PASS: + return msg + for field in expected_fields: + val = intelligent_compare(getattr(expected, field), getattr(actual, field)) + if val != PASS: + msg = "at attribute %s of namedtuple %s, " % (field, type(expected).__name__) + val + return msg + return msg + + +def clean_slashes(item): + """clean_slashes()""" + if isinstance(item, str): + return item.replace("\\", "/").replace("/", os.path.sep) + elif item == None or isinstance(item, (type, int, float, bool)): + return item + elif isinstance(item, (list, tuple, set)) or is_namedtuple(item): + new_item = [] + for subitem in item: + new_item.append(clean_slashes(subitem)) + if is_namedtuple(item): + return type(item)(*new_item) + else: + return type(item)(new_item) + elif isinstance(item, dict): + new_item = {} + for key in item: + new_item[clean_slashes(key)] = clean_slashes(item[key]) + return item + + +def list_compare_special_initialize(special_expected): + """list_compare_special_initialize(special_expected) takes in the special + ordering stored as a sorted list of items, and returns a list of lists + where the ordering among the inner lists does not matter.""" + latest_val = None + clean_special = [] + for row in special_expected: + if latest_val == None or row[1] != latest_val: + clean_special.append([]) + latest_val = row[1] + clean_special[-1].append(row[0]) + return clean_special + + +def list_compare_special(special_expected, actual): + """list_compare_special(special_expected, actual) is used to compare when the + expected answer is a list with special ordering defined in `special_expected`.""" + msg = PASS + expected_list = [] + special_order = list_compare_special_initialize(special_expected) + for expected_item in special_order: + expected_list.extend(expected_item) + val = list_compare_unordered(expected_list, actual) + if val != PASS: + return val + i = 0 + for expected_item in special_order: + j = len(expected_item) + actual_item = actual[i: i + j] + val = list_compare_unordered(expected_item, actual_item) + if val != PASS: + if j == 1: + msg = "at index %d " % (i) + val + else: + msg = "between indices %d and %d " % (i, i + j - 1) + val + msg = msg + " (list may not be ordered as required)" + break + i += j + return msg + + +def dict_compare(expected, actual, obj=None): + """dict_compare(expected, actual) is used to compare when the expected answer + is a dict.""" + msg = PASS + if not isinstance(actual, type(expected)): + msg = "expected to find type %s but found type %s" % (type(expected).__name__, type(actual).__name__) + return msg + if obj == None: + obj = type(expected).__name__ + + expected_keys = list(expected.keys()) + actual_keys = list(actual.keys()) + val = list_compare_unordered(expected_keys, actual_keys, obj) + + if val != PASS: + msg = "bad keys in %s: " % (obj) + val + if msg == PASS: + for key in expected: + new_obj = None + if isinstance(expected[key], (list, tuple, set)): + new_obj = 'value' + elif isinstance(expected[key], dict): + new_obj = 'sub' + obj + val = intelligent_compare(expected[key], actual[key], new_obj) + if val != PASS: + msg = "incorrect value for key %s in %s: " % (repr(key), obj) + val + return msg + + +def is_flippable(item): + """is_flippable(item) determines if the given dict of lists has lists of the + same length and is therefore flippable.""" + item_lens = set(([str(len(item[key])) for key in item])) + if len(item_lens) == 1: + return PASS + else: + return "found lists of lengths %s" % (", ".join(list(item_lens))) + +def flip_dict_of_lists(item): + """flip_dict_of_lists(item) flips a dict of lists into a list of dicts if the + lists are of same length.""" + new_item = [] + length = len(list(item.values())[0]) + for i in range(length): + new_dict = {} + for key in item: + new_dict[key] = item[key][i] + new_item.append(new_dict) + return new_item + +def compare_flip_dicts(expected, actual, obj="lists"): + """compare_flip_dicts(expected, actual) flips a dict of lists (or dicts) into + a list of dicts (or dict of dicts) and then compares the list ignoring order.""" + msg = PASS + example_item = list(expected.values())[0] + if isinstance(example_item, (list, tuple)): + val = is_flippable(actual) + if val != PASS: + msg = "expected to find lists of length %d, but " % (len(example_item)) + val + return msg + msg = list_compare_unordered(flip_dict_of_lists(expected), flip_dict_of_lists(actual), "lists") + elif isinstance(example_item, dict): + expected_keys = list(example_item.keys()) + for key in actual: + val = list_compare_unordered(expected_keys, list(actual[key].keys()), "dictionary %s" % key) + if val != PASS: + return val + for cat_key in expected_keys: + expected_category = {} + actual_category = {} + for key in expected: + expected_category[key] = expected[key][cat_key] + actual_category[key] = actual[key][cat_key] + val = list_compare_unordered(flip_dict_of_lists(expected), flip_dict_of_lists(actual), "category " + repr(cat_key)) + if val != PASS: + return val + return msg + + +def get_expected_tables(): + """get_expected_tables() reads the html file with the expected DataFrames + and returns a dict mapping each question to a html table.""" + if not os.path.exists(DF_FILE): + return None + + expected_tables = {} + f = open(DF_FILE, encoding='utf-8') + soup = BeautifulSoup(f.read(), 'html.parser') + f.close() + + tables = soup.find_all('table') + for table in tables: + expected_tables[table.get("data-question")] = table + + return expected_tables + +def parse_df_html_table(table): + """parse_df_html_table(table) takes in a table as a html string and returns + a dict mapping each row and column index to the value at that position.""" + rows = [] + for tr in table.find_all('tr'): + rows.append([]) + for cell in tr.find_all(['td', 'th']): + rows[-1].append(cell.get_text().strip("\n ")) + + cells = {} + for r in range(1, len(rows)): + for c in range(1, len(rows[0])): + rname = rows[r][0] + cname = rows[0][c] + cells[(rname,cname)] = rows[r][c] + return cells + + +def get_expected_namedtuples(): + """get_expected_namedtuples() defines the required namedtuple objects + globally. It also returns a tuple of the classes.""" + expected_namedtuples = [] + + return tuple(expected_namedtuples) + +_expected_namedtuples = get_expected_namedtuples() + + +def compare_cell_html(expected, actual): + """compare_cell_html(expected, actual) is used to compare when the + expected answer is a DataFrame stored in the `expected_dfs` html file.""" + expected_cells = parse_df_html_table(expected) + try: + actual_cells = parse_df_html_table(BeautifulSoup(actual, 'html.parser').find('table')) + except Exception as e: + return "expected to find type DataFrame but found type %s instead" % type(actual).__name__ + + expected_cols = list(set(["column %s" % (loc[1]) for loc in expected_cells])) + actual_cols = list(set(["column %s" % (loc[1]) for loc in actual_cells])) + msg = list_compare_unordered(expected_cols, actual_cols, "DataFrame") + if msg != PASS: + return msg + + expected_rows = list(set(["row index %s" % (loc[0]) for loc in expected_cells])) + actual_rows = list(set(["row index %s" % (loc[0]) for loc in actual_cells])) + msg = list_compare_unordered(expected_rows, actual_rows, "DataFrame") + if msg != PASS: + return msg + + for location, expected in expected_cells.items(): + location_name = "column {} at index {}".format(location[1], location[0]) + actual = actual_cells.get(location, None) + if actual == None: + return "in %s, expected to find %s" % (location_name, repr(expected)) + try: + actual_ans = float(actual) + expected_ans = float(expected) + if math.isnan(actual_ans) and math.isnan(expected_ans): + continue + except Exception as e: + actual_ans, expected_ans = actual, expected + msg = simple_compare(expected_ans, actual_ans) + if msg != PASS: + return "in %s, " % location_name + msg + return PASS + + +def get_expected_plots(): + """get_expected_plots() reads the json file with the expected plot data + and returns a dict mapping each question to a dictionary with the plots data.""" + if not os.path.exists(PLOT_FILE): + return None + + f = open(PLOT_FILE, encoding='utf-8') + expected_plots = json.load(f) + f.close() + return expected_plots + + +def compare_file_json(expected, actual): + """compare_file_json(expected, actual) is used to compare when the + expected answer is a JSON file.""" + msg = PASS + if not os.path.isfile(expected): + return "file %s not found; make sure it is downloaded and stored in the correct directory" % (expected) + elif not os.path.isfile(actual): + return "file %s not found; make sure that you have created the file with the correct name" % (actual) + try: + e = open(expected, encoding='utf-8') + expected_data = json.load(e) + e.close() + except json.JSONDecodeError: + return "file %s is broken and cannot be parsed; please delete and redownload the file correctly" % (expected) + try: + a = open(actual, encoding='utf-8') + actual_data = json.load(a) + a.close() + except json.JSONDecodeError: + return "file %s is broken and cannot be parsed" % (actual) + if type(expected_data) == list: + msg = list_compare_ordered(expected_data, actual_data, 'file ' + actual) + elif type(expected_data) == dict: + msg = dict_compare(expected_data, actual_data) + return msg + + +_expected_json = get_expected_json() +_special_json = get_special_json() +_expected_plots = get_expected_plots() +_expected_tables = get_expected_tables() +_expected_format = get_expected_format() + +def check(qnum, actual): + """check(qnum, actual) is used to check if the answer in the notebook is + the correct answer, and provide useful feedback if the answer is incorrect.""" + msg = PASS + error_msg = "<b style='color: red;'>ERROR:</b> " + q_format = _expected_format[qnum] + + if q_format == TEXT_FORMAT_SPECIAL_ORDERED_LIST: + expected = _special_json[qnum] + elif q_format == PNG_FORMAT_SCATTER: + if _expected_plots == None: + msg = error_msg + "file %s not parsed; make sure it is downloaded and stored in the correct directory" % (PLOT_FILE) + else: + expected = _expected_plots[qnum] + elif q_format == HTML_FORMAT: + if _expected_tables == None: + msg = error_msg + "file %s not parsed; make sure it is downloaded and stored in the correct directory" % (DF_FILE) + else: + expected = _expected_tables[qnum] + else: + expected = _expected_json[qnum] + + if SLASHES in q_format: + q_format = q_format.replace(SLASHES, "") + expected = clean_slashes(expected) + actual = clean_slashes(actual) + + if msg != PASS: + print(msg) + else: + msg = compare(expected, actual, q_format) + if msg != PASS: + msg = error_msg + msg + print(msg) + + +def check_file_size(path): + """check_file_size(path) throws an error if the file is too big to display + on Gradescope.""" + size = os.path.getsize(path) + assert size < MAX_FILE_SIZE * 10**3, "Your file is too big to be displayed by Gradescope; please delete unnecessary output cells so your file size is < %s KB" % MAX_FILE_SIZE + + +def reset_hidden_tests(): + """reset_hidden_tests() resets all hidden tests on the Gradescope autograder where the hidden test file exists""" + if not os.path.exists(HIDDEN_FILE): + return + hidn.reset_hidden_tests() + +def rubric_check(rubric_point, ignore_past_errors=True): + """rubric_check(rubric_point) uses the hidden test file on the Gradescope autograder to grade the `rubric_point`""" + if not os.path.exists(HIDDEN_FILE): + print(PASS) + return + error_msg_1 = "ERROR: " + error_msg_2 = "TEST DETAILS: " + try: + msg = hidn.rubric_check(rubric_point, ignore_past_errors) + except: + msg = "hidden tests crashed before execution" + if msg != PASS: + hidn.make_deductions(rubric_point) + if msg == "public tests failed": + comment = "The public tests have failed, so you will not receive any points for this question." + comment += "\nPlease confirm that the public tests pass locally before submitting." + elif msg == "answer is hardcoded": + comment = "In the datasets for testing hardcoding, all numbers are replaced with random values." + comment += "\nIf the answer is the same as in the original dataset for all these datasets" + comment += "\ndespite this, that implies that the answer in the notebook is hardcoded." + comment += "\nYou will not receive any points for this question." + else: + comment = hidn.get_comment(rubric_point) + msg = error_msg_1 + msg + if comment != "": + msg = msg + "\n" + error_msg_2 + comment + print(msg) + +def get_summary(): + """get_summary() returns the summary of the notebook using the hidden test file on the Gradescope autograder""" + if not os.path.exists(HIDDEN_FILE): + print("Total Score: %d/%d" % (TOTAL_SCORE, TOTAL_SCORE)) + return + score = min(TOTAL_SCORE, hidn.get_score(TOTAL_SCORE)) + display_msg = "Total Score: %d/%d" % (score, TOTAL_SCORE) + if score != TOTAL_SCORE: + display_msg += "\n" + hidn.get_deduction_string() + print(display_msg) + +def get_score_digit(digit): + """get_score_digit(digit) returns the `digit` of the score using the hidden test file on the Gradescope autograder""" + if not os.path.exists(HIDDEN_FILE): + score = TOTAL_SCORE + else: + score = hidn.get_score(TOTAL_SCORE) + digits = bin(score)[2:] + digits = "0"*(7 - len(digits)) + digits + return int(digits[6 - digit]) diff --git a/p6/rubric.md b/p6/rubric.md new file mode 100644 index 0000000..6988551 --- /dev/null +++ b/p6/rubric.md @@ -0,0 +1,153 @@ +# Project 6 (P6) grading rubric + +## Code reviews + +- The Gradescope autograder will make deductions based on the rubric provided below. +- To ensure that you don't lose any points, you must review the rubric and make sure that you have followed the instructions provided in the project correctly. + +## Rubric + +### General guidelines: + +- Did not save the notebook file prior to running the cell containing "export". We cannot see your output if you do not save before generating the zip file. This deduction will become stricter for future projects. (-3) +- Used concepts/modules such as dictionaries, or pandas not covered in class yet - built-in functions that you have been introduced to can be used. (-3) +- Import statements are not all placed at the top of the notebook. (-1) +- Hardcoded answers. (all points allotted for that question) + +### Question specific guidelines: + +- `cell` (5) + - variables `csv_data`, `csv_header`, and `csv_rows` are not defined as expected (-1) + - function does not return `None` when data is missing (-1) + - function does not typecast to `int` or `float` when expected (-1) + - function logic is incorrect (-1) + - `process_csv` function is not used to read `power_generators.csv` (-1) + +- q1 (4) + - not all rows are looped through (-1) + - incorrect logic is used (-1) + - `cell` function is not used to read data (-1) + +- q2 (3) + - not all rows are looped through (-1) + - incorrect logic is used (-1) + - `cell` function is not used to read data (-1) + +- q3 (3) + - not all rows are looped through (-1) + - incorrect logic is used (-1) + - `cell` function is not used to read data (-1) + +- `find_entities_with_phrase` (4) + - not all rows are looped through (-1) + - case insensitive matches are not considered (-1) + - duplicates are not removed (-1) + - `cell` function is not used to read data (-1) + +- q4 (2) + - `find_entities_with_phrase` function is not used to answer (-2) + +- q5 (4) + - incorrect logic is used to answer (-2) + - `cell` function is not used to read data (-1) + +- q6 (4) + - incorrect logic is used to answer (-2) + - `cell` function is not used to read data (-1) + +- q7 (5) + - not all rows are looped through (-1) + - the output is not sorted correctly (-1) + - incorrect logic is used (-1) + - `cell` function is not used to read data (-1) + +- q8 (5) + - not all rows are looped through (-1) + - the output is not sorted correctly (-1) + - incorrect comparison operators are used (-1) + - incorrect logic is used (-1) + - `cell` function is not used to read data (-1) + +- `num_generators_by` (3) + - not all rows are looped through (-1) + - function logic is incorrect (-1) + - `cell` function is not used to read data (-1) + +- q9 (2) + - `num_generators_by` function is not used to answer (-2) + +- q10 (3) + - incorrect logic is used to answer (-1) + - `num_generators_by` function is not used to answer (-1) + - `find_entities_with_phrase` function is not used to answer (-1) + +- q11 (5) + - all entities are looped through instead of just the unique entities (-2) + - incorrect logic is used to answer (-1) + - `num_generators_by` function is not used to answer (-1) + +- `find_indices_within` (4) + - not all rows are looped through (-1) + - incorrect comparison operators are used (-1) + - function logic is incorrect (-1) + - `cell` function is not used to read data (-1) + +- q12 (3) + - length of the list is found by looping through it (-1) + - `find_indices_within` function is not used to answer (-2) + +- q13 (3) + - duplicates are not removed from the list (-1) + - incorrect logic is used to answer (-1) + - `find_indices_within` function is not used to answer (-1) + +- q14 (5) + - incorrect logic is used to answer (-2) + - `find_indices_within` function is not used to answer (-1) + - `cell` function is not used to read data (-1) + +- `median` (3) + - function modifies the original input list (-1) + - function logic is incorrect when inputs are of odd length (-1) + - function logic is incorrect when inputs are of even length (-1) + +- q15 (4) + - incorrect logic is used to answer (-1) + - `find_indices_within` function is not used to answer (-1) + - `median` function is not used to answer (-1) + - `cell` function is not used to read data (-1) + +- `total_summer_capacity_of` (4) + - not all rows are looped through (-1) + - missing data is not ignored (-1) + - function logic is incorrect (-1) + - `cell` function is not used to read data (-1) + +- q16 (2) + - `total_summer_capacity_of` function is not used to answer (-2) + +- q17 (5) + - all power plants are looped through instead of just the unique power plants (-1) + - incorrect logic is used to answer (-1) + - `total_summer_capacity_of` function is not used to answer (-1) + - `median` function is not used to answer (-1) + +- `avg_winter_capacity_of` (4) + - not all rows are looped through (-1) + - missing data is not ignored (-1) + - function logic is incorrect (-1) + - `cell` function is not used to read data (-1) + +- q18 (2) + - `avg_winter_capacity_of` function is not used to answer (-2) + +- q19 (5) + - all technologies are looped through instead of just the unique technologies (-1) + - list of unique technologies is recomputed (-1) + - incorrect logic is used to answer (-1) + - `avg_winter_capacity_of` function is not used to answer (-1) + +- q20 (4) + - all technologies are looped through instead of just the unique technologies (-1) + - incorrect logic is used to answer (-1) + - `avg_winter_capacity_of` function is not used to answer (-1) -- GitLab