matsim-org / matsim-libs

Multi-Agent Transport Simulation
www.matsim.org
476 stars 441 forks source link

UnmaterializedConfigGroup error on module configuration with Eqasim generated data #3439

Open Pijako opened 2 weeks ago

Pijako commented 2 weeks ago

Hello, I've used Eqasim to generate data to simulate Toulouse transportation system and I've tried to run MATSim on these data but I have the following error, once all modules from toulouse_config.xml are loaded:

[.................]

2024-08-30T22:24:06,305 INFO ControlerUtils:84 Complete config dump done. 2024-08-30T22:24:06,305 INFO ControlerUtils:85 Checking consistency of config... 2024-08-30T22:24:06,306 INFO ScoringConfigGroup$ScoringParameterSet:1555 NO OPENING OR CLOSING TIMES DEFINED!

There is no activity type that has an opening and closing time (or opening time and late penalty) defined. This usually means that the activity chains can be shifted by an arbitrary number of hours without having an effect on the score of the plans, and thus resulting in wrong results / traffic patterns. If you are using MATSim without time adaptation, you can ignore this warning.

2024-08-30T22:24:06,307 INFO VspConfigConsistencyCheckerImpl:68 NOT running vsp config consistency check because vsp defaults checking level is set to IGNORE 2024-08-30T22:24:06,323 INFO MatsimRuntimeModifications:80 S H U T D O W N --- start shutdown. 2024-08-30T22:24:06,323 INFO ControlerListenerManagerImpl:128 calling notifyShutdown on org.matsim.core.controler.corelisteners.EventsHandlingImpl with priority 0.0 2024-08-30T22:24:06,323 INFO ControlerListenerManagerImpl:128 calling notifyShutdown on org.matsim.core.controler.corelisteners.DumpDataAtEndImpl with priority 0.0 2024-08-30T22:24:06,323 INFO ControlerListenerManagerImpl:135 calling notifyShutdown on org.matsim.analysis.ScoreStatsControlerListener with priority 0.0 2024-08-30T22:24:06,324 INFO ControlerListenerManagerImpl:135 calling notifyShutdown on org.matsim.analysis.IterationTravelStatsControlerListener with priority 0.0 2024-08-30T22:24:06,324 INFO PersonWriter:36 Writing all Persons to personscsv 2024-08-30T22:24:06,354 INFO PersonWriter:54 ...done 2024-08-30T22:24:06,354 INFO ControlerListenerManagerImpl:135 calling notifyShutdown on org.matsim.analysis.LinkStatsControlerListener with priority 0.0 2024-08-30T22:24:08,120 INFO ControlerListenerManagerImpl:138 all ControlerShutdownListeners called.22024-08-30T22:24:08,120 INFO MatsimRuntimeModifications:103 S H U T D O W N --- shutdown completed.024-08-30T22:24:08,120 ERROR MatsimRuntimeModifications:100 ERROR --- MATSim unexpectedly terminated. Please check the output or the logfile with warnings and errors for hints.

2024-08-30T22:24:08,120 ERROR MatsimRuntimeModifications:101 ERROR --- results should not be used for further analysis.

2024-08-30T22:24:08,120 ERROR MatsimRuntimeModifications:105 ERROR --- This was an unexpected shutdown! See the log file for a possible reason. Exception in thread "main" java.lang.RuntimeException: Unmaterialized config group: DiscreteModeChoice at org.matsim.core.config.consistency.UnmaterializedConfigGroupChecker.checkConsistency(UnmaterializedConfigGroupChecker.java:32) at org.matsim.core.config.Config.checkConsistency(Config.java:188) at org.matsim.core.controler.ControlerUtils.checkConfigConsistencyAndWriteToLog(ControlerUtils.java:86) at org.matsim.core.controler.AbstractController$1.run(AbstractController.java:82) at org.matsim.core.controler.MatsimRuntimeModifications.run(MatsimRuntimeModifications.java:70) at org.matsim.core.controler.MatsimRuntimeModifications.run(MatsimRuntimeModifications.java:53) at org.matsim.core.controler.AbstractController.run(AbstractController.java:92) at org.matsim.core.controler.NewControler.run(NewControler.java:83) at org.matsim.core.controler.Controler.run(Controler.java:259) at org.matsim.run.RunMatsim.run(RunMatsim.java:56) at org.matsim.run.RunMatsim.main(RunMatsim.java:60)

The simulation did not run properly. Error/Exit code: 1

Here it's with DiscreteModeChoice module but it does it with every module in the xml file. I tried several MATSim version and re-generate Eqasim data but the error keeps happening. Would you have any idea ? Thank you very much in advance

sebhoerl commented 2 weeks ago

Hi, MATSim is a framework that allows you to activate/deactivate/configure modules in a very flexible way. In eqasim we don't only use the standard functionality but make use of various contribs and extensions that need to be configured in the config file, but also in the code. Therefore, you need to run eqasim-generated scenarios with the code from https://github.com/eqasim-org/eqasim-java.

But usually the eqasim pipeline should generate a precompiled JAR next to all the scenario data, which you can use in case you simply want to run the simulation.

Pijako commented 2 weeks ago

Thank you very much for the (very) fast answer @sebhoerl ! I will try this