Skip to content

Commit

Permalink
Update documentation. Add dev guide.
Browse files Browse the repository at this point in the history
  • Loading branch information
lbonaldo committed Jan 24, 2024
1 parent 095bced commit 586f270
Show file tree
Hide file tree
Showing 21 changed files with 508 additions and 127 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Multi-Stage Retrofit Example

Description: One zone, few technologies, retrofit options include CCS, H2, SMR, and TES.

All changes necessary in the inputs in enable retrofit modeling are located in Generators_data.csv.
All changes necessary in the inputs in enable retrofit modeling are located in the resource `.csv` files.

New fields:

Expand Down
2 changes: 1 addition & 1 deletion Example_Systems/SmallNewEngland/OneZone_3VREBin/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Small New England: One Zone + VRE Bins

**SmallNewEngland** is set of a simplified versions of the more detailed example system RealSystemExample. It is condensed for easy comprehension and quick testing of different components of the GenX. **SmallNewEngland/OneZone_3VREBin** is an iteration on our most basic model. Like the basic model, this is a one-year example with hourly resolution containing only one zone representing New England. In addition, it divides its wind resource into three separate bins with different parameters as defined in `Generators_data.csv` and `Generators_variability.csv`. This division into bins of different costs, capacities, and capacity factors allows the user to model more realistic supply curves of each resource.
**SmallNewEngland** is set of a simplified versions of the more detailed example system RealSystemExample. It is condensed for easy comprehension and quick testing of different components of the GenX. **SmallNewEngland/OneZone_3VREBin** is an iteration on our most basic model. Like the basic model, this is a one-year example with hourly resolution containing only one zone representing New England. In addition, it divides its wind resource into three separate bins with different parameters as defined in `Vre.csv` and `Generators_variability.csv`. This division into bins of different costs, capacities, and capacity factors allows the user to model more realistic supply curves of each resource.

To run the model, first navigate to the example directory at `GenX/Example_Systems/SmallNewEngland/OneZone_3VREBin`:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Next, ensure that your settings in `GenX_settings.yml` are correct. The default

The `multi_stage_settings.yml` file contains settings parameters specific to multi-stage modeling. This example is configured for three model periods (`NumPeriods: 3`) of 10 years in length each (`PeriodLength: 10`).

Multi-period modeling in GenX requires a separate set of model inputs for each period to be modeled, which are located in the directories `Inputs/Inputs_p$`, where `$` is the number of the model period. Although separate model periods can have different costs and policy parameters, the resources names and types, specified in each `Generators_data.csv` must be identical across model periods. In addition, multi-stage modeling with a single zone requires an additional input file, `Generators_data_multi_stage.csv`, also located in the `Inputs/` directory, which contains fields related to resource lifetimes, capital recovery periods, and endogenous retirements.
Multi-period modeling in GenX requires a separate set of model inputs for each period to be modeled, which are located in the directories `Inputs/Inputs_p$`, where `$` is the number of the model period. Although separate model periods can have different costs and policy parameters, the resources names and types, specified in each resource `.csv` files (included in the `Resources` folder) must be identical across model periods. In addition, multi-stage modeling with a single zone requires an additional input file, `Generators_data_multi_stage.csv`, also located in the `Inputs/` directory, which contains fields related to resource lifetimes, capital recovery periods, and endogenous retirements.

A rate-based carbon cap becomes more stringent across the three model periods, declining from of 1,000 gCO<sub>2</sub> per kWh in the first period, 500 gCO<sub>2</sub> per kWh in the second period, and 50 gCO<sub>2</sub> per kWh in the third period, as specified in the `CO2_cap.csv` input files in `Inputs/Inputs_p1`, `Inputs/Inputs_p2`, and `Inputs/Inputs_p3` respectively.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Next, ensure that your settings in `GenX_settings.yml` are correct. The default

The `multi_stage_settings.yml` file contains settings parameters specific to multi-stage modeling. This example is configured for three model periods (`NumPeriods: 3`) of 10 years in length each (`PeriodLength: 10`).

