G-PST / tools

An open tools portal with a classification approach
https://g-pst.github.io/tools/
BSD 3-Clause "New" or "Revised" License
12 stars 0 forks source link

Switch #55

Open mfripp opened 2 years ago

mfripp commented 2 years ago

Name

Switch

Screenshots

image image image image image image

Focus Topic

Uses a highly efficient sampling approach to represent sequential hourly operation during multiple future years, to enable optimization of high-renewable power system designs

Primary Purpose

Highly configurable tool for capacity optimization or production cost modeling with large shares of renewable energy, storage and demand response

Description

Switch is a capacity-planning model for power systems with large shares of renewable energy, storage and/or demand response. It optimizes investment decisions for renewable and conventional generation, battery or hydrogen storage, hydro and other assets, based on how they would be used during a collection of sample days in many future years. The use of multiple investment periods and chronologically sequenced hours enables optimization and assessment of a long-term renewable transition based on a direct consideration of how these resources would be used hour-by-hour. The Switch platform is highly modular, allowing easy selection between prewritten components or addition of custom components as first-class elements in the model.

Written in Python, using Pyomo optimization framework. Models can be solved with any external solver (e.g., GLPK, COIN CBC, CPLEX or Gurobi).

Mathematical Description

Minimize net present value of all capital recovery and operating costs over a multi-decade horizon. Core formulation is very simple — just requires balancing supply and demand in each region during each timestep. Then built-in or user-provided modules adjust the energy balance (adding elements to the supply or demand side) and the cost calculation (adding costs or netting out external benefits for some economic models). All components of the model are then optimized together. Modules can also introduce iterative behavior, e.g., an advanced demand response module uses Dantzig-Wolfe decomposition to optimize with non-linear demand systems and an experimental security-constrained unit commitment module uses AC power flow to iteratively update an internal DC representation.

Website

https://switch-model.org

Documentation

https://switch-model.org/

Source

https://github.com/switch-model/switch

Year

2008

Institution

No response

Funding Source

No response

Publications

100?

Publication List

Overview

United States and Canada

Full U.S.
Western North America
Texas
California
Hawaii

Latin America

Chile
Mexico
Nicaragua

China

Japan

Laos

India

Kenya

Spain

Use Cases

  1. Find least-cost transition plan for a power system to comply with renewable energy or decarbonization policies, possibly reaching 100% renewable power
  2. Calculate cost of achieving various renewable energy or carbon targets in a region
  3. Select assets to minimize cost for a microgrid, possibly interacting with an outside electricity supplier and/or achieving specified reliability or environmental objectives
  4. Estimate the effect of new policies or technologies (dynamic pricing, smart electric vehicle charging, hydrogen storage, geothermal, small nuclear, carbon capture, etc.) on the cost of a clean-energy transition for a region.
  5. Calculate the effect of dynamic marginal-cost electricity pricing on consumer welfare while adopting renewable power

Infrastructure Sector

Represented Behavior

Modeling Paradigm

Capabilities

  1. Represent power systems in varying degrees of detail, from microgrids to continental grids
  2. Flexible calendar to represent multi-decade transition with limited number of sample days each year (weighted to represent realistic distribution) or production cost model with 8760 or 8760*n hours.
  3. Choose from many alternative representations of grid elements, including generator construction (integer or continuous), unit commitment (integer, continuous, omitted), generator dispatch, transmission form (copperplate, transport or experimental AC power flow), spinning reserve rules (simple or advanced frameworks), electric vehicles (any mix of business-as-usual charging and reschedulable block of energy, or advanced representation based on individual vehicles' charging availability), demand response (simple reschedulable block or advanced integration of any convex response to prices).
  4. Solve multiple scenarios in parallel.
  5. Experimental support for using Progressive Hedging Algorithm to choose a single plan that is robust across many scenarios.
  6. Adjust amount of spatial, temporal and technical detail to focus on most important elements for each study while keeping the model small enough to solve on existing computers.

Programming Language

Required Dependencies

Switch requires Python, Pyomo (both open-source) and an external solver. Open-source solvers (GLPK or COIN OR) work well for small models, but large models may require proprietary solvers (e.g., CPLEX or Gurobi). All dependencies are installed automatically when using the Anaconda distribution (conda install switch_model).

What is the software tool's license?

Apache License 2.0 (Apache-2.0)

Operating System Support

User Interface

Parallel Computing Paradigm

What is the highest temporal resolution supported by the tool?

Minutes

What is the typical temporal resolution supported by the tool?

Hours

What is the largest temporal scope supported by the tool?

Decades

What is the typical temporal scope supported by the tool?

Decades

What is the highest spatial resolution supported by the tool?

Facility

What is the typical spatial resolution supported by the tool?

State

What is the largest spatial scope supported by the tool?

Continent

What is the typical spatial scope supported by the tool?

Region

Input Data Format

CSV

Input Data Description

forecasts of hourly loads and renewable project production; forecasts of costs of equipment and fuels; profiles of existing and potential generation and storage projects, including heat rate, project size, etc.; financial parameters (interest and discount rates); definitions of time samples; parameters for operating and environmental policies (reserve margins, RPS targets, etc.)

Output Data Format

CSV

Output Data Description

All decision variables (construction and operating plan), costs and summaries of investment and use of all power sources

Contact Details

mfripp@edf.org

Interface, Integration, and Linkage

No response

kdheepak commented 2 years ago

Thanks for submitting the issue form!

mfripp commented 2 years ago

No problem! Just noticed this is a duplicate with #19, which has been closed. I'm not really sure how this is supposed to work!

kdheepak commented 2 years ago

We prefilled a few forms for testing, SWITCH was one of them. All closed issues will be ignored, so this is the canonical github issue for this tool.

mfripp commented 9 months ago

@kdheepak I made a few edits to the profile above in the last few days, but they're not going live on the portal at https://g-pst.github.io/tools/Tool/55. Do you know if anything can be done to nudge them along? The counter at the top says "18 of 82 tasks", but I think that's just showing how many boxes I've checked in the form.

kdheepak commented 9 months ago

Pinging @GordStephen.

My understanding is that the source of the data has been updated to no longer directly pull from GitHub issues.

GordStephen commented 9 months ago

@mfripp Unfortunately the site isn't updating at the moment. We're currently in the middle of overhauling it, and will import existing tools based on their data here, so the changes should get picked up when the new site goes live (hopefully in the next few months)