@Override public boolean invoke() { String cmd = exePath + " " + outFileRoot + modulePrefix + ExternalConfigFileName; String logfilename = controler.getIterationFilename(currentIteration, modulePrefix + "stdout.log"); return (ExeRunner.run(cmd, logfilename, 3600) == 0); } };
@Override public SnapshotWriter get() { String fileName = controlerIO.getIterationFilename(iteration, "T.veh.gz"); return new TransimsSnapshotWriter(fileName); }
@Override public SnapshotWriter get() { String fileName = controlerIO.getIterationFilename(iterationContext.getIteration(), "otfvis.mvi"); OTFFileWriter writer = new OTFFileWriter(scenario, fileName); return writer; }
@Override public void notifyIterationEnds(final IterationEndsEvent event) { this.histogram.write(controlerIO.getIterationFilename(event.getIteration(), "courtesyHistogram.txt")); if (this.outputGraph) { for ( String type : histogram.getDataFrames().keySet() ) { writeGraphic( this.histogram, type, controlerIO.getIterationFilename(event.getIteration(), "courtesyHistogram_"+type+".png")); } } }
protected void runExe(final String iterationConfigFile) throws FileNotFoundException, IOException { String cmd = this.executable + " " + iterationConfigFile; log.info("running command: " + cmd); Gbl.printMemoryUsage(); String logfileName = this.controlerIO.getIterationFilename(this.getIterationNumber(), "mobsim.log"); int timeout = this.simConfig.getExternalTimeOut() ; int exitcode = ExeRunner.run(cmd, logfileName, timeout); if (exitcode != 0) { throw new RuntimeException("There was a problem running the external mobsim. exit code: " + exitcode); } }
@Override public void notifyIterationEnds(final IterationEndsEvent event) { this.histogram.write(controlerIO.getIterationFilename(event.getIteration(), "legHistogram.txt")); this.printStats(); if (controlerConfigGroup.isCreateGraphs()) { LegHistogramChart.writeGraphic(this.histogram, controlerIO.getIterationFilename(event.getIteration(), "legHistogram_all.png")); for (String legMode : this.histogram.getLegModes()) { LegHistogramChart.writeGraphic(this.histogram, controlerIO.getIterationFilename(event.getIteration(), "legHistogram_" + legMode + ".png"), legMode); } } }
@Override public void notifyBeforeMobsim(final BeforeMobsimEvent event) { if ( !dump( event.getIteration() ) ) return; log.info("dumping joint plans..."); JointPlansXmlWriter.write( sc.getPopulation(), jointPlans, controlerIO.getIterationFilename( event.getIteration(), "jointPlans.xml.gz" )); log.info("finished joint plans dump."); }
@Override public void notifyAfterMobsim(AfterMobsimEvent event) { int it = event.getIteration(); if ( isActiveInThisIteration( it ) ) { eventsManager.removeHandler(occupancyAnalyzer); occupancyAnalyzer.write(controlerIO.getIterationFilename(it, "occupancyAnalysis.txt")); } }
@Override public void notifyIterationEnds(IterationEndsEvent event) { // moved this to iteration end since I also want to analyze population scores. kai, mar'14 int iteration = event.getIteration() ; this.calcLegTimes.writeStats(event.getServices().getControlerIO().getIterationFilename(iteration, "stats_")); // trips are from "true" activity to "true" activity. legs may also go // from/to ptInteraction activity. This, in my opinion "legs" is the correct (matsim) term // kai, jul'11 }
@Override public void notifyAfterMobsim(AfterMobsimEvent event) { legTimes.writeStats(controlerIO.getIterationFilename(event.getIteration(), "tripdurations.txt")); // - print averages in log log.info("[" + event.getIteration() + "] average trip (probably: leg) duration is: " + (int) legTimes.getAverageTripDuration() + " seconds = " + Time.writeTime(legTimes.getAverageTripDuration(), Time.TIMEFORMAT_HHMMSS)); // trips are from "true" activity to "true" activity. legs may also go // from/to ptInteraction activity. This, in my opinion "legs" is the correct (matsim) term // kai, jul'11 }
@Override public void notifyIterationEnds(IterationEndsEvent event) { int iteration = event.getIteration(); if (useVolumesOfIteration(iteration, controlerConfigGroup.getFirstIteration())) { this.iterationsUsed++; linkStats.addData(volumes, travelTime.get(TransportMode.car)); } if (createLinkStatsInIteration(iteration)) { linkStats.writeFile(this.controlerIO.getIterationFilename(iteration, Controler.FILENAME_LINKSTATS)); this.doReset = true; } }
private void generateImage(ChartType chartType) { JFreeChart chart = TimeProfileCharts.chartProfile(calculator.getHeader(), times, timeProfile, chartType); if (chartCustomizer != null) { chartCustomizer.accept(chart, chartType); } String imageFile = matsimServices.getControlerIO().getIterationFilename(matsimServices.getIterationNumber(), outputFile + "_" + chartType.name()); ChartSaveUtils.saveAsPNG(chart, imageFile, 1500, 1000); } }
public SnapshotWriter get() { String baseFileName = "googleearth.kmz"; String fileName = controlerIO.getIterationFilename(iteration, baseFileName); String coordSystem = scenario.getConfig().global().getCoordinateSystem(); return new KmlSnapshotWriter(fileName, TransformationFactory.getCoordinateTransformation(coordSystem, TransformationFactory.WGS84)); }
private void dumpTransitScheduleAndVehicles(MatsimServices controler, int iteration){ TransitScheduleWriter writer = new TransitScheduleWriter(controler.getScenario().getTransitSchedule()); VehicleWriterV1 writer2 = new VehicleWriterV1(controler.getScenario().getTransitVehicles()); writer.writeFile(controler.getControlerIO().getIterationFilename(iteration, "transitSchedule.xml.gz")); writer2.writeFile(controler.getControlerIO().getIterationFilename(iteration, "transitVehicles.xml.gz")); } }
@Override public void notifyIterationEnds(IterationEndsEvent event) { if (this.getWriteGexfStatsInterval > 0) { this.addValuesToGexf(event.getIteration(), this.globalPaxHandler, this.operatorHandler); if ((event.getIteration() % this.getWriteGexfStatsInterval == 0) ) { if (writeOperatorInDetail) { this.write(event.getServices().getControlerIO().getIterationFilename(event.getIteration(), "pStat_detail.gexf.gz")); } else { this.write(event.getServices().getControlerIO().getIterationFilename(event.getIteration(), GexfPStat.FILENAME)); } } } }
@Override public void notifyMobsimInitialized(@SuppressWarnings("rawtypes") MobsimInitializedEvent e) { String file = matsimServices.getControlerIO().getIterationFilename(matsimServices.getIterationNumber(), outputFile); writer = new CompactCSVWriter(IOUtils.getBufferedWriter(file + ".xy.gz")); writer.writeNext("time", "id", "x", "y", calculator.getHeader()); }
@Override public void notifyIterationEnds(IterationEndsEvent event) { if (this.getWriteGexfStatsInterval > 0) { this.addValuesToGexf(event.getIteration(), this.eventsHandler); if ((event.getIteration() % this.getWriteGexfStatsInterval == 0) ) { this.write(event.getServices().getControlerIO().getIterationFilename(event.getIteration(), GexfPOperatorCount.FILENAME)); } } }
@Override public void notifyIterationEnds(IterationEndsEvent event) { if (this.getWriteGexfStatsInterval > 0) { this.addValuesToGexf(event.getIteration(), this.eventsHandler); if ((event.getIteration() % this.getWriteGexfStatsInterval == 0) ) { this.write(event.getServices().getControlerIO().getIterationFilename(event.getIteration(), GexfPPaxCount.FILENAME)); } } }
@Override public void notifyIterationEnds(IterationEndsEvent event) { if (this.getWriteGexfStatsInterval > 0) { this.addValuesToGexf(event.getIteration()); if ((event.getIteration() % this.getWriteGexfStatsInterval == 0) ) { this.write(event.getServices().getControlerIO().getIterationFilename(event.getIteration(), GexfPStatLight.FILENAME)); } } }
@Override public void notifyIterationEnds(IterationEndsEvent event) { parsePopulation(event.getServices().getScenario().getPopulation()); String outNameIdentifier = "actsFromParatransitUsers.txt"; if (this.firstIteration) { // write it to main output writeResults(event.getServices().getControlerIO().getOutputFilename("0." + outNameIdentifier)); this.firstIteration = false; } else { // write it somewhere writeResults(event.getServices().getControlerIO().getIterationFilename(event.getIteration(), outNameIdentifier)); } }