Skip to content

Commit

Permalink
Added Tutorials 0-3
Browse files Browse the repository at this point in the history
  • Loading branch information
Maya Mutic authored and Maya Mutic committed Jan 16, 2024
1 parent ae19f20 commit 81041d7
Show file tree
Hide file tree
Showing 402 changed files with 851,063 additions and 21 deletions.
42 changes: 21 additions & 21 deletions Example_Systems/SmallNewEngland/OneZone/Settings/genx_settings.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
OverwriteResults: 0 # Overwrite existing results in output folder or create a new one; 0 = create new folder; 1 = overwrite existing results
PrintModel: 0 # Write the model formulation as an output; 0 = active; 1 = not active
NetworkExpansion: 0 # Transmission network expansionl; 0 = not active; 1 = active systemwide
Trans_Loss_Segments: 1 # Number of segments used in piecewise linear approximation of transmission losses; 1 = linear, >2 = piecewise quadratic
Reserves: 0 # Regulation (primary) and operating (secondary) reserves; 0 = not active, 1 = active systemwide
EnergyShareRequirement: 1 # Minimum qualifying renewables penetration; 0 = not active; 1 = active systemwide
CapacityReserveMargin: 1 # Number of capacity reserve margin constraints; 0 = not active; 1 = active systemwide
CO2Cap: 2 # CO2 emissions cap; 0 = not active (no CO2 emission limit); 1 = mass-based emission limit constraint; 2 = load + rate-based emission limit constraint; 3 = generation + rate-based emission limit constraint
StorageLosses: 1 # Energy Share Requirement and CO2 constraints account for energy lost; 0 = not active (DO NOT account for energy lost); 1 = active systemwide (DO account for energy lost)
MinCapReq: 1 # Activate minimum technology carveout constraints; 0 = not active; 1 = active
MaxCapReq: 1 # Activate maximum technology carveout constraints; 0 = not active; 1 = active
Solver: HiGHS # Available solvers: Gurobi, CPLEX, Clps
ParameterScale: 1 # Turn on parameter scaling wherein load, capacity and power variables are defined in GW rather than MW. 0 = not active; 1 = active systemwide
WriteShadowPrices: 1 # Write shadow prices of LP or relaxed MILP; 0 = not active; 1 = active
UCommit: 2 # Unit committment of thermal power plants; 0 = not active; 1 = active using integer clestering; 2 = active using linearized clustering
TimeDomainReductionFolder: "TDR_Results" # Directory name where results from time domain reduction will be saved. If results already exist here, these will be used without running time domain reduction script again.
TimeDomainReduction: 1 # Time domain reduce (i.e. cluster) inputs based on Load_data.csv, Generators_variability.csv, and Fuels_data.csv; 0 = not active (use input data as provided); 0 = active (cluster input data, or use data that has already been clustered)
ModelingToGenerateAlternatives: 0 # Modeling to generate alternatives; 0 = not active; 1 = active. Note: produces a single solution as output
ModelingtoGenerateAlternativeSlack: 0.1 # Slack value as a fraction of least-cost objective in budget constraint used for evaluating alternative model solutions; positive float value
ModelingToGenerateAlternativeIterations: 3 # Number of MGA iterations with maximization and minimization objective
MethodofMorris: 0 #Flag for turning on the Method of Morris analysis
NetworkExpansion: 0
TimeDomainReductionFolder: "TDR_Results"
ModelingToGenerateAlternativeIterations: 3
ParameterScale: 1
EnergyShareRequirement: 1
PrintModel: 0
TimeDomainReduction: 0
Trans_Loss_Segments: 1
CapacityReserveMargin: 1
ModelingtoGenerateAlternativeSlack: 0.1
Solver: "HiGHS"
MethodofMorris: 0
Reserves: 0
StorageLosses: 1
OverwriteResults: 0
UCommit: 2
ModelingToGenerateAlternatives: 0
MaxCapReq: 1
MinCapReq: 1
CO2Cap: 2
WriteShadowPrices: 1
11 changes: 11 additions & 0 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,25 @@ DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
Dates = "ade2ca70-3891-5945-98fb-dc099432e06a"
Distances = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7"
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
GLMakie = "e9467ef8-e4e7-5192-8a1a-b1aee30e663a"
GMT = "5752ebe1-31b9-557e-87aa-f909b540aa54"
GeoMakie = "db073c08-6b98-4ee5-b6a4-5efafb3259c6"
HiGHS = "87dc4568-4c63-4d18-b0c0-bb2238e4078b"
JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
JuMP = "4076af6c-e467-56ae-b986-b466b2749572"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
MathOptInterface = "b8f27783-ece8-5eb3-8dc8-9495eed66fee"
Plotly = "58dd65bb-95f3-509e-9936-c39a10fdeae7"
PyCall = "438e738f-606a-5dbb-bf0a-cddfbfd45ab0"
PyPlot = "d330b81b-6aea-500a-939a-2ce795aea3ee"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
ScikitLearn = "3646fa90-6ef7-5e7e-9f22-8aca16db6324"
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91"
TickTock = "9ff05d80-102d-5586-aa04-3a8bd1a90d20"
VegaDatasets = "0ae4a718-28b7-58ec-9efb-cded64d6d5b4"
YAML = "ddb6d928-2868-570f-bddf-ab3f9cf99eb6"