Multi-period modeling in GenX requires a separate set of model inputs for each period to be modeled, which are located in the directories `Inputs/Inputs_p$`, where `$` is the number of the model period. Although separate model periods can have different costs and policy parameters, the resources names and types, specified in each `Generators_data.csv` must be identical across model periods. In addition, multi-stage modeling with a single zone requires an additional input file, `Generators_data_multi_stage.csv`, also located in the `Inputs/` directory, which contains fields related to resource lifetimes, capital recovery periods, and endogenous retirements.
Multi-period modeling in GenX requires a separate set of model inputs for each period to be modeled, which are located in the directories `Inputs/Inputs_p$`, where `$` is the number of the model period. Although separate model periods can have different costs and policy parameters, the resources names and types, specified in each resource `.csv` files (included in the `Resources` folder) must be identical across model periods. In addition, multi-stage modeling with a single zone requires an additional input file, `Generators_data_multi_stage.csv`, also located in the `Inputs/` directory, which contains fields related to resource lifetimes, capital recovery periods, and endogenous retirements.

A rate-based carbon cap becomes more stringent across the three model periods and for each zone, declining from of 1,000 gCO<sub>2</sub> per kWh in the first period, 500 gCO<sub>2</sub> per kWh in the second period, and 50 gCO<sub>2</sub> per kWh in the third period, as specified in the `CO2_cap.csv` input files in `Inputs/Inputs_p1`, `Inputs/Inputs_p2`, and `Inputs/Inputs_p3` respectively.

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -176,8 +176,8 @@ A full example case with Gurobi as an optimizer is given in `Example_Systems/Sma
## Running Modeling to Generate Alternatives with GenX
GenX includes a modeling to generate alternatives (MGA) package that can be used to automatically enumerate a diverse set of near cost-optimal solutions to electricity system planning problems. To use the MGA algorithm, user will need to perform the following tasks:

1. Add a `Resource_Type` column in the `Generators_data.csv` file denoting the type of each technology.
2. Add a `MGA` column in the `Generators_data.csv` file denoting the availability of the technology.
1. Add a `Resource_Type` column in the resource `.csv` files (included in the `Resources` folder) denoting the type of each technology.
2. Add a `MGA` column in the resource `.csv` files (included in the `Resources` folder) denoting the availability of the technology.
3. Set the `ModelingToGenerateAlternatives` flag in the `GenX_Settings.yml` file to 1.
4. Set the `ModelingtoGenerateAlternativeSlack` flag in the `GenX_Settings.yml` file to the desirable level of slack.
5. Create a `Rand_mga_objective_coefficients.csv` file to provide random objective function coefficients for each MGA iteration.
Expand Down
26 changes: 14 additions & 12 deletions docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ pages = OrderedDict(
],
"Hydrogen Electrolyzers" => "electrolyzers.md",
"Scheduled maintenance for various resources" => "maintenance.md",
"Resource types" => "resource.md"
],
"Multi_stage" => [
"Configure multi-stage inputs" => "configure_multi_stage_inputs.md",
Expand All @@ -70,7 +71,7 @@ pages = OrderedDict(
"GenX Outputs Functions" =>"write_outputs.md",
"Additional Features" => "additional_features.md",
"Third Party Extensions" => "additional_third_party_extensions.md",
#"Unit Testing (Under Development)" => "unit_testing.md"
"Developer Docs" => "developer_guide.md",
)
makedocs(;
modules=[GenX],
Expand All @@ -82,16 +83,17 @@ makedocs(;
canonical="https://genxproject.github.io/GenX/stable",
assets=String[],
),
pages=[p for p in pages]
pages=[p for p in pages],
warnonly=true
)

deploydocs(;
repo="github.com/GenXProject/GenX.git",
target = "build",
branch = "gh-pages",
devbranch = "main",
devurl = "dev",
push_preview=true,
versions = ["stable" => "v^", "v#.#"],
forcepush = false,
)
# deploydocs(;
# repo="github.com/GenXProject/GenX.git",
# target = "build",
# branch = "gh-pages",
# devbranch = "main",
# devurl = "dev",
# push_preview=true,
# versions = ["stable" => "v^", "v#.#"],
# forcepush = false,
# )
Binary file added docs/src/assets/type_hierarchy.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 586f270

Please sign in to comment.