From 9f269336f7edc9f7b5ce85f76e0f5728f6df5bd2 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Mon, 30 Mar 2026 11:34:16 +0100 Subject: [PATCH 1/7] First go at release notes for v2.1.0 --- docs/SUMMARY.md | 1 + docs/release_notes/upcoming.md | 59 --------- docs/release_notes/v2.1.0.md | 138 ++++++++++++++++++++++ schemas/input/process_availabilities.yaml | 2 +- schemas/input/process_flows.yaml | 4 +- schemas/input/process_parameters.yaml | 4 +- 6 files changed, 144 insertions(+), 64 deletions(-) create mode 100644 docs/release_notes/v2.1.0.md diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 9b0c9a264..6ff6d66a3 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -22,5 +22,6 @@ - [API documentation](./api/muse2/README.md) - [Release notes](release_notes/README.md) - [MUSE2 v2.0.0 (October 14, 2025)](release_notes/v2.0.0.md) + - [MUSE2 v2.1.0 (March XX, 2025)](release_notes/v2.1.0.md) - [Next unreleased version](release_notes/upcoming.md) - [Other versions of documentation](versions.md) diff --git a/docs/release_notes/upcoming.md b/docs/release_notes/upcoming.md index 6d94973c4..b20948d96 100644 --- a/docs/release_notes/upcoming.md +++ b/docs/release_notes/upcoming.md @@ -13,62 +13,3 @@ ready to be released, carry out the following steps: version --> - -## New features - -- You can now set both upper and lower bounds for process availabilities ([#1018]) -- Default output root path is now configurable in `settings.toml` ([#1003]) -- If demand cannot be satisfied by the simulation, we now inform users what the offending - commodities and time slices are ([#767]) -- Trim whitespace from fields when reading in CSV files ([#976]) -- Assets can now be commissioned after a specified number of years with the `mothball_years` - parameter ([#1022]) -- Default to no availability limits if user doesn't provide any for a process ([#1018]) -- Allow user to specify ranges of years in input files ([#1017]) -- Users can now omit empty CSV files ([#961]) -- Users can now optionally specify an explicit decommission year for an asset in `assets.csv` input - file ([#966]) -- Allow for adding both a `prod` and `cons` levy to a commodity ([#969]) -- Availability limits can now be provided at multiple levels for a process ([#1018]) -- Pricing strategy can now vary by commodity ([#1021]) -- `marginal` and `full` commodity pricing strategies no longer require enabling - `please_give_me_broken_results` ([#1185]) - -## Experimental features - -- Assets can now be made divisible to represent many individual assets, such as a fleet of gas - boilers (albeit the current implementation is slow; [#1030]). These fleets can be partially - decommissioned. -- Users can now have circular dependencies between commodities, such as a hydrogen power plant that - itself requires electricity (though the current solution likely won't work in every situation; - [#986]) -- There are new options for pricing strategy (`full` and `marginal`), which take capital costs into - account ([#1021]) - -## Bug fixes - -- Fix: process availability constraints were wrongly being applied to individual time slices, - regardless of time slice level ([#1018]) -- Various fixes to process flows and availabilities input code for non-milestone years ([#868], - [#1000], [#1010]) -- Users can now set demand to zero in `demand.csv` ([#871]) -- Fix: sign for levies of type `net` was wrong for inputs ([#969]) -- Fix `--overwrite` option for `save-graphs` command ([#1001]) - -[#767]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/767 -[#868]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/868 -[#871]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/871 -[#961]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/961 -[#966]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/966 -[#969]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/969 -[#976]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/976 -[#986]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/986 -[#1000]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1000 -[#1001]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1001 -[#1003]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1003 -[#1010]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1010 -[#1017]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1017 -[#1018]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1018 -[#1021]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1021 -[#1022]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1022 -[#1030]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1030 diff --git a/docs/release_notes/v2.1.0.md b/docs/release_notes/v2.1.0.md new file mode 100644 index 000000000..a0c24ecd5 --- /dev/null +++ b/docs/release_notes/v2.1.0.md @@ -0,0 +1,138 @@ +# Release notes for MUSE2 v2.1.0 (March XX, 2025) + +This release represents over 5 months of development since v2.0.0, adding a number of exciting new +features, as well as some small improvements, bug fixes, and underlying code changes designed to +improve performance and maintainability. + +Please be aware that there are some breaking changes in this release, which may require you to +update the input files of any existing models. We have tried to outline these in the "Breaking +changes" section below, but please do get in touch if you have any issues adapting models to the new +version. + +Some of the new features in this release are still experimental, and will continue to be worked on +for future releases. In the meantime, any feedback on these features is very welcome. + +As always, you can keep track of upcoming changes for the next release in the +[upcoming release notes](upcoming.md). + +## New features + +### Asset mothballing + +Assets can now remain unused for a certain number of years before being decommissioned, via the +global `mothball_years` parameter defined in [`model.toml`] ([#1022]). The default value for this +parameter is 0 years, meaning that assets are decommissioned immediately when they are no longer +used, which is equivalent to the behaviour in previous versions of MUSE2. + +### Process investment constraints + +Users can now add yearly limits on the maximum amount of investment in each process via the new +[`process_investment_constraints.csv`] file ([#1020] and [#1096]). + +### Circular commodity dependencies + +Users can now have circular dependencies between commodities, such as a hydrogen power plant that +itself requires electricity ([#999] and [#1004]). This is currently an experimental feature that may +not work in all cases - feedback is appreciated. There are also known limitations such as +incompatibility with the new commodity pricing strategies (see below), which we plan to address in +future releases. The main new parameter to be aware of is the `capacity_margin` parameter defined in +[`model.toml`]. + +### Divisible assets + +Assets can now be made divisible to represent many individual sub-assets, such as a fleet of gas +boilers, which can be partially decommissioned ([#1030]). This is implemented via the new optional +`unit_size` column in [`processes.csv`]. For example, a `unit_size` of 10 means that the smallest +granular unit of asset capacity represents 10 capacity units (e.g. a single gas boiler, or a defined +aggregate of gas boilers, depending on the desired resolution). Omitting this column or leaving +values empty means that assets are indivisible (i.e. must be decommissioned in one go), which is the +default behaviour and the same as in previous versions of MUSE2. + +It is worth noting that the current implementation incurs a potentially significant performance cost +when setting `unit_size` very small compared to overall capacity, although we plan to address this +in future releases. + +### New commodity pricing strategies + +There are four new pricing strategies for commodities: `full`, `marginal`, `full_average` and +`marginal_average` ([#1021] and [#1205]). Unlike previously, where the pricing strategy was set at +the model level, users can now specify the pricing strategy for each commodity individually in the +[`commodities.csv`] file via the new optional `pricing_strategy` column. The new strategies +are in addition to the existing `shadow` and `scarcity` strategies, as well as an `unpriced` option +for `oth` type commodities that should not be priced. + +### Other new features + +- Users can now optionally specify an explicit decommission year for an asset in [`assets.csv`] + ([#966]) +- Allow user to specify ranges of years in input files ([#1017]) +- You can now set both upper and lower bounds in [`process_availabilities.csv`] ([#1018]) +- Availability limits can now be provided at multiple levels for a process ([#1018]) +- Allow for adding both a `prod` and `cons` levy to a commodity in [`commodity_levies.csv`] ([#969]) +- The default output root path is now configurable in [`settings.toml`] ([#1003]) +- If demand cannot be satisfied by the simulation, we now inform users what the offending + commodities and time slices are ([#767]) +- Trim whitespace from fields when reading in CSV files ([#976]) +- Default to no availability limits if user doesn't provide any for a process ([#1018]) +- Users can now omit empty CSV files ([#961]) + +## Breaking changes + +These changes may require users to update the input files for existing models developed using +previous versions of MUSE2. + +- The previously-named `year` column in [`process_flows.csv`], [`process_availabilities.csv`], + [`process_parameters.csv`] and [`process_investment_constraints.csv`] has been renamed to + `commission_years` to better reflect that these parameters refer to the year in which a process + is commissioned as an asset. +- The [`process_availabilities.csv`] file follows new syntax that better allows for specifying + availabilities as ranges. +- The [`commodities.csv`] file has a new compulsory `units` column. +- The default value for the `max_ironing_out_iterations` parameter in [`model.toml`] has been + changed from 10 to 1 (i.e. turning the ironing-out loop of by default). If users wish to use the + ironing out loop, they must explicitly set this parameter to a higher value. +- The `pricing_strategy` parameter has been moved from [`model.toml`] to [`commodities.csv`]. + +## Bug fixes + +- Fix: process availability constraints were wrongly being applied to individual time slices, + regardless of time slice level ([#1018]) +- Various fixes to process flows and availabilities input code for non-milestone years ([#868], + [#1000], [#1010]) +- Users can now set demand to zero in [`demand.csv`] ([#871]) +- Fix: sign for levies of type `net` was wrong for inputs ([#969]) +- Fix `--overwrite` option for `save-graphs` command ([#1001]) + +[#767]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/767 +[#868]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/868 +[#871]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/871 +[#961]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/961 +[#966]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/966 +[#969]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/969 +[#976]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/976 +[#999]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/999 +[#1004]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1004 +[#1000]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1000 +[#1001]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1001 +[#1003]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1003 +[#1010]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1010 +[#1017]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1017 +[#1018]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1018 +[#1020]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1020 +[#1021]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1021 +[#1022]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1022 +[#1030]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1030 +[#1096]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1096 +[#1205]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1205 + +[`demand.csv`]: ../file_formats/input_files#demandcsv +[`processes.csv`]: ../file_formats/input_files#processescsv +[`process_flows.csv`]: ../file_formats/input_files#process_flowscsv +[`process_availabilities.csv`]: ../file_formats/input_files#process_availabilitiescsv +[`process_parameters.csv`]: ../file_formats/input_files#process_parameterscsv +[`process_investment_constraints.csv`]: ../file_formats/input_files#process_investment_constraintscsv +[`commodities.csv`]: ../file_formats/input_files#commoditiescsv +[`commodity_levies.csv`]: ../file_formats/input_files#commodity_leviescsv +[`model.toml`]: ../file_formats/input_files#modeltoml +[`assets.csv`]: ../file_formats/input_files#assetscsv +[`settings.toml`]: ../file_formats/program_settings diff --git a/schemas/input/process_availabilities.yaml b/schemas/input/process_availabilities.yaml index d7e6bdff6..45c24e1be 100644 --- a/schemas/input/process_availabilities.yaml +++ b/schemas/input/process_availabilities.yaml @@ -19,7 +19,7 @@ fields: type: string description: The region(s) to which this entry applies notes: One or more region IDs, separated by semicolons or the string `all` - - name: years + - name: commission_years type: string description: The milestone year(s) to which this entry applies notes: diff --git a/schemas/input/process_flows.yaml b/schemas/input/process_flows.yaml index c60da94e2..a56545d51 100644 --- a/schemas/input/process_flows.yaml +++ b/schemas/input/process_flows.yaml @@ -5,7 +5,7 @@ description: | notes: - Commodity flows can vary by region and year. - For each process, there must be entries covering all the years and regions in which the process - operates. + can be commissioned. fields: - name: process_id @@ -20,7 +20,7 @@ fields: notes: | One or more region IDs, separated by semicolons or the string `all`. Must be regions in which the process operates. - - name: years + - name: commission_years type: string description: The year(s) to which this entry applies notes: diff --git a/schemas/input/process_parameters.yaml b/schemas/input/process_parameters.yaml index 5dcfed292..f7a6feaaf 100644 --- a/schemas/input/process_parameters.yaml +++ b/schemas/input/process_parameters.yaml @@ -4,7 +4,7 @@ description: | notes: - For each process, entries must be provided which cover every combination of milestone year and - region in which the process operates. + region in which the process can be commissioned. fields: - name: process_id @@ -16,7 +16,7 @@ fields: notes: | One or more region IDs, separated by semicolons or the string `all`. Must be regions in which the process operates. - - name: years + - name: commission_years type: string description: The milestone year(s) to which this entry applies notes: From f926082ef24d4696c782171dcafb29bd02e9fa07 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Mon, 30 Mar 2026 11:56:47 +0100 Subject: [PATCH 2/7] Tentative date and note about NPV --- CITATION.cff | 60 ++++++++++++++++++------------------ docs/SUMMARY.md | 2 +- docs/release_notes/v2.1.0.md | 5 ++- 3 files changed, 35 insertions(+), 32 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index f98c615f8..9ad8734bb 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -1,37 +1,37 @@ cff-version: 1.2.0 message: | - If you cite this software, please cite it as below. + If you cite this software, please cite it as below. - This work was supported via the Climate Compatible Growth (CCG) programme and the EPSRC-funded - HI-ACT project (EP/X038823/2). CCG is funded by UK Aid from the UK government. However, the views - expressed herein do not necessarily reflect the UK government's official policies. + This work was supported via the Climate Compatible Growth (CCG) programme and the EPSRC-funded + HI-ACT project (EP/X038823/2). CCG is funded by UK Aid from the UK government. However, the views + expressed herein do not necessarily reflect the UK government's official policies. title: MUSE2 -version: 2.0.0 -date-released: 2025-10-14 +version: 2.1.0 +date-released: 2026-03-31 authors: - - family-names: Dewar - given-names: Alex - orcid: https://orcid.org/0000-0002-2432-5964 - - family-names: Bland - given-names: Tom - orcid: https://orcid.org/0000-0001-6677-8817 - - family-names: Raja - given-names: Sahil - - family-names: Alonso Álvarez - given-names: Diego - orcid: https://orcid.org/0000-0002-0060-9495 - - family-names: D'Alessandro - given-names: Adrian - orcid: https://orcid.org/0009-0002-9503-5777 - - family-names: Smith - given-names: Ryan - orcid: https://orcid.org/0009-0007-7270-6853 - - family-names: Scharpf - given-names: Benjamin - - family-names: Karimi - given-names: Aurash - - family-names: Hawkes - given-names: Adam - orcid: https://orcid.org/0000-0001-9720-332X + - family-names: Dewar + given-names: Alex + orcid: https://orcid.org/0000-0002-2432-5964 + - family-names: Bland + given-names: Tom + orcid: https://orcid.org/0000-0001-6677-8817 + - family-names: Raja + given-names: Sahil + - family-names: Alonso Álvarez + given-names: Diego + orcid: https://orcid.org/0000-0002-0060-9495 + - family-names: D'Alessandro + given-names: Adrian + orcid: https://orcid.org/0009-0002-9503-5777 + - family-names: Smith + given-names: Ryan + orcid: https://orcid.org/0009-0007-7270-6853 + - family-names: Scharpf + given-names: Benjamin + - family-names: Karimi + given-names: Aurash + - family-names: Hawkes + given-names: Adam + orcid: https://orcid.org/0000-0001-9720-332X license: GPL-3.0-only repository-code: https://github.com/EnergySystemsModellingLab/MUSE2 diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 6ff6d66a3..6417d85d6 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -22,6 +22,6 @@ - [API documentation](./api/muse2/README.md) - [Release notes](release_notes/README.md) - [MUSE2 v2.0.0 (October 14, 2025)](release_notes/v2.0.0.md) - - [MUSE2 v2.1.0 (March XX, 2025)](release_notes/v2.1.0.md) + - [MUSE2 v2.1.0 (March 31, 2025)](release_notes/v2.1.0.md) - [Next unreleased version](release_notes/upcoming.md) - [Other versions of documentation](versions.md) diff --git a/docs/release_notes/v2.1.0.md b/docs/release_notes/v2.1.0.md index a0c24ecd5..5ce60cf05 100644 --- a/docs/release_notes/v2.1.0.md +++ b/docs/release_notes/v2.1.0.md @@ -1,4 +1,4 @@ -# Release notes for MUSE2 v2.1.0 (March XX, 2025) +# Release notes for MUSE2 v2.1.0 (March 31, 2025) This release represents over 5 months of development since v2.0.0, adding a number of exciting new features, as well as some small improvements, bug fixes, and underlying code changes designed to @@ -75,6 +75,7 @@ for `oth` type commodities that should not be priced. - Trim whitespace from fields when reading in CSV files ([#976]) - Default to no availability limits if user doesn't provide any for a process ([#1018]) - Users can now omit empty CSV files ([#961]) +- Several changes to the NPV agent objective designed to improve results ([#994] and [#997]) ## Breaking changes @@ -110,6 +111,8 @@ previous versions of MUSE2. [#966]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/966 [#969]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/969 [#976]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/976 +[#994]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/994 +[#997]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/997 [#999]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/999 [#1004]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1004 [#1000]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1000 From e2a432966674191907f720f48c5043674f41a30d Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Mon, 30 Mar 2026 12:05:54 +0100 Subject: [PATCH 3/7] Update `Cargo.toml` --- Cargo.lock | 2 +- Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 05d4ad2c9..cee3a9397 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1014,7 +1014,7 @@ dependencies = [ [[package]] name = "muse2" -version = "2.0.0" +version = "2.1.0" dependencies = [ "anyhow", "assert_cmd", diff --git a/Cargo.toml b/Cargo.toml index 9ee80ce74..191a805ae 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "muse2" -version = "2.0.0" +version = "2.1.0" authors = ["Hawkes Research Group @ Chemical Engineering, Imperial College London ", "Imperial College London RSE Team "] edition = "2024" description = "A tool for running simulations of energy systems" From 2ea7912a2d84bfcebc9f74c650d11481a9a2a60d Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Mon, 30 Mar 2026 12:12:40 +0100 Subject: [PATCH 4/7] Final touches --- docs/SUMMARY.md | 2 +- docs/release_notes/README.md | 1 + docs/release_notes/v2.1.0.md | 6 +++--- docs/user_guide.md | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 6417d85d6..78ff94c4a 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -22,6 +22,6 @@ - [API documentation](./api/muse2/README.md) - [Release notes](release_notes/README.md) - [MUSE2 v2.0.0 (October 14, 2025)](release_notes/v2.0.0.md) - - [MUSE2 v2.1.0 (March 31, 2025)](release_notes/v2.1.0.md) + - [MUSE2 v2.1.0 (March 31, 2026)](release_notes/v2.1.0.md) - [Next unreleased version](release_notes/upcoming.md) - [Other versions of documentation](versions.md) diff --git a/docs/release_notes/README.md b/docs/release_notes/README.md index b415a3181..cf7b216c3 100644 --- a/docs/release_notes/README.md +++ b/docs/release_notes/README.md @@ -7,5 +7,6 @@ To download the latest release for your platform, please see our [GitHub release To see the list of changes for the current, in-progress version of MUSE2, [see here](./upcoming.md). - [MUSE2 v2.0.0 (October 14, 2025)](./v2.0.0.md) +- [MUSE2 v2.1.0 (March 31, 2026)](./v2.1.0.md) [GitHub releases page]: https://github.com/EnergySystemsModellingLab/MUSE2/releases diff --git a/docs/release_notes/v2.1.0.md b/docs/release_notes/v2.1.0.md index 5ce60cf05..20b980b36 100644 --- a/docs/release_notes/v2.1.0.md +++ b/docs/release_notes/v2.1.0.md @@ -1,4 +1,4 @@ -# Release notes for MUSE2 v2.1.0 (March 31, 2025) +# Release notes for MUSE2 v2.1.0 (March 31, 2026) This release represents over 5 months of development since v2.0.0, adding a number of exciting new features, as well as some small improvements, bug fixes, and underlying code changes designed to @@ -65,7 +65,7 @@ for `oth` type commodities that should not be priced. - Users can now optionally specify an explicit decommission year for an asset in [`assets.csv`] ([#966]) -- Allow user to specify ranges of years in input files ([#1017]) +- Allow users to specify ranges of years in input files ([#1017]) - You can now set both upper and lower bounds in [`process_availabilities.csv`] ([#1018]) - Availability limits can now be provided at multiple levels for a process ([#1018]) - Allow for adding both a `prod` and `cons` levy to a commodity in [`commodity_levies.csv`] ([#969]) @@ -90,7 +90,7 @@ previous versions of MUSE2. availabilities as ranges. - The [`commodities.csv`] file has a new compulsory `units` column. - The default value for the `max_ironing_out_iterations` parameter in [`model.toml`] has been - changed from 10 to 1 (i.e. turning the ironing-out loop of by default). If users wish to use the + changed from 10 to 1 (i.e. turning the ironing-out loop off by default). If users wish to use the ironing out loop, they must explicitly set this parameter to a higher value. - The `pricing_strategy` parameter has been moved from [`model.toml`] to [`commodities.csv`]. diff --git a/docs/user_guide.md b/docs/user_guide.md index 945bbb6c5..14c88d551 100644 --- a/docs/user_guide.md +++ b/docs/user_guide.md @@ -77,7 +77,7 @@ the simulation (which should finish very quickly). The first few lines should look something like: ```txt -[12:24:20 INFO muse2::cli] Starting MUSE2 v2.0.0 +[12:24:20 INFO muse2::cli] Starting MUSE2 v2.1.0 [12:24:20 INFO muse2::cli] Loaded model from new_model/ [12:24:20 INFO muse2::cli] Output folder: muse2_results/new_model ... From 16930cb497ffead784a22358306b0dc18d431750 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Mon, 30 Mar 2026 12:30:23 +0100 Subject: [PATCH 5/7] Fix links --- docs/release_notes/v2.1.0.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/release_notes/v2.1.0.md b/docs/release_notes/v2.1.0.md index 20b980b36..15a4da19e 100644 --- a/docs/release_notes/v2.1.0.md +++ b/docs/release_notes/v2.1.0.md @@ -128,14 +128,14 @@ previous versions of MUSE2. [#1096]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1096 [#1205]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1205 -[`demand.csv`]: ../file_formats/input_files#demandcsv -[`processes.csv`]: ../file_formats/input_files#processescsv -[`process_flows.csv`]: ../file_formats/input_files#process_flowscsv -[`process_availabilities.csv`]: ../file_formats/input_files#process_availabilitiescsv -[`process_parameters.csv`]: ../file_formats/input_files#process_parameterscsv -[`process_investment_constraints.csv`]: ../file_formats/input_files#process_investment_constraintscsv -[`commodities.csv`]: ../file_formats/input_files#commoditiescsv -[`commodity_levies.csv`]: ../file_formats/input_files#commodity_leviescsv -[`model.toml`]: ../file_formats/input_files#modeltoml -[`assets.csv`]: ../file_formats/input_files#assetscsv -[`settings.toml`]: ../file_formats/program_settings +[`demand.csv`]: ../file_formats/input_files.html#demandcsv +[`processes.csv`]: ../file_formats/input_files.html#processescsv +[`process_flows.csv`]: ../file_formats/input_files.html#process_flowscsv +[`process_availabilities.csv`]: ../file_formats/input_files.html#process_availabilitiescsv +[`process_parameters.csv`]: ../file_formats/input_files.html#process_parameterscsv +[`process_investment_constraints.csv`]: ../file_formats/input_files.html#process_investment_constraintscsv +[`commodities.csv`]: ../file_formats/input_files.html#commoditiescsv +[`commodity_levies.csv`]: ../file_formats/input_files.html#commodity_leviescsv +[`model.toml`]: ../file_formats/input_files.html#model-parameters-modeltoml +[`assets.csv`]: ../file_formats/input_files.html#assetscsv +[`settings.toml`]: ../file_formats/program_settings.html From d812a06ae3bdb307896a5cc2e1ac747d213a31a2 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 31 Mar 2026 09:07:51 +0100 Subject: [PATCH 6/7] More PR references --- docs/release_notes/v2.1.0.md | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/docs/release_notes/v2.1.0.md b/docs/release_notes/v2.1.0.md index 15a4da19e..b967c0a04 100644 --- a/docs/release_notes/v2.1.0.md +++ b/docs/release_notes/v2.1.0.md @@ -34,9 +34,9 @@ Users can now add yearly limits on the maximum amount of investment in each proc Users can now have circular dependencies between commodities, such as a hydrogen power plant that itself requires electricity ([#999] and [#1004]). This is currently an experimental feature that may not work in all cases - feedback is appreciated. There are also known limitations such as -incompatibility with the new commodity pricing strategies (see below), which we plan to address in -future releases. The main new parameter to be aware of is the `capacity_margin` parameter defined in -[`model.toml`]. +incompatibility with the new commodity pricing strategies (see below, [#1168]), which we plan to +address in future releases. The main new parameter to be aware of is the `capacity_margin` parameter +defined in [`model.toml`]. ### Divisible assets @@ -85,14 +85,15 @@ previous versions of MUSE2. - The previously-named `year` column in [`process_flows.csv`], [`process_availabilities.csv`], [`process_parameters.csv`] and [`process_investment_constraints.csv`] has been renamed to `commission_years` to better reflect that these parameters refer to the year in which a process - is commissioned as an asset. + is commissioned as an asset ([#964]). - The [`process_availabilities.csv`] file follows new syntax that better allows for specifying - availabilities as ranges. -- The [`commodities.csv`] file has a new compulsory `units` column. + availabilities as ranges ([#1018]). +- The [`commodities.csv`] file has a new compulsory `units` column ([#1110]). - The default value for the `max_ironing_out_iterations` parameter in [`model.toml`] has been - changed from 10 to 1 (i.e. turning the ironing-out loop off by default). If users wish to use the - ironing out loop, they must explicitly set this parameter to a higher value. -- The `pricing_strategy` parameter has been moved from [`model.toml`] to [`commodities.csv`]. + changed from 10 to 1 (i.e. turning the ironing-out loop off by default; [#1170]). If users wish to + use the ironing out loop, they must explicitly set this parameter to a higher value. +- Pricing strategy is now set per commodity, so there is now a `pricing_strategy` column in + [`commodities.csv`] rather than a single parameter in [`model.toml`] ([#1021]). ## Bug fixes @@ -108,6 +109,7 @@ previous versions of MUSE2. [#868]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/868 [#871]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/871 [#961]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/961 +[#964]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/964 [#966]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/966 [#969]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/969 [#976]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/976 @@ -126,6 +128,8 @@ previous versions of MUSE2. [#1022]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1022 [#1030]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1030 [#1096]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1096 +[#1110]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1110 +[#1168]: https://github.com/EnergySystemsModellingLab/MUSE2/issues/1168 [#1205]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1205 [`demand.csv`]: ../file_formats/input_files.html#demandcsv From 99fcd862cf7924289dc15b68829f969a66ae769b Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 31 Mar 2026 09:11:08 +0100 Subject: [PATCH 7/7] Use absolute links --- docs/release_notes/v2.1.0.md | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/docs/release_notes/v2.1.0.md b/docs/release_notes/v2.1.0.md index b967c0a04..4a468b2ab 100644 --- a/docs/release_notes/v2.1.0.md +++ b/docs/release_notes/v2.1.0.md @@ -128,18 +128,16 @@ previous versions of MUSE2. [#1022]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1022 [#1030]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1030 [#1096]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1096 -[#1110]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1110 -[#1168]: https://github.com/EnergySystemsModellingLab/MUSE2/issues/1168 -[#1205]: https://github.com/EnergySystemsModellingLab/MUSE2/pull/1205 - -[`demand.csv`]: ../file_formats/input_files.html#demandcsv -[`processes.csv`]: ../file_formats/input_files.html#processescsv -[`process_flows.csv`]: ../file_formats/input_files.html#process_flowscsv -[`process_availabilities.csv`]: ../file_formats/input_files.html#process_availabilitiescsv -[`process_parameters.csv`]: ../file_formats/input_files.html#process_parameterscsv -[`process_investment_constraints.csv`]: ../file_formats/input_files.html#process_investment_constraintscsv -[`commodities.csv`]: ../file_formats/input_files.html#commoditiescsv -[`commodity_levies.csv`]: ../file_formats/input_files.html#commodity_leviescsv -[`model.toml`]: ../file_formats/input_files.html#model-parameters-modeltoml -[`assets.csv`]: ../file_formats/input_files.html#assetscsv -[`settings.toml`]: ../file_formats/program_settings.html + + +[`demand.csv`]: https://energysystemsmodellinglab.github.io/MUSE2/file_formats/input_files.html#demandcsv +[`processes.csv`]: https://energysystemsmodellinglab.github.io/MUSE2/file_formats/input_files.html#processescsv +[`process_flows.csv`]: https://energysystemsmodellinglab.github.io/MUSE2/file_formats/input_files.html#process_flowscsv +[`process_availabilities.csv`]: https://energysystemsmodellinglab.github.io/MUSE2/file_formats/input_files.html#process_availabilitiescsv +[`process_parameters.csv`]: https://energysystemsmodellinglab.github.io/MUSE2/file_formats/input_files.html#process_parameterscsv +[`process_investment_constraints.csv`]: https://energysystemsmodellinglab.github.io/MUSE2/file_formats/input_files.html#process_investment_constraintscsv +[`commodities.csv`]: https://energysystemsmodellinglab.github.io/MUSE2/file_formats/input_files.html#commoditiescsv +[`commodity_levies.csv`]: https://energysystemsmodellinglab.github.io/MUSE2/file_formats/input_files.html#commodity_leviescsv +[`model.toml`]: https://energysystemsmodellinglab.github.io/MUSE2/file_formats/input_files.html#model-parameters-modeltoml +[`assets.csv`]: https://energysystemsmodellinglab.github.io/MUSE2/file_formats/input_files.html#assetscsv +[`settings.toml`]: https://energysystemsmodellinglab.github.io/MUSE2/file_formats/program_settings.html