EnergySystemsModellingLab / EnergySystemsModellingLab/MUSE_OS

[BUG] maturity and existing filters raise an AttributeError

Offen
#662 0 Kommentare 0 Reaktionen 1 zugewiesene Person Beansprucht von @tsmbland Auf GitHub ansehen
bug
Vorherrschende Sprache
Python
Sterne
29
Forks
12
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

## 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

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.