[compat]
Expand Down
115 changes: 115 additions & 0 deletions Tutorials/.ipynb_checkpoints/Tutorial_0_Introduction-checkpoint.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "f8b3c984",
"metadata": {},
"source": [
"# Tutorial 0: Introduction"
]
},
{
"cell_type": "markdown",
"id": "5fe615ef",
"metadata": {},
"source": [
"Welcome to the GenX tutorials! In the following tutorials, we outline some important features of GenX and how to run them."
]
},
{
"cell_type": "markdown",
"id": "283cfb5a",
"metadata": {},
"source": [
"Running these notebooks follows similar steps to those in the GenX documentation <a href=\"https://genxproject.github.io/GenX/dev/how_to_run_genx/\" target=\"_blank\">here</a>. In this tutorial, we go through setting up GenX on Jupyter and navigating to the `Tutorials` file from there."
]
},
{
"cell_type": "markdown",
"id": "4984f841",
"metadata": {},
"source": [
"First, as in the documentation, open a terminal window on your computer and navigate to GenX. Then, navigate to Julia and open a project using the command `julia --project=.`.\n"
]
},
{
"cell_type": "markdown",
"id": "906b7b33",
"metadata": {},
"source": [
"<img src=\"files/Julia.png\" style=\"width: 625px; height: auto\" align=\"left\">"
]
},
{
"cell_type": "markdown",
"id": "14bd5e78",
"metadata": {},
"source": [
"If you don't already have the package IJulia, add it here using `import(Pkg); Pkg.add(\"IJulia\")`:"
]
},
{
"cell_type": "markdown",
"id": "50fe200d",
"metadata": {},
"source": [
"<img src=\"files/addIJulia.png\" style=\"width: 625px; height: auto\" align=\"left\">"
]
},
{
"cell_type": "markdown",
"id": "0e1b2998",
"metadata": {},
"source": [
"After IJulia is added, open a Jupyter notebook with `using IJulia; notebook()`:"
]
},
{
"cell_type": "markdown",
"id": "af32af4d",
"metadata": {},
"source": [
"<img src=\"files/opennotebook.png\" style=\"width: 625px; height: auto\" align=\"left\">"
]
},
{
"cell_type": "markdown",
"id": "762ecdbb",
"metadata": {},
"source": [
"This will open a notebook in your default browser. From there, navigate through the GenX directory to the `Tutorials` folder and you're good to go!"
]
},
{
"cell_type": "markdown",
"id": "97b2b84b",
"metadata": {},
"source": [
"<img src=\"files/jupyter_screen.png\" style=\"width: 825px; height: auto\" align=\"left\">"
]
},
{
"cell_type": "markdown",
"id": "c6ada492",
"metadata": {},
"source": [
"**For a more detailed explanation of IJulia, Jupyter, and downloading packages, see <a href=\"https://docs.google.com/document/d/1Qb9yQL1McZGCiFb8yoO4Evrh8oATE2Fias_FvuuEirs/edit\" target=\"_blank\">here</a>.**"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Julia 1.9.2",
"language": "julia",
"name": "julia-1.9"
},
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.9.2"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Loading

0 comments on commit 81041d7

Please sign in to comment.