Releases: switch-model/switch
Switch 2.0.8
This release includes several new features, bug fixes and compatibility improvements. It should have minimal effect on results from existing models other than some improvements and bug fixes in the electricity_cost.csv output file.
New features:
- hydrogen production module
- option to perform optimal early retirement and suspension for generators
- generator retrofit capability
- identify which date each timepoint falls on to support intra-day balancing when using multi-day timeseries
- options to control when generators retire if their maximum age ends in the middle of a study period
- fixed O&M costs for the energy component (e.g. battery cells) of storage projects
- allow negative values for fixed and variable O&M for generators
- compatible with
appsi_highs
and other appsi_* solvers - compatible with Pyomo 6.0.0 - 6.7.1
- corrected calculation of
EnergyCostReal_per_MWh
- fixes for various bugs
See CHANGELOG.md for more details and documentation.
Switch 2.0.7
This release includes a large number of improvements, including compatiblity with Pyomo 5.7 - 6.4.2, clearer names for some file and columns, additional output files, several useful new modules and command-line flags, and better stability and appearance. See CHANGELOG.md for more details. This release is recommended for all users.
Many thanks to Josiah Johnston for most of these changes and to new contributors Desmond Zhong, Brad Venner and Martin Staadecker.
Switch 2.0.6
In previous versions, the fixed costs of storage energy capacity (the MWh part of storage) from all possible build years were mistakenly applied each period, instead of only using the costs for the vintages that are still in service in the current period. This increased the apparent cost of storage by approximately (study length) / (storage life). This bug was introduced in version 2.0.0b3 and persisted through version 2.0.5, so results from earlier models will need to be updated.
This will be the last version of Switch to work in Python 2. It requires at least Python 2.7.12 and also works with Python 3.
Switch 2.0.5
This release standardizes all inputs and outputs as .csv files. Most data formerly read from .tab or .dat files is now read from .csv files (Switch will automatically upgrade these the first time you run a model with the new version). All outputs are also now created as .csv files. It is recommended that you update your model data preparation and analysis scripts to create or read .csv files. Note that non-indexed parameters should now be stored in .csv files with a header row listing the parameter names and a single data row showing their values.
The two exceptions are the total_cost.txt output file and gen_multiple_fuels.dat, which remain unchanged. (Note that gen_multiple_fuels.dat will likely be factored out in the next release.)
This release also includes includes the following minor updates:
- Updated installation instructions
- Switch version number and website are now shown in the startup banner when
running with --verbose flag; solve messages have also been improved slightly - Minor bugs have been fixed in example files
Please see CHANGELOG.md or the github repository for a complete list of changes.
This release is recommended for all users. Please see INSTALL.md for complete installation instructions.
Switch 2.0.4
With this release, Switch is now compatible with both Python 2.7 and Python 3 (probably Python 3.6+). It has been tested primarily with Python 2.7.16 and 3.7.3.
This release also includes a number of minor bug fixes and cosmetic and performance improvements. The most significant changes are that:
- output files now use \r\n line endings on Windows, instead of \n
- BuildLocalTD.tab no longer lists Legacy local transmission and distribution capacity
- the cost of legacy transmission and distribution capacity is now included in the total system cost (bug fix)
Switch 2.0.4 will prompt to upgrade inputs directories previously used with earlier versions, but the only change it will make is to update the switch_inputs_version.txt
file.
Please see CHANGELOG.txt or the github repository for a complete list of changes.
This release is recommended for all users. Please see INSTALL for complete installation instructions.
Switch 2.0.3
This release includes a number of cosmetic improvements, minor performance improvements and minor bug repairs. It also relaxes restrictions slightly on some inputs, e.g., allowing zero values in some cases where values previously had to be strictly positive. In addition, Switch will no longer raise an error if users provide data in variable_capacity_factors.tab and hydro_timeseries.tab for times before projects are built or after they are retired. However, the extra datapoints will be ignored.
Please see CHANGELOG.txt or the github repository for a complete list of changes.
This release is recommended for all users. It can be installed via pip install switch-model
or pip install switch-model==2.0.3
.
Switch 2.0.2
This release includes a few minor improvements, mainly to fix a bug that would crash switch solve --help
with the hawaii.rps module.
Please see CHANGELOG.txt or the github repository for a complete list of changes.
This release is recommended for all users. It can be installed via pip install switch-model or pip install switch-model==2.0.2.
Switch 2.0.1
This release includes numerous minor improvements, new command-line arguments (flags), fixes for compatibility with Pyomo 5.6, and some bug repairs. It also moves an iterative demand response module from the Hawaii regional subpackage into the main package (balancing.demand_response.iterative
).
Please see CHANGELOG.txt or the github repository for a complete list of changes.
This release is recommended for all users. It can be installed via pip install switch-model
or pip install switch-model==2.0.1
.
Switch 2.0
Version 2.0 of Switch introduces numerous upgrades relative to Version 1.0, including:
- written in Python (2.7), using Pyomo optimization framework; no proprietary dependencies
- modular structure - users can select the specific modules needed for each model
- unit-commitment, part-load heat-rates and spinning reserves
- numerous special-purpose modules for storage, demand response, etc.
- command-line interface, with model and scenarios configured via option files
Switch 2.0.0 can be installed from PyPI via "pip install switch_model".
Switch 2.0.0b2
Version 2.0 of Switch introduces numerous upgrades relative to Version 1.0, including:
- written in Python (2.7), using Pyomo optimization framework; no proprietary dependencies
- modular structure - users can select the specific modules needed for each model
- unit-commitment, part-load heat-rates and spinning reserves
- numerous special-purpose modules for storage, demand response, etc.
- command-line interface, with model and scenarios configured via option files
Version 2.0.0b2 is the first version of Switch to be published on PyPI. It can be installed via "pip install switch_model".