There is a newer version of the record available.

Published July 29, 2024 | Version v1.2.0rc1
Software Open

MUSE_OS

Description

Installation

Virtual environment installation

If you have previously installed MUSE within a virtual environment using the instructions here, you can update MUSE by activating your virtual environment and running pip install --upgrade muse-os

If you were previously using Python 3.8, you must create a new environment using 3.9 or later. There are instructions on setting up a new environment with the appropriate Python version here

Developer installation

If you have already installed the developer version of MUSE using the instructions here, you can update it to the latest version by doing the following:

  • Activate the environment that you used for the developer installation
  • Navigate to your MUSE_OS folder in the terminal
  • Run git checkout main, followed by git pull to get the latest version of the code
  • To update package dependencies, run pip install -e .[dev,doc]

As above, if you were previously using Python 3.8, you must set up the installation from scratch using 3.9 or later.

Model settings

  • The default demand_share has changed from "new_and_retro" to "standard_demand" (#349). If your model uses retrofit agents, you MUST explicitly specify demand_share = "new_and_retro" for all relevant sectors. If this is left out, the model will try to use the "standard_demand" share and will fail. See updated documentation about this parameter here.
  • The default value for maximum_iterations has changed from 3 to 100 (#386)

Input files

  • The Level column is no longer required in the Technodata and CommOut files, as this parameter isn't used and never has been (#374 and #377). See updated documentation about this parameter here.

Output files

  • We have changed how timeslices are represented in some of the output files (#412), so this now follows a consistent format across all files. Some of your downstream scripts for loading and analysing these output files may need to be updated.
  • Previously it was necessary to specify index = true (in settings.toml) for some of the outputs to prevent some important columns from being dropped. This is no longer required, and users should no longer require the index parameter for any reason (#412).

Model

  • Fixed a bug with the calculation of commodity prices (#418), which affects all models that have multiple timeslices and maximum_iterations > 1.
  • Fixed a bug which was preventing the convergence criteria in the MCA algorithm from being properly checked (#407). This will likely affect the results of most models that have maximum_iterations > 1.
  • The minimum_service_factor parameter was previously being applied incorrectly - this has been fixed (#388).
  • Constraints specified in the settings.toml file (with the constraints key) were previously being ignored (the model would always revert to the default list of constraints). This has been fixed (#354).
  • We have added a constraint that limits installed capacity to be no greater than that required to meet peak demand (#355). This is applied by default, however if you are manually overriding the defaults in the settings file with the constraints key, you MUST include "demand_limiting_capacity" in this list otherwise this constraint won't be used. Note that this only applies to the scipy solver (lpsolver = "scipy" in settings.toml), not the adhoc solver.
  • Fixed a bug with the calculation of LCOE in models that have a utilization factor of zero for some timeslices (#304)

Other notes

  • Please don't use the "metric_supply", "metricy_supply", "timeslice_supply", "yearly_supply", "metric_consumption", "metricy_consumption", "timeslice_consumption" or "yearly_consumption" outputs, as these sometimes give incorrect values and will likely be deleted in the future. You should be able to get everything you need by using the "supply" and "consumption" outputs within each sector, for example:
    [[sectors.SECTOR_NAME.outputs]]
    filename = '{cwd}/{default_output_dir}/{Sector}/{Quantity}.csv'
    quantity = "supply"
    sink = "aggregate"
    

Notes

If you use this software, please cite it as below.

Files

EnergySystemsModellingLab/MUSE_OS-v1.2.0rc1.zip

Files (4.7 MB)

Additional details

Related works