ASTRA 2018-002 Infrastructure demand for automated vehicles issueshttps://gitlab.ethz.ch/ivt-vpl/astra_2018_002/-/issues2020-03-02T14:52:33Zhttps://gitlab.ethz.ch/ivt-vpl/astra_2018_002/-/issues/38Analysis Wishlist for HiWi: #12020-03-02T14:52:33ZclivingsAnalysis Wishlist for HiWi: #1Descriptive analysis of scenario populations
Purpose:
- confirm that generated population actually matches real population statistics or forecasted population statistics
- help to explain Phenomena in results (like in Chur that total P...Descriptive analysis of scenario populations
Purpose:
- confirm that generated population actually matches real population statistics or forecasted population statistics
- help to explain Phenomena in results (like in Chur that total Person-kilometers decline despite a rise in population)
Quantities/Measures/Eckwerten to display and analyze
For all measures, we should check and see which groupings would make our results most easily comparable with standard analyses used by ARE/ASTRA/BFS, etc.
* Trips per day per person -> average of all agents in the scenario, and averages of the agents grouped by socio dempgraphic categories used in Mikrozensus
* Age -> average age of all agents in the scenario, and number of agents in each age group used by the Mikrozensus and also by BFS standard groupsclivingsclivingshttps://gitlab.ethz.ch/ivt-vpl/astra_2018_002/-/issues/37Just a question we should answer: did we use person-specific preferences in t...2019-07-01T11:01:33ZclivingsJust a question we should answer: did we use person-specific preferences in the choice model?Just a question we should answer: did we use person-specific preferences in the choice model?Just a question we should answer: did we use person-specific preferences in the choice model?https://gitlab.ethz.ch/ivt-vpl/astra_2018_002/-/issues/35In class AssignPrivatAVs, enter car ownership and market shares for private A...2019-06-01T10:19:13ZclivingsIn class AssignPrivatAVs, enter car ownership and market shares for private AVs, truck AVsThe rate of car ownership, in our model represented by the access to a private car rather than actual ownership, as well as the percentage of private cars and freight vehicles that are capable of autonomous operation is set for each `AST...The rate of car ownership, in our model represented by the access to a private car rather than actual ownership, as well as the percentage of private cars and freight vehicles that are capable of autonomous operation is set for each `ASTRA_Scenario` (A or B) and each `year` (x >=2050, 2050> x >=2040, 2040> x >=2030, x <2030) in the class `AssignPrivatAVs`.
To set these scenario components for a simulation the `ASTRA_Scenario` and the `year` must be specified as required options in the command to execute the simulation.
**BUT BUT BUT... THE VALUES IN `AssignPrivatAVs`ARE CURRENTLY MOSTLY PLACEHOLDERS! **
Thus, when TP5 sends us these values by the end of May, they must be entered into `AssignPrivatAVs` in the correct places.
**It's the value below which the random double `r` needs to be that must be adjusted to reflect the inputs from TP5.**
An example showing how AVs are assigned:
`else if (ASTRA_Scenario.equals("A")&& year >= 2030){
if(carAvailability.equals(string1)|| carAvailability.equals(string2)){
double r = random.nextDouble();
if (r <= 0.99500) {//produces "true" 99.50% of the time
person.getAttributes().putAttribute(AV_AVAILABILITY_ATTRIBUTE,"car");
person.getAttributes().putAttribute("carAvail", carAvailability);
} else {
person.getAttributes().putAttribute(AV_AVAILABILITY_ATTRIBUTE,"prav5");
person.getAttributes().putAttribute("carAvail", "never");
}......................`
All the other assignments are made similarly.
In this Google Sheets document https://drive.google.com/file/d/1eWo2SWfnKiNVDdwpE0Tuh5Ll78TWkqUl/view?usp=sharing , the "fleet" (meaning absolute amount of private cars in Switzerland) sizes TP5 sends as Input are translated into the appropriate percentages.
I assumed that for Scenario B they would just send us different fleet sizes, so I set up the Google Sheet to calculate the % of car "owners" from Scenario A that would keep their cars, and thus those who would not.
Freight agents are changed to av freight agents by a similar method.
I have attached the PRELIMINARY values TP5 sent us back at the end of April. Hopefully what they will send at the end of this week will be similar.
[Flottenmodell_190430.pdf](/uploads/40e130c9f9c82810d4ec40bc03efe525/Flottenmodell_190430.pdf)Deliver Final Resutls2019-05-31https://gitlab.ethz.ch/ivt-vpl/astra_2018_002/-/issues/34How agents get to AV-Taxis before all links allow av operation2019-05-28T16:23:21ZclivingsHow agents get to AV-Taxis before all links allow av operationPlease make sure agents are not teleported to the nearest link with "avOperation" = "true", but instead that they must walk to these links.
Otherwise the network restrictions in 2030 and 2040 won't DO anything other than make it less pl...Please make sure agents are not teleported to the nearest link with "avOperation" = "true", but instead that they must walk to these links.
Otherwise the network restrictions in 2030 and 2040 won't DO anything other than make it less pleasant for owners of prav4/prav5.https://gitlab.ethz.ch/ivt-vpl/astra_2018_002/-/issues/33Check that the assignment of the "freight_av" person attribute works with the...2019-05-28T16:17:19ZclivingsCheck that the assignment of the "freight_av" person attribute works with the freight vehicle IDs and thus the assignment of freight AV PCUsSebastian, I only assigned this to you b/c I need to your help, especially your knowledge of how the choice modeling is implemented or not implemented regarding freight agents.
To do:
Check that AvFlowEfficiencyCalculator and AssignPr...Sebastian, I only assigned this to you b/c I need to your help, especially your knowledge of how the choice modeling is implemented or not implemented regarding freight agents.
To do:
Check that AvFlowEfficiencyCalculator and AssignPrivatAvs work together in this respect.
AvFlowEfficiencyCalculator works with the vehicle type, or rather vehicle IDs.
AssignPrivatAvs works with person attributes.
This works fine for regular agents because the person attributes define the mode they can choose during the choice modeling process. Then the mode they have chosen sort of "creates" a vehicle of the appropriate type with the appropriate ID.
Freight agents, I assume, do not do this! Thus, the connection or rather, translation, from freight person attributes and freight vehicle ids needs to be established or at least verified!https://gitlab.ethz.ch/ivt-vpl/astra_2018_002/-/issues/32Final Runs to Produce Results2020-04-01T11:52:52ZclivingsFinal Runs to Produce Resultshttps://drive.google.com/file/d/1bs5TVeQqNmanSGEoY9xZcOnNVzkW7VyY/view?usp=sharing
here are the scenarios we need in **bold** and ***bold-italics***. Let's make a checklist of all the "setup" scenarios we need to generate and run in ord...https://drive.google.com/file/d/1bs5TVeQqNmanSGEoY9xZcOnNVzkW7VyY/view?usp=sharing
here are the scenarios we need in **bold** and ***bold-italics***. Let's make a checklist of all the "setup" scenarios we need to generate and run in order to get those "Results Runs".Deliver Final Resutlsclivingsclivings2019-05-27https://gitlab.ethz.ch/ivt-vpl/astra_2018_002/-/issues/31Stuff for the BK Sitzung on June 18th2019-07-01T05:50:16ZclivingsStuff for the BK Sitzung on June 18thModify the presentation used for the May 13th workshop to:
* [ ] Update all the places that are highlighted and commented
* [ ] Make sure all the graphics are up to date
* [ ] include graphics that illustrate how our shared taxis "poo...Modify the presentation used for the May 13th workshop to:
* [ ] Update all the places that are highlighted and commented
* [ ] Make sure all the graphics are up to date
* [ ] include graphics that illustrate how our shared taxis "pool" trip requests, since most people expect a more complex algorithm .
* [ ] state all assumptions made for each scenario and each time step very, very clearly, preferably somehow in a table or with graphics
* [ ] include one or two slides on how we integrated freight into the base scenario and how the calibration of freight looks like
* [ ] include one slide on our scaling methods for the 2030, 2040, and 2050 scenarios
* [ ] for each of the scenarios that we have successfully ran/calculated by June 6th, include the same types of graphs that we created for our Basisszenario 2020 and Zukunftsszenario 2050
* [ ] Send the final version to Hauke Fehlberg by ** 8:30am** on June 11th.
Here is the presentation draft on Google Docs for easy shared editing:
https://drive.google.com/file/d/10GncKFivjODlA-zduP3q4S-v_NZDG8Dq/view?usp=sharing2019-06-07https://gitlab.ethz.ch/ivt-vpl/astra_2018_002/-/issues/29New way to assign PAV ownership - include "captive riders" and consider geogr...2019-05-27T08:36:32ZclivingsNew way to assign PAV ownership - include "captive riders" and consider geographic restrictions in 2030 and 2040.**"Captive Riders"**
PAVs of generation 5 will open up new opportunities to "captive riders", aka those who currently are not allowed to drive cars. Giving at least some of them the option to use a private vehicle is important, since it ...**"Captive Riders"**
PAVs of generation 5 will open up new opportunities to "captive riders", aka those who currently are not allowed to drive cars. Giving at least some of them the option to use a private vehicle is important, since it is not reasonable to assume that they will not purchase PAVs, especially in 2050, at which point we assume PAVs can drive autonomously everywhere, all the time. Some captive riders, whose activities fall entirely or mostly within the AV-operation zones in 2040, may purchase a PAV as early as 2040.
What is tricky is to decide which and how many captive riders decide to purchase a Level 5 PAV. TP5 only delivers the total # of private vehicles in Switzerland at a given time and the % of those private vehicles that are AVs. I need to decide WHO owns them.
**Geographic Restrictions in 2030 and 2040**
The purchase of PAVs in 2030 and 2040 will only be made by persons whose routes make use of the AV-Operation zones. I need to decide on reasonable assumptions as to what "make use of" will be. Perhaps the insights provided by TP6, stating that travel time is only truly used as productive time as of about 60min of uninterrupted travel, could be a starting point.clivingsclivings2019-05-24https://gitlab.ethz.ch/ivt-vpl/astra_2018_002/-/issues/28Use PAV VOTs in Choice Model based on both vehicle type and Link permissions2019-05-23T10:15:22ZclivingsUse PAV VOTs in Choice Model based on both vehicle type and Link permissionsIn 2030 and 2040, AVs will not be able to drive autonomously on every link. Thus, it will be important for drivers to be able to "take the wheel" on those links where autonomous driving is not allowed.
For the Choice Model this means th...In 2030 and 2040, AVs will not be able to drive autonomously on every link. Thus, it will be important for drivers to be able to "take the wheel" on those links where autonomous driving is not allowed.
For the Choice Model this means that a driver must experience the difference between actively driving and allowing the car to drive.
This means that during the evaluation of the routes to be used in the choice sets and evaluation of routes during the choice modelling process in general, the PAV VOT should only be applied when the link has the attribute "AV_Operation_True" (ask Sebastian for the correct name), and for all other links the conventional vehicle VOT should be applied. Perhaps, for each route, the amount of time spent on "AV_Operation_True" links and the amount of time spent on "AV_Operation_False" links needs to be calculated and incorporated into the utility equations appropriately and in combination with the respective VOTs.2019-05-24https://gitlab.ethz.ch/ivt-vpl/astra_2018_002/-/issues/27Use PCU based on vehicle type AND link type AND link permissions (important f...2019-05-27T08:37:01ZclivingsUse PCU based on vehicle type AND link type AND link permissions (important for 2030 and 2040!)In 2030 and 2040, AVs will not be able to drive autonomously on every link. Thus, it will be important for drivers to be able to "take the wheel" on those links where autonomous driving is not allowed.
For the simulation of traffic flo...In 2030 and 2040, AVs will not be able to drive autonomously on every link. Thus, it will be important for drivers to be able to "take the wheel" on those links where autonomous driving is not allowed.
For the simulation of traffic flow, this means that QSim (or MobSim, whatevers) needs to assign a vehicle a PCU value based on vehicle type and roadway type AND AV-permissions. So if a link does NOT have "AV_Operation_True" as an attribute (check with Sebastian for the correct attribute name), then the PCU MUST be that of a conventional vehicle. Only when "AV_Operation_True" is present, can the AV PCUs be used (so the ones we already put into the Flow Efficiency methods).clivingsclivings2019-05-24https://gitlab.ethz.ch/ivt-vpl/astra_2018_002/-/issues/26Road Permissions for AVs in 2030, 20402019-05-23T09:02:11ZclivingsRoad Permissions for AVs in 2030, 2040In 2030 it is simple: only on freeways (OSM "motorway") will AVs be allowed to drive autonomously. On other roads the driver will need to take the wheel.
In 2040, AVs will be allowed to drive autonomously on both freeways and roads wit...In 2030 it is simple: only on freeways (OSM "motorway") will AVs be allowed to drive autonomously. On other roads the driver will need to take the wheel.
In 2040, AVs will be allowed to drive autonomously on both freeways and roads within settlements. On other roads, the driver will need to take the wheel.
We need to implement these concepts in our MATSim code.
1. We need a script that takes a shapefile and then:
1a. gives all links within said shapefile the attribute "AV_Operation_True" or however you'd like to name the attribute that indicates AV can operate autonomously on the link.
1b. gives all links with the OSM tag "motorway" the attribute "AV_Operation_True".
1c. finds the most direct routes between said shapefiles and the closest "motorway" and gives the links of that route the attribute "AV_Operation_True".
1d. makes sure larger shapes (like shapes with a population over 30k or 50k, perhaps) have more than one route to the nearest motorway.
1e. if the most direct route between two shapes is NOT using the routes that were created when the shapes were connected to the closest freeway, find the most direct route between said two shapes using the OSM class "primary" and give those links the attribute "AV_Operation_True".
1f. make sure the above code allows for small gaps in the "primary" and "motorway" networks, especially in step 1e.
For the Scenario 2040 I would not give any links that are not either within a shapefile or "motorway' or "primary" links the "AV_Operation_True" attribute because the rational behind the stepwise spread of roads where AV operation is allowed is as follows: it will take time to make sure AVs can handle complexity (the Autobahn is simple) and high speeds (urban streets have low speed limits) at the same time. Secondary and tertiary roads in non-urban areas are both complex and allow for high speeds. Thus these roads will be the last to allow AVs to operate autonomously, aka will only be AV-operational in 2050. It will also presumably be expensive to install the infrastructure needed for AVs to safely and reliably drive autnomously (they may need beacons, extra cellular data towers, or even more intensive communications infrastructure), and thus roads with very high flows or economic importance (like Autobahns and city streets) will be upgraded before roads with low flows. 2019-05-24https://gitlab.ethz.ch/ivt-vpl/astra_2018_002/-/issues/22Check what happens if no year set in scaling2019-04-25T08:48:49ZclivingsCheck what happens if no year set in scalingyou know what I meanyou know what I meantchervectchervechttps://gitlab.ethz.ch/ivt-vpl/astra_2018_002/-/issues/21Main Mode does not include Car_Passenger2019-04-12T08:06:17ZclivingsMain Mode does not include Car_PassengerWhere - in which class, which file, please - do we set the main modes?
Following error occurs when I try to run a 1pct scenario on my computer (20G, 4 threads):
> 2019-04-12 08:45:09,685 ERROR AbstractMultithreadedModule$ExceptionHan...Where - in which class, which file, please - do we set the main modes?
Following error occurs when I try to run a 1pct scenario on my computer (20G, 4 threads):
> 2019-04-12 08:45:09,685 ERROR AbstractMultithreadedModule$ExceptionHandler:210 Thread DiscreteModeChoiceAlgorithm.3 died with exception. Will stop after all threads finished.
> org.matsim.core.router.TripRouter$UnknownModeException: unregistered main mode |car_passenger|: does not pertain to [prav5, prav4, prav3, pt, car, outside, transit_walk, walk, bike]
> at org.matsim.core.router.TripRouter.calcRoute(TripRouter.java:230)
> at ch.ethz.matsim.discrete_mode_choice.components.estimators.AbstractTripRouterEstimator.estimateTrip(AbstractTripRouterEstimator.java:44)
> at ch.ethz.matsim.discrete_mode_choice.model.estimation.CachedTripEstimator.estimateTrip(CachedTripEstimator.java:49)
> at ch.ethz.matsim.discrete_mode_choice.components.estimators.CumulativeTourEstimator.estimateTour(CumulativeTourEstimator.java:39)
> at ch.ethz.matsim.discrete_mode_choice.model.tour_based.TourBasedModel.chooseModes(TourBasedModel.java:74)
> at ch.ethz.matsim.discrete_mode_choice.replanning.DiscreteModeChoiceAlgorithm.run(DiscreteModeChoiceAlgorithm.java:52)
> at org.matsim.core.replanning.modules.AbstractMultithreadedModule$PlanAlgoThread.run(AbstractMultithreadedModule.java:234)
> at java.lang.Thread.run(Unknown Source)
> 2019-04-12 08:45:10,033 ERROR AbstractMultithreadedModule$ExceptionHandler:210 Thread DiscreteModeChoiceAlgorithm.2 died with exception. Will stop after all threads finished.
> org.matsim.core.router.TripRouter$UnknownModeException: unregistered main mode |car_passenger|: does not pertain to [prav5, prav4, prav3, pt, car, outside, transit_walk, walk, bike]
> at org.matsim.core.router.TripRouter.calcRoute(TripRouter.java:230)
> at ch.ethz.matsim.discrete_mode_choice.components.estimators.AbstractTripRouterEstimator.estimateTrip(AbstractTripRouterEstimator.java:44)
> at ch.ethz.matsim.discrete_mode_choice.model.estimation.CachedTripEstimator.estimateTrip(CachedTripEstimator.java:49)
> at ch.ethz.matsim.discrete_mode_choice.components.estimators.CumulativeTourEstimator.estimateTour(CumulativeTourEstimator.java:39)
> at ch.ethz.matsim.discrete_mode_choice.model.tour_based.TourBasedModel.chooseModes(TourBasedModel.java:74)
> at ch.ethz.matsim.discrete_mode_choice.replanning.DiscreteModeChoiceAlgorithm.run(DiscreteModeChoiceAlgorithm.java:52)
> at org.matsim.core.replanning.modules.AbstractMultithreadedModule$PlanAlgoThread.run(AbstractMultithreadedModule.java:234)
> at java.lang.Thread.run(Unknown Source)
> 2019-04-12 08:45:10,049 INFO Counter:61 [DiscreteModeChoiceAlgorithm] handled plan # 16
> 2019-04-12 08:45:10,366 ERROR AbstractMultithreadedModule$ExceptionHandler:210 Thread DiscreteModeChoiceAlgorithm.1 died with exception. Will stop after all threads finished.
> org.matsim.core.router.TripRouter$UnknownModeException: unregistered main mode |car_passenger|: does not pertain to [prav5, prav4, prav3, pt, car, outside, transit_walk, walk, bike]
> at org.matsim.core.router.TripRouter.calcRoute(TripRouter.java:230)
> at ch.ethz.matsim.discrete_mode_choice.components.estimators.AbstractTripRouterEstimator.estimateTrip(AbstractTripRouterEstimator.java:44)
> at ch.ethz.matsim.discrete_mode_choice.model.estimation.CachedTripEstimator.estimateTrip(CachedTripEstimator.java:49)
> at ch.ethz.matsim.discrete_mode_choice.components.estimators.CumulativeTourEstimator.estimateTour(CumulativeTourEstimator.java:39)
> at ch.ethz.matsim.discrete_mode_choice.model.tour_based.TourBasedModel.chooseModes(TourBasedModel.java:74)
> at ch.ethz.matsim.discrete_mode_choice.replanning.DiscreteModeChoiceAlgorithm.run(DiscreteModeChoiceAlgorithm.java:52)
> at org.matsim.core.replanning.modules.AbstractMultithreadedModule$PlanAlgoThread.run(AbstractMultithreadedModule.java:234)
> at java.lang.Thread.run(Unknown Source)
> 2019-04-12 08:45:10,569 INFO Counter:61 [DiscreteModeChoiceAlgorithm] handled plan # 32
> 2019-04-12 08:45:10,663 ERROR AbstractMultithreadedModule$ExceptionHandler:210 Thread DiscreteModeChoiceAlgorithm.0 died with exception. Will stop after all threads finished.
> org.matsim.core.router.TripRouter$UnknownModeException: unregistered main mode |car_passenger|: does not pertain to [prav5, prav4, prav3, pt, car, outside, transit_walk, walk, bike]
> at org.matsim.core.router.TripRouter.calcRoute(TripRouter.java:230)
> at ch.ethz.matsim.discrete_mode_choice.components.estimators.AbstractTripRouterEstimator.estimateTrip(AbstractTripRouterEstimator.java:44)
> at ch.ethz.matsim.discrete_mode_choice.model.estimation.CachedTripEstimator.estimateTrip(CachedTripEstimator.java:49)
> at ch.ethz.matsim.discrete_mode_choice.components.estimators.CumulativeTourEstimator.estimateTour(CumulativeTourEstimator.java:39)
> at ch.ethz.matsim.discrete_mode_choice.model.tour_based.TourBasedModel.chooseModes(TourBasedModel.java:74)
> at ch.ethz.matsim.discrete_mode_choice.replanning.DiscreteModeChoiceAlgorithm.run(DiscreteModeChoiceAlgorithm.java:52)
> at org.matsim.core.replanning.modules.AbstractMultithreadedModule$PlanAlgoThread.run(AbstractMultithreadedModule.java:234)
> at java.lang.Thread.run(Unknown Source)
> 2019-04-12 08:45:10,663 INFO AbstractMultithreadedModule:156 [DiscreteModeChoiceAlgorithm] all 4 threads finished.
> 2019-04-12 08:45:10,663 ERROR MatsimRuntimeModifications:54 Getting uncaught Exception in Thread main
> java.lang.RuntimeException: Some threads crashed, thus not all plans may have been handled.
> at org.matsim.core.replanning.modules.AbstractMultithreadedModule.finishReplanning(AbstractMultithreadedModule.java:159)
> at org.matsim.core.replanning.GenericPlanStrategyImpl.finish(GenericPlanStrategyImpl.java:121)
> at org.matsim.core.replanning.GenericStrategyManager.run(GenericStrategyManager.java:218)
> at org.matsim.core.replanning.StrategyManager.run(StrategyManager.java:188)
> at org.matsim.core.replanning.StrategyManager.run(StrategyManager.java:170)
> at org.matsim.core.controler.corelisteners.PlansReplanningImpl.notifyReplanning(PlansReplanningImpl.java:58)
> at org.matsim.core.controler.ControlerListenerManagerImpl.fireControlerReplanningEvent(ControlerListenerManagerImpl.java:206)
> at org.matsim.core.controler.AbstractController$3.run(AbstractController.java:142)
> at org.matsim.core.controler.AbstractController.iterationStep(AbstractController.java:224)
> at org.matsim.core.controler.AbstractController.iteration(AbstractController.java:139)
> at org.matsim.core.controler.AbstractController.doIterations(AbstractController.java:114)
> at org.matsim.core.controler.AbstractController.access$000(AbstractController.java:28)
> at org.matsim.core.controler.AbstractController$1.run(AbstractController.java:84)
> at org.matsim.core.controler.MatsimRuntimeModifications.run(MatsimRuntimeModifications.java:48)
> at org.matsim.core.controler.MatsimRuntimeModifications.run(MatsimRuntimeModifications.java:31)
> at org.matsim.core.controler.AbstractController.run(AbstractController.java:92)
> at org.matsim.core.controler.NewControler.run(NewControler.java:75)
> at org.matsim.core.controler.Controler.run(Controler.java:202)
> at ch.ethz.matsim.projects.astra_2018_002.RunASTRA2018002.main(RunASTRA2018002.java:71)
> Caused by: org.matsim.core.router.TripRouter$UnknownModeException: unregistered main mode |car_passenger|: does not pertain to [prav5, prav4, prav3, pt, car, outside, transit_walk, walk, bike]
> at org.matsim.core.router.TripRouter.calcRoute(TripRouter.java:230)
> at ch.ethz.matsim.discrete_mode_choice.components.estimators.AbstractTripRouterEstimator.estimateTrip(AbstractTripRouterEstimator.java:44)
> at ch.ethz.matsim.discrete_mode_choice.model.estimation.CachedTripEstimator.estimateTrip(CachedTripEstimator.java:49)
> at ch.ethz.matsim.discrete_mode_choice.components.estimators.CumulativeTourEstimator.estimateTour(CumulativeTourEstimator.java:39)
> at ch.ethz.matsim.discrete_mode_choice.model.tour_based.TourBasedModel.chooseModes(TourBasedModel.java:74)
> at ch.ethz.matsim.discrete_mode_choice.replanning.DiscreteModeChoiceAlgorithm.run(DiscreteModeChoiceAlgorithm.java:52)
> at org.matsim.core.replanning.modules.AbstractMultithreadedModule$PlanAlgoThread.run(AbstractMultithreadedModule.java:234)
> at java.lang.Thread.run(Unknown Source)
> 2019-04-12 08:45:10,663 INFO MatsimRuntimeModifications:58 S H U T D O W N --- start shutdown.
> 2019-04-12 08:45:10,663 ERROR MatsimRuntimeModifications:60 ERROR --- This is an unexpected shutdown!
> 2019-04-12 08:45:10,663 ERROR MatsimRuntimeModifications:63 Shutdown possibly caused by the following Exception:
> java.lang.RuntimeException: Some threads crashed, thus not all plans may have been handled.
> at org.matsim.core.replanning.modules.AbstractMultithreadedModule.finishReplanning(AbstractMultithreadedModule.java:159)
> at org.matsim.core.replanning.GenericPlanStrategyImpl.finish(GenericPlanStrategyImpl.java:121)
> at org.matsim.core.replanning.GenericStrategyManager.run(GenericStrategyManager.java:218)
> at org.matsim.core.replanning.StrategyManager.run(StrategyManager.java:188)
> at org.matsim.core.replanning.StrategyManager.run(StrategyManager.java:170)
> at org.matsim.core.controler.corelisteners.PlansReplanningImpl.notifyReplanning(PlansReplanningImpl.java:58)
> at org.matsim.core.controler.ControlerListenerManagerImpl.fireControlerReplanningEvent(ControlerListenerManagerImpl.java:206)
> at org.matsim.core.controler.AbstractController$3.run(AbstractController.java:142)
> at org.matsim.core.controler.AbstractController.iterationStep(AbstractController.java:224)
> at org.matsim.core.controler.AbstractController.iteration(AbstractController.java:139)
> at org.matsim.core.controler.AbstractController.doIterations(AbstractController.java:114)
> at org.matsim.core.controler.AbstractController.access$000(AbstractController.java:28)
> at org.matsim.core.controler.AbstractController$1.run(AbstractController.java:84)
> at org.matsim.core.controler.MatsimRuntimeModifications.run(MatsimRuntimeModifications.java:48)
> at org.matsim.core.controler.MatsimRuntimeModifications.run(MatsimRuntimeModifications.java:31)
> at org.matsim.core.controler.AbstractController.run(AbstractController.java:92)
> at org.matsim.core.controler.NewControler.run(NewControler.java:75)
> at org.matsim.core.controler.Controler.run(Controler.java:202)
> at ch.ethz.matsim.projects.astra_2018_002.RunASTRA2018002.main(RunASTRA2018002.java:71)
> Caused by: org.matsim.core.router.TripRouter$UnknownModeException: unregistered main mode |car_passenger|: does not pertain to [prav5, prav4, prav3, pt, car, outside, transit_walk, walk, bike]
> at org.matsim.core.router.TripRouter.calcRoute(TripRouter.java:230)
> at ch.ethz.matsim.discrete_mode_choice.components.estimators.AbstractTripRouterEstimator.estimateTrip(AbstractTripRouterEstimator.java:44)
> at ch.ethz.matsim.discrete_mode_choice.model.estimation.CachedTripEstimator.estimateTrip(CachedTripEstimator.java:49)
> at ch.ethz.matsim.discrete_mode_choice.components.estimators.CumulativeTourEstimator.estimateTour(CumulativeTourEstimator.java:39)
> at ch.ethz.matsim.discrete_mode_choice.model.tour_based.TourBasedModel.chooseModes(TourBasedModel.java:74)
> at ch.ethz.matsim.discrete_mode_choice.replanning.DiscreteModeChoiceAlgorithm.run(DiscreteModeChoiceAlgorithm.java:52)
> at org.matsim.core.replanning.modules.AbstractMultithreadedModule$PlanAlgoThread.run(AbstractMultithreadedModule.java:234)
> at java.lang.Thread.run(Unknown Source)
> 2019-04-12 08:45:10,663 INFO ControlerListenerManagerImpl:121 calling notifyShutdown on org.matsim.core.controler.corelisteners.EventsHandlingImpl
> 2019-04-12 08:45:10,663 INFO ControlerListenerManagerImpl:121 calling notifyShutdown on org.matsim.core.controler.corelisteners.DumpDataAtEndImpl
> 2019-04-12 08:45:10,663 INFO ControlerListenerManagerImpl:126 calling notifyShutdown on org.matsim.analysis.ModeStatsControlerListener
> 2019-04-12 08:45:10,663 INFO ControlerListenerManagerImpl:126 calling notifyShutdown on org.matsim.analysis.ScoreStatsControlerListener
> 2019-04-12 08:45:10,663 INFO ControlerListenerManagerImpl:126 calling notifyShutdown on org.matsim.analysis.TravelDistanceStatsControlerListener
> 2019-04-12 08:45:10,663 INFO ControlerListenerManagerImpl:129 all ControlerShutdownListeners called.
> 2019-04-12 08:45:10,663 INFO MatsimRuntimeModifications:81 S H U T D O W N --- shutdown completed.
> 2019-04-12 08:45:10,663 ERROR MatsimRuntimeModifications:78 ERROR --- MATSim unexpectedly terminated. Please check the output or the logfile with warnings and errors for hints.
> 2019-04-12 08:45:10,663 ERROR MatsimRuntimeModifications:79 ERROR --- results should not be used for further analysis.
> 2019-04-12 08:45:10,663 ERROR MatsimRuntimeModifications:83 ERROR --- This was an unexpected shutdown! See the log file for a possible reason.
> Exception in thread "main" java.lang.RuntimeException: Some threads crashed, thus not all plans may have been handled.
> at org.matsim.core.replanning.modules.AbstractMultithreadedModule.finishReplanning(AbstractMultithreadedModule.java:159)
> at org.matsim.core.replanning.GenericPlanStrategyImpl.finish(GenericPlanStrategyImpl.java:121)
> at org.matsim.core.replanning.GenericStrategyManager.run(GenericStrategyManager.java:218)
> at org.matsim.core.replanning.StrategyManager.run(StrategyManager.java:188)
> at org.matsim.core.replanning.StrategyManager.run(StrategyManager.java:170)
> at org.matsim.core.controler.corelisteners.PlansReplanningImpl.notifyReplanning(PlansReplanningImpl.java:58)
> at org.matsim.core.controler.ControlerListenerManagerImpl.fireControlerReplanningEvent(ControlerListenerManagerImpl.java:206)
> at org.matsim.core.controler.AbstractController$3.run(AbstractController.java:142)
> at org.matsim.core.controler.AbstractController.iterationStep(AbstractController.java:224)
> at org.matsim.core.controler.AbstractController.iteration(AbstractController.java:139)
> at org.matsim.core.controler.AbstractController.doIterations(AbstractController.java:114)
> at org.matsim.core.controler.AbstractController.access$000(AbstractController.java:28)
> at org.matsim.core.controler.AbstractController$1.run(AbstractController.java:84)
> at org.matsim.core.controler.MatsimRuntimeModifications.run(MatsimRuntimeModifications.java:48)
> at org.matsim.core.controler.MatsimRuntimeModifications.run(MatsimRuntimeModifications.java:31)
> at org.matsim.core.controler.AbstractController.run(AbstractController.java:92)
> at org.matsim.core.controler.NewControler.run(NewControler.java:75)
> at org.matsim.core.controler.Controler.run(Controler.java:202)
> at ch.ethz.matsim.projects.astra_2018_002.RunASTRA2018002.main(RunASTRA2018002.java:71)
> Caused by: org.matsim.core.router.TripRouter$UnknownModeException: unregistered main mode |car_passenger|: does not pertain to [prav5, prav4, prav3, pt, car, outside, transit_walk, walk, bike]
> at org.matsim.core.router.TripRouter.calcRoute(TripRouter.java:230)
> at ch.ethz.matsim.discrete_mode_choice.components.estimators.AbstractTripRouterEstimator.estimateTrip(AbstractTripRouterEstimator.java:44)
> at ch.ethz.matsim.discrete_mode_choice.model.estimation.CachedTripEstimator.estimateTrip(CachedTripEstimator.java:49)
> at ch.ethz.matsim.discrete_mode_choice.components.estimators.CumulativeTourEstimator.estimateTour(CumulativeTourEstimator.java:39)
> at ch.ethz.matsim.discrete_mode_choice.model.tour_based.TourBasedModel.chooseModes(TourBasedModel.java:74)
> at ch.ethz.matsim.discrete_mode_choice.replanning.DiscreteModeChoiceAlgorithm.run(DiscreteModeChoiceAlgorithm.java:52)
> at org.matsim.core.replanning.modules.AbstractMultithreadedModule$PlanAlgoThread.run(AbstractMultithreadedModule.java:234)
> at java.lang.Thread.run(Unknown Source)2050 Scenario deliveryhttps://gitlab.ethz.ch/ivt-vpl/astra_2018_002/-/issues/19hexagon_grid.py - input parameters don't seem to be quite right2019-04-11T09:43:25Zclivingshexagon_grid.py - input parameters don't seem to be quite rightI keep getting this error:
> Traceback (most recent call last):
> File "/nas/clivings/astra_2018_002/astra_2018_002/gis/create_hexagon_grid.py", line 32, in <module>
> min_x, min_y, max_x, max_y = area_geometry.bounds
> AttributeE...I keep getting this error:
> Traceback (most recent call last):
> File "/nas/clivings/astra_2018_002/astra_2018_002/gis/create_hexagon_grid.py", line 32, in <module>
> min_x, min_y, max_x, max_y = area_geometry.bounds
> AttributeError: 'NoneType' object has no attribute 'bounds'
despite making sure my shapefile has only 1 area in it, with only one attribute, in my case "scenario", that only has one value, in this case "lg".
Here is my command:
> (/nas/clivings/ch_zh_synpop/ch-zh-synpop/setup/pipeline_environment/python-venv) -bash-4.2$ python3 /nas/clivings/astra_2018_002/astra_2018_002/gis/create_hexagon_grid.py /nas/clivings/astra_2018_002/astra_2018_002/gis/scenarios/serviceArea_lg.shp /nas/clivings/astra_2018_002/Input_SwissPartial_1pct_lg/waiting_time_zones.shp scenario WZONE 1000
Thus: could you explain in more detail exactly what the script needs from the input shapefile?
https://gitlab.ethz.ch/ivt-vpl/astra_2018_002/-/issues/5Departure times from ASTRA counting stations.2019-03-07T13:25:27ZtchervecDeparture times from ASTRA counting stations.Create Swiss freight populationtchervectchervechttps://gitlab.ethz.ch/ivt-vpl/astra_2018_002/-/issues/4Border crossing counts from GQGV2019-03-07T13:24:53ZtchervecBorder crossing counts from GQGVCreate Swiss freight populationtchervectchervechttps://gitlab.ethz.ch/ivt-vpl/astra_2018_002/-/issues/3Generate OD matrix for freight trips2019-04-25T08:49:58ZtchervecGenerate OD matrix for freight tripsWe need to generate an OD matrix for freight trips from the GTE and GQGV data.We need to generate an OD matrix for freight trips from the GTE and GQGV data.Create Swiss freight populationtchervectchervec2019-03-21https://gitlab.ethz.ch/ivt-vpl/astra_2018_002/-/issues/2Scale MZ to fit ARE predictions2019-03-07T13:19:39ZtchervecScale MZ to fit ARE predictionsIn addition to scaling the raw census data to fit BfS predictions, the distance distributions should match forecasted ones.
To do this, we should try to reweigh the microcensus so as the fit the ARE predicted travel distances by mode, pu...In addition to scaling the raw census data to fit BfS predictions, the distance distributions should match forecasted ones.
To do this, we should try to reweigh the microcensus so as the fit the ARE predicted travel distances by mode, purpose, etc.Scaling population to future scenariostchervectchervechttps://gitlab.ethz.ch/ivt-vpl/astra_2018_002/-/issues/1Scaling STATPOP to BfS totals2020-03-02T14:52:34ZtchervecScaling STATPOP to BfS totalsWe would like to be able to scale the current census data to future scenarios.
To do this, we want to reweigh the census data so that is fits the predicted total from BfS.
A new python module should be written that then can be added to t...We would like to be able to scale the current census data to future scenarios.
To do this, we want to reweigh the census data so that is fits the predicted total from BfS.
A new python module should be written that then can be added to the Swiss scenario pipeline.
* [ ] Translate Kirill Müller R scripts into Python.
* [ ] Test using simple test data.
* [ ] Discuss which aggregate totals we would like to integrate into the pipeline.
* [ ] Integrate scaling into pipeline.Scaling population to future scenariostchervectchervec2019-03-21