EnergySystemsModellingLab / EnergySystemsModellingLab/MUSE_OS

[BUG] maturity and existing filters raise an AttributeError

Open
#662 0 comments 0 reactions 1 assignee Claimed by @tsmbland View on GitHub
bug
Dominant language
Python
Stars
29
Forks
12
PR merge metrics
No merged PRs in 30d

Description

## Describe the bug
In MUSE 1.3.2 and 1.3.3, I get the following error when using the maturity and existing filters:

-- 2025-02-17 18:43:50 - muse.filters - INFO

Computing filter: maturity

Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code
File "...\.venv\Scripts\muse.exe\__main__.py", line 7, in
sys.exit(run())
~~~^^
File "...\.venv\Lib\site-packages\muse\__main__.py", line 64, in run
muse_main(args.settings, args.model, args.copy)
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "...\.venv\Lib\site-packages\muse\__main__.py", line 59, in muse_main
MCA.factory(settings).run()
~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "...\.venv\Lib\site-packages\muse\mca.py", line 295, in run
_, new_market, self.sectors = self.find_equilibrium(new_market)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
File "...\.venv\Lib\site-packages\muse\mca.py", line 198, in find_equilibrium
return find_equilibrium(
market=market,
...<6 lines>...
equilibrium=self.equilibrium,
)
File "...\.venv\Lib\site-packages\muse\mca.py", line 444, in find_equilibrium
market, equilibrium_sectors = single_year_iteration(market, sectors)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "...\.venv\Lib\site-packages\muse\mca.py", line 361, in single_year_iteration
sector_market = sector.next(
market[["supply", "consumption", "prices"]] # type:ignore
)
File "...\.venv\Lib\site-packages\muse\sectors\sector.py", line 220, in next
subsector.invest(
~~~~~~~~~~~~~~~~^
technologies=self.technologies.sel(year=investment_year),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
market=market,
^^^^^^^^^^^^^^
)
^
File "...\.venv\Lib\site-packages\muse\sectors\subsector.py", line 71, in invest
self.aggregate_lp(technologies, market)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
File "...\.venv\Lib\site-packages\muse\sectors\subsector.py", line 103, in aggregate_lp
agent.next(technologies=technologies, market=market, demand=share)
~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "...\.venv\Lib\site-packages\muse\agents\agent.py", line 340, in next
self.search_rules(self, demand, technologies, market).fillna(0).astype(int)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "...\.venv\Lib\site-packages\muse\filters.py", line 230, in filters
result = function(agent, result, *args, **kwargs)
File "...\.venv\Lib\site-packages\muse\registration.py", line 176, in decorated
result = inner_decorated(*args, **kwargs)
File "...\.venv\Lib\site-packages\muse\filters.py", line 139, in decorated
result = function(agent, search_space, *args, **kwargs) # type: ignore
File "...\.venv\Lib\site-packages\muse\filters.py", line 341, in maturity
capacity = agent.filter_input(market.capacity, year=agent.year)
^^^^^^^^^^^^^^^
File "...\.venv\Lib\site-packages\xarray\core\common.py", line 302, in __getattr__
raise AttributeError(
f"{type(self).__name__!r} object has no attribute {name!r}"
)
AttributeError: 'Dataset' object has no attribute 'capacity'

## To Reproduce

Edit Agents.csv in the default or default_retro folders with a dedicated SearchRule.

## Note

These filters work in MUSE 1.3.1

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.