psrc / soundcast

PSRC's Activity-Based Travel Model. Read the wiki here:
https://github.com/psrc/soundcast/wiki
34 stars 15 forks source link

write final assignment results to daysim records #354

Open bricegnichols opened 5 years ago

bricegnichols commented 5 years ago

Via RSG:

If network assignment is done as the last step in the global iteration process, then the travel time and cost information on the final DaySim trip output file may not be completely consistent with the final network assignment and skims, due to any changes that occurred between the final two assignments. One way of dealing with this is to just use the network package output (trip matrices and skim matrices) for all analysis. However, that has the disadvantages that it does not provide access to the full disaggregate information in the DaySim output (trip purpose, household and person characteristics, etc.), it may not include walk and bike trips, and it will not include the short-distance adjustments used in the DaySim models.

A second way of dealing with it is to create skims from the final network assignments, and do one more run of DaySim, but with the following changes to the configuration file:

These changes put DaySim in estimation mode, but not to estimate any specific model, but just to write out all the same records that are input, but with updated travel time and cost information. This same feature can be used to append skim data to survey data files that are in DaySim input format. (Note that the last three configuration lines below may not be necessary, but are recommended just in case DaySim requires an input value.) IsInEstimationMode = true ShouldOutputStandardFilesInEstimationMode = true EstimationModel = none

ShouldOutputAlogitData = false

OutputAlogitDataPath = dummy1

OutputAlogitControlPath = dummy2

The other change is to specify as raw input files the same file names that were used as output files for the final DaySim run in the global loop (with the same delimiter that was used), and then update the output files to have new names (or a different directory) so that they have different names than the previous versions.

ShouldRunRawConversion = true

RawHouseholdPath = _finalrun\hrec.dat RawHouseholdDelimiter = 9

RawPersonPath = _ finalrun\prec.dat RawPersonDelimiter = 9

RawHouseholdDayPath = _finalrun\hday.dat RawHouseholdDayDelimiter = 9

RawPersonDayPath = _ finalrun\prec.dat RawPersonDayDelimiter = 9

RawTourPath = _ finalrun\tour.dat RawTourDelimiter = 9

RawTripPath = _ finalrun\trip.dat RawTripDelimiter = 9

OutputHouseholdPath = _finalskims\hrec.dat OutputHouseholdDelimiter = 9

OutputPersonPath = _ finalskims\prec.dat OutputPersonDelimiter = 9

OutputHouseholdDayPath = _finalskims\hday.dat OutputHouseholdDayDelimiter = 9

OutputPersonDayDelimiter = 9 OutputPersonDayPath = _ finalskims\prec.dat

OutputTourPath = _ finalskims\tour.dat OutputTourDelimiter = 9

OutputTripPath = _ finalskims\trip.dat OutputTripDelimiter = 9

bricegnichols commented 4 years ago

Tested this process and not sure if it's worth the effort or not. It takes almost a full pass of Daysim to do this and it currently has issues that Mark B is looking into. The issues were about missing or out-of-order columns on the final Daysim files.