Script reference
This page is a reference for developers working on or extending the model. It describes how the GeoDMS scripts of the public transport analysis are structured, which containers and templates they define, and how they relate to each other. For the method, see the Public transport page.
Contents
- File overview
- Key data types and index units
- Template: Get_Windowed_Agency_Set_T
- Template: CreateTransfers_T
- Template: ChainJoiner_T
- Template: ChainGeneration_PerBlock_T
- The chain cache
- Template: PerDepartureMoment_T
- Pareto attribute configuration
- Important model parameters
File overview
PublicTransport_Prep.dms and PublicTransport.dms are in cfg/main/NetworkSetup, the files they include in the subfolders PublicTransport_Prep and PublicTransport, and Classifications.dms in cfg/main.
| File | Role |
|---|---|
PublicTransport_Prep.dms | The container /NetworkSetup/PublicTransport_Prep: everything that does not depend on the origin block or the departure moment. Its impl defines the origins and destinations, Places, the stop subsets, the two network subsets Set_R and Set_L, BlockSelections and BlockDomain, and includes MakeODs.dms. Outside impl it builds the walking and cycling networks (Create_Optimised_Network_Walking, Create_Optimised_Network_Cycling), the direct trips (Direct, Direct_OD), the pre- and post-transport caches (PrePostTransport, Legs), the unique time-stop units, the transfers (Transfers.dms), the chain generation per stop block (ChainGeneration_PerBlock) and the chain cache with its readers (PT_Chains_Blocks, PT, PT_V). It includes OD_Chains.dms, ChainJoiner_T.dms, CreateTransfers_T.dms and Get_Windowed_Agency_Set_T.dms. |
Get_Windowed_Agency_Set_T.dms | Template that selects the links of the GTFS network in the time window and of an operator set, and builds the NodeSet of unique (time, stop, route) triples and the node references F1 and F2 for the Dijkstra. |
MakeODs.dms | Defines OD_L and OD_R as impedance_matrix calls on Set_L and Set_R, with their prices and selections (Result, and Result_ToD for the OD pair mode). Includes OD_extra_attributen.dms and OD_traveldist.dms. |
OD_extra_attributen.dms | Attribute fragment included in both OD_L and OD_R: the stops, times, route, agency and mode of each leg from the NodeSet, Traveltime, IsBoardAlightAllowed and ModeCode, and in impl the fare table lookup for regional transport and the NS station pair key c_NS_start_end_rel. |
OD_traveldist.dms | Attribute fragment included in OD_L/Result and OD_R/Result: the distance per mode (Traveldist_Bus, Traveldist_Metro, Traveldist_Tram, Traveldist_Rail, Traveldist_Ferry). |
Transfers.dms | Instantiates CreateTransfers_T for the four operator pairs: Transfers_R_R, Transfers_R_L, Transfers_L_L, Transfers_L_R. |
CreateTransfers_T.dms | Template that joins unique exit stops to unique entry stops within walking distance, computes walking and waiting times, checks validity and computes transfer costs. |
ChainJoiner_T.dms | Template that joins a left chain, a transfer set and a right OD set; computes the combined travel time and prices, applies the grade-separated transfer penalty, and keeps the Pareto-optimal chains per group. |
OD_Chains.dms | Only in the OD pair mode (Impl/IsOD, #129): the stops of the origin and destination (OD_Stops) and the legs of each chain of the pair (OD_Chains). |
PublicTransport.dms | Included once per origin block, in /NetworkSetup/ConfigurationPerBlock/<block>/PublicTransport: the pre-transport legs of the block (V), all post-transport legs (N), the chains of the block (PT_InBlock), the direct trips of the block (Direct_OD), PerDepartureMoment_T per departure moment (PerDepartureMoment, via for_each_ne over MeasureMoments), and the output request of the block with its counts (Generate_Output). |
PerDepartureMoment_T.dms | Template instantiated once per departure moment: selects the chains in the pre-transport window, joins pre-transport, joins post-transport, adds the direct trips, condenses in two Pareto steps and exports. Includes OD_Output.dms from the subfolder PerDepartureMoment_T. |
OD_Output.dms | Only in the OD pair mode: the options of the front with their parts and links, written as a GeoPackage. |
Classifications.dms | Defines Agencies (with IsNS, IsRO and IsLnet), Chains (the chain combinations), TimeInvariantTypes (the pre- and post-transport types), ChainJoinerParetoAttr, CandidateParetoAttr, FinalParetoAttr, OwnershipParetoAttr and OutputParetoAttr. |
Key data types and index units
c_Time_Stops (uint64)
The central join key for all time-expanded lookups. It combines a time index and a stop index, combine_unit_uint64(Time, RelevantSelection/Stops), defined as /SourceData/Infrastructure/GTFS/c_Time_Stops:
c_Time_Stop_rel = uint64(Time_rel) * uint64(#Stops) + uint64(Stop_rel)
Decoding:
Time_rel := value(c_Time_Stop_rel / uint64(#Stops), Time)
Stop_rel := value(c_Time_Stop_rel % uint64(#Stops), Stops)
This encoding is used in OD_L and OD_R, in the transfer sets, in the chain joiner and in PT. The nodes of the time-expanded graph add the route: c_Time_Stop_Routes := combine_unit_uint64(c_Time_Stops, Routes).
uq_c_FromTime_Stop and uq_c_ToTime_Stop
These are units of the unique boarding and alighting events, computed in PublicTransport_Prep from impl/All_Time_Stops, the union of OD_L/Result and OD_R/Result:
uq_c_FromTime_Stop := unique_uint64(impl/All_Time_Stops/c_FromTime_Stop_rel)
uq_c_ToTime_Stop := unique_uint64(impl/All_Time_Stops/c_ToTime_Stop_rel)
- Every row of
OD_L/ResultandOD_R/Resulthas auq_c_FromTime_Stop_reland auq_c_ToTime_Stop_relthat index into these units. - The transfer sets have
uq_c_Exit_rel(intouq_c_ToTime_Stop) anduq_c_Reboard_rel(intouq_c_FromTime_Stop). - The chain joiner uses equality of these indices as its join keys, which is what makes
join_equal_values_uint64efficient.c_FromTS_ToTS := combine_unit_uint64(uq_c_FromTime_Stop, uq_c_ToTime_Stop)is the key of a pair of events. - Each event also carries its time, stop, place and (time, place) index (
From_Time_rel,From_Stop_rel,From_Place_relandc_FromTime_Place_rel, and the same for an alighting event:To_Time_reland so on).uq_c_FromTime_Stop/IsVBoardingsays whether a pre-transport leg of the component ends at the stop.
c_Time_Places (uint64)
Analogous to c_Time_Stops, but at the level of Places: the union of PT_net/SL_Places, the origins (org) and the destinations (dest), in PublicTransport_Prep/impl.
c_Time_Places := combine_unit_uint64(Time, Places)
Decoding:
From_Place_rel := value(c_FromTime_Place_rel % uint64(#Places), Places)
From_Time_rel := value(c_FromTime_Place_rel / uint64(#Places), Time)
PerDepartureMoment_T uses this index to join the chains (at the stop level) with the pre- and post-transport legs (at the place level). The event units derive it via Stops/Place_rel, and PT_InBlock looks up c_FromTime_Place_rel and c_ToTime_Place_rel per chain; PT has the same attributes.
c_NS_start_end
A combined unit for NS station pairs:
c_NS_start_end := /SourceData/Infrastructure/OVprijzen/NS/NS_TariffUnits_matrix/c_NS_start_end
It is the key of the NS prices in TariffUnitsMatrix (NS_TariffUnits_matrix/ODMatrix, column Price_ct).
OD_Lbuilds the key of a leg from its first and last NS station:impl/c_NS_start_end_relfromFrom_NS_Stations_relandTo_NS_Stations_rel.ChainJoiner_Tbuilds the key of a through fare withcombine_data(c_NS_start_end, left_rel->First_NS_Station, right_rel->Last_NS_Station).
Template: Get_Windowed_Agency_Set_T
Parameter: selection_str, a string appended to the selection condition on the GTFS network.
The two instantiations in PublicTransport_Prep/impl, with PTnet for the GTFS network impl/PT_path_str (SourceData/Infrastructure/GTFS/PublicTransportNet):
Set_R := Get_Windowed_Agency_Set_T(
' && PTnet/Agency_rel->IsRO && PTnet/Duration > 0f' + FlexSelection_str)
Set_L := Get_Windowed_Agency_Set_T(
' && ((PTnet/Agency_rel->IsLnet && not(PTnet/Route_rel->IsWithoutNSTicket))
|| (PTnet/Mode_rel == impl/Modes/V/Waiting && IsDefined(PTnet/c_NS_start_end_rel)))
&& PTnet/Duration > 0f' + FlexSelection_str)
FlexSelection_str is empty when flex transport takes part (Advanced/IncludeFlex), and otherwise removes the links of flex lines (PTnet_prep/IsFlexLink).
The base filter, whatever selection_str is, keeps the links in the time window: PTnet_prep/IsSub_from (From_Time_rel >= FirstDepartureMoment), IsSub_to (To_Time_rel < LastArrivalMoment) and IsSub_dur (duration <= MaxPTTime).
After filtering, the template:
- computes
c_fromTime_Stop_relandc_toTime_Stop_relfor each link, and with its routec_fromTime_Stop_Route_relandc_toTime_Stop_Route_rel; - constructs
doubledLinks, the union of the from-events and the to-events of all links, each with its route; - takes
NodeSet := unique(doubledLinks/c_Time_Stop_Route_rel), the set of unique (time, stop, route) triples, so that a leg stays on one route;NodeSet/CanBoardandCanAlightsay whether the GTFS allows boarding and alighting there, andDepTrip_relgives the trip of a departing link; - computes
F1 := rlookup(c_fromTime_Stop_Route_rel, NodeSet/c_Time_Stop_Route_rel)andF2 := rlookup(c_toTime_Stop_Route_rel, NodeSet/c_Time_Stop_Route_rel), the from-node and to-node of each link forimpedance_matrix.
Output: the unit Set with all filtered links, F1, F2 and NodeSet.
Template: CreateTransfers_T
Parameters: FromDomain and ToDomain, both OD result units.
Steps:
Uq_From := unique_uint32(FromDomain/c_ToTime_Stop_rel): the unique arrival events inFromDomain.Uq_To := unique_uint32(ToDomain/c_FromTime_Stop_rel): the unique departure events inToDomain.Transfers := join_near_values_uint32(Uq_From/To_Point, Uq_To/From_Point, MaxTransferDist): a spatial join, yielding all pairs of events whose stops lie within the straight-line distance.- For each candidate pair:
uq_c_Exit_rel,uq_c_Reboard_rel,Walking_Dist,Walking_Time_rel,Transfer_Time_rel,WaitingAtStop_Time_rel, andMinTransfer_Time_rel: the walking time, or between two rail stops of the same NS station the larger of the walking time and the IFF transfer time of the station (Stops/IFF_TransferTime_rel,Advanced/IFF_TransferTime, #123). IsValidTransfer:Transfer_Time_rel >= MinTransfer_Time_rel,To_Time_rel > From_Time_rel,Transfer_Time_rel > 0andTransfer_time <= MaxPTTime(see Transfers).ValidTransfers: the valid transfers, each withWalking_Time_cost,Waiting_Time_costandTime_cost.
Output: Result := Transfers/ValidTransfers.
Template: ChainJoiner_T
Parameters: Left (the left chain, a Result of a shorter chain or of a single leg), Right (an OD result unit), Transfers (a transfer result unit), LeftStr (the name of the left chain, like 'R' or 'RL') and RightStr ('R' or 'L').
LeftStr and RightStr give Boolean flags:
HasLeft_RO,HasRight_RO: whether the left or right part contains regional legs (R).HasLeft_NS,HasRight_NS: whether the left or right part contains NS legs (L or K).NS_transfer_possible: both parts have NS legs; a through fare may apply.NS_through_fare_certain: the left name ends with'L'and the right name starts with'L'; the through fare always applies.RO_transfer_possible: both parts have regional legs; the continuation fare (O) may apply.
The flags select, when the template is instantiated, which expression an attribute gets: such an attribute is defined with = followed by a string expression that yields the expression text. GeoDMS has no if at the level of types, so a chain without NS legs carries no NS price computation at all.
Joining:
Join_Left_Transf0 := join_equal_values_uint64(Left/uq_c_ToTime_Stop_rel, Transfers/uq_c_Exit_rel).Join_Left_Transfkeeps the combinations that can stay withinMaxPTTimewith the shortest right leg (CanStayWithinMaxPT,MinRightTraveltime).Join_LeftT_Right := join_equal_values_uint64(Join_Left_Transf/transfers_rel->uq_c_Reboard_rel, Right/uq_c_FromTime_Stop_rel).
Combined travel time:
Traveltime_wo_Penalty := Left_rel -> traveltime + Transfers_rel -> Transfer_Time + Right_rel -> traveltime
Traveltime := NeedsTranferTimePenalty
? Traveltime_wo_Penalty + GradeSeparatedTransferPenalty
: Traveltime_wo_Penalty
NeedsTranferTimePenalty is true unless both modes are at grade (Modes/IsStreetLevel). ModeCode := Left_rel -> ModeCode * Right/ModeFactor + Right_rel -> ModeCode adds the mode of the right leg in 4 bits.
Validity and Pareto filtering (see the Public transport page for the method):
Is_valid_connection: notIsTravelToSameStopand notIsJourneyLongerThanAllowed(TraveltimeaboveMaxPTTime).Valid1holds the valid combinations with their prices (Price_I,Price_O,Price_L,Price_S,Price_T,Price_F,Price,Price_augm) and rest times (remaining_time_excl_NS_transfer,remaining_time_excl_RO_transfer).- The group of the selection is
Part_key: the pair of events (OD_pair_key) and the first NS station of the running NS journey (First_NS_Station). Pareto_conditionispareto_optimal_eps(Part_key, ...)on the criteria ofChainJoinerParetoAttr.
Output: Result := Fence/Result, a uint32 unit of the Pareto-optimal chains through Left, Transfers and Right, with ModeFactor, ModeCode, the prices, TravelTime, the distances per mode, First_NS_Station, Last_NS_Station, Last_NS_AlightTime and Last_RO_AlightTime.
The container x holds the result, and Fence := PhaseContainer(x, ...) signals progress and separates the result from the intermediate computation graph, which avoids a deadlock in the GeoDMS dependency resolver (see issue 965).
Template: ChainGeneration_PerBlock_T
Instantiated per stop block as ChainGeneration_PerBlock/<block>, via for_each_ne over impl/BlockDomain/name. Parameter: BlockDomain_id, a reference into impl/BlockDomain.
Steps:
Chain_Generation/L/resultandChain_Generation/R/resultselect the rows ofOD_L/ResultandOD_R/Resultwhose first stop lies in the block (BlockSelections/Block_rel[From_Stop_rel] == BlockDomain_id) and that board no later thanimpl/LastBoardingMoment.Block_relis a random permutation of the stops divided byMaxStopBlockSize, or in the OD pair mode the one block of the stops of the origin.Chain_GenerationinstantiatesChainJoiner_Tfor each chain ofimpl/ToBeCalculated_Chainswith a right part: the left chain<left>/Result, the right OD setOD_<right>/Resultover the whole network (in the OD pair modeResult_ToDfor the last leg of the longest chains), and the transfer setTransfers/<transfer_name>/Result.Allowed_Chainsunions the results of all chains ofimpl/Allowed_ChainsK, the single legs included.- A Pareto selection per pair (
uq_c_FromTime_Stop_rel,To_Stop_rel), the keyOD_pair_keyinStarEvent2Stop, onFinalParetoAttr, withpareto_optimal_eps. BlockResultContainer/Resultholds the Pareto-optimal chains (in the OD pair mode only those that end at a stop of the destination,EndsAtD), behindFence.Writewrites them to the block cache (see The chain cache).
The block key uses To_Stop_rel (the destination stop) rather than uq_c_ToTime_Stop_rel (the arrival event). The model therefore collapses different arrival times at the same destination stop, keeping only the Pareto-optimal options. The arrival time is still known from uq_c_ToTime_Stop_rel, which stays on the result for the step per departure moment.
The chain cache
With Advanced/PT_Chains_PerBlock (default TRUE) each stop block writes its chains to its own cache, <StorageBlockDir_Str>/<n>of<N>.mmd (ChainGeneration_PerBlock/<block>/Write), so that the results do not stay in memory and an interrupted chain step resumes at the first missing block. Without it ChainGeneration_Single/Write writes one cache with the chains of all blocks (ChainGeneration_Single/Calc).
PT_Chains_Signatureholds all parameters that affect the chains; the name of the cache (StorageBase_Str) holds the analysis date, the time window (PT_Chains_Window) and a hash of the signature.PT_Chains_Sigwrites the signature insignature.txtin the folder of the cache and checks it on reading.PT_Chains_Blocks/PerBlock/<block>(ReadBlock_T) reads a block cache (Read) and selects the chains that board at a stop where a pre-transport leg of the component ends (VBoarding).PT_Chains_Blocks/ToDolists the blocks without a cache, andToDo_Listwrites their writers tobatch\log\chain_blocks_todo.txtforbatch\WriteChainBlocks.ps1.PerBlock/<block>/IsWrittentests0Dictionary.dmsin the block cache, which GeoDMS writes after the data of the block, so a block that was half written when the step was aborted is made again instead of being skipped (see After an abort).PTreads all chains, from the block caches or from the one cache (ChainGeneration_Single/Read), with the derived relations;PT_Vreads only the chains ofVBoarding, from which each origin block takes its own (PT_InBlock).
The caches of the pre- and post-transport connections (PrePostTransport) and the candidate legs per type (Legs) are described on Walking and cycling legs.
Template: PerDepartureMoment_T
Parameters: inTime (the departure moment as a uint32 time index) and inTime_string (its name). It is instantiated per departure moment as PerDepartureMoment/<moment> in PublicTransport.dms, which gives it the units of the origin block: V, N, PT_InBlock and Direct_OD.
Main units:
Within_VW_Window: the chains ofPT_InBlockwithinTime <= From_Time_rel <= inTime + Max_V_Time + MaxWaitingTimeAtOrigin, whereMax_V_TimeisImpl/PT_Max_V_Time.UqModeCodedecodesModeUsedfromModeCode.Add_V_to_PT:join_equal_values_uint64(V/To_Place_rel, Within_VW_Window/From_Place_rel), with the validityIsValid: the waiting time at the origin, the arrival at the stop before the departure,IsVTimeNotTooLongandIsPT_departureEvent_ActualPT.Add_V_to_PT/Result: the valid V+PT combinations.Add_N_to_VPT:join_equal_values_uint64(Add_V_to_PT/Result/To_Place_rel, N/From_Place_rel), with the validityIsValid:MaxTravelTimeandIsNTimeNotTooLong.Add_N_to_VPT/Result: the valid V+PT+N combinations.Direct_OD_M: the direct trips of the block (Direct_OD) and, with the time-dependent car trip, the car trips of this moment (CarCache,CarRows,DirectCar,DirectCar_M).Union_with_DirectOD: the union ofAdd_N_to_VPT/Result(only when public transport takes part,WithPT) andDirect_OD_M.- First condensation: Pareto over (
uq_c_FromTime_Place_rel,To_Place_rel), producingResult_AfterFirstCondensation. - Second condensation: Pareto over (
From_Place_rel,To_Place_rel), producingResult_AfterSecondCondensation. CreateExports: the output file of the block and moment,<OutputDir>/PerBlock/tt_<moment>_<n>of<N>.LongFormat/Filewrites the csv, with the columns ofColumns(ExportColumns: those of kinddistonly withExport_TravelledDistance, those of kindpriceonly withExport_PriceInformation); withOutputFormat'parquet'the writerParquet_Direct,Parquet_CarorParquet_PTof the component (Impl/ExportClass) writes the parquet.Results_Traveltime/Generaterequests the writer, andResults_Traveltime/Countscounts the rows and pairs.OD_Output: only in the OD pair mode.
Both condensations use the criteria of Classifications/OutputParetoAttr.
The ModeUsed string of the output is built per departure moment: the pre-transport type, the PT modes and the post-transport type, separated by underscores. The PT modes come from ModeCode, a uint32 with 4 bits per leg that the chain joiner builds at each join step (see Public transport), decoded once per distinct code (UqModeCode, Classifications/GTFS_Modes/CodeDigits). A direct trip has its letter twice: WW, CC or AA.
Pareto attribute configuration
The Pareto attributes are configured in Classifications.dms.
ChainJoinerParetoAttr
Used inside ChainJoiner_T, selected from ChainJoinerParetoAttr_Candidates:
Pricewhen the final front usesPrice(IsPriceFinal), otherwisePrice_augm;remaining_time_excl_RO_transferandremaining_time_excl_NS_transfer, always: they keep a chain that is slightly more expensive but can still get a favourable fare at the next transfer;TravelTime, only with a time penalty (HasTimePenalty:GradeSeparatedTransferPenaltyabove 0,FlexHasTimePenaltyorTripSurchargeHasTimePenalty) and when the final front uses time;Price_augmas a tie-break (epsilon 1.0) when the final front usesPrice.
The epsilons (EpsilonExpr) are 0 for the prices and rest times and ChainParetoTimeEpsilon for TravelTime.
CandidateParetoAttr and FinalParetoAttr
CandidateParetoAttr is the pool of candidate attributes: Price, Price_augm and TravelTime, with the FileNameElement values Price, Price_augm and Time and the epsilons 0, 0 and ChainParetoTimeEpsilon.
- Which of these are active (
IsFinalParetoSelection) is set byModelParameters/Advanced/MinimiseCriteria, or when merging components (MergeOutput) byModelParameters/MergeCriteria: a string with any combination of theFileNameElementvalues, case-insensitive. - If both
PriceandPrice_augmare named,Priceis left out. FinalParetoAttrholds the active rows. The block-level selection inChainGeneration_PerBlock_Tuses it.ParetoArgsgives the arguments forpareto_optimal_eps: the first criterion only sets the order and gets no epsilon.
OwnershipParetoAttr and OutputParetoAttr
See Car and bicycle ownership as criteria and #117.
OwnershipParetoAttrselects the Boolean criteriaNeedsCarandNeedsBikefromOwnershipParetoAttr_Candidates, whenMinimiseCriteria(when merging,MergeCriteria) namesCarorBikeand the criterion can differ between options (IsRelevant).OutputParetoAttrisFinalParetoAttrplusOwnershipParetoAttr. The two condensations per departure moment use it; the chain generation keepsChainJoinerParetoAttrandFinalParetoAttr, so the chain cache does not depend on it.- Its
ParetoArgsgives the arguments of each criterion forpareto_optimal_eps: a number with its epsilon, a Boolean without.
Important model parameters
| Parameter | Location | Meaning |
|---|---|---|
MaxPTTime | ModelParameters | Maximum public transport journey time including transfers and waiting (90 min). |
MaxTravelTime | ModelParameters | Maximum total journey time including pre- and post-transport (90 min). |
Max_transfers | ModelParameters | Maximum number of transfers (3, from 1 to 4); sets the longest chain in Classifications/Chains. |
Transfer_Walking_Time_Costs | ModelParameters | Cost per minute of walking at a transfer (0.19 euro/min). |
Transfer_Waiting_Time_Costs | ModelParameters | Cost per minute of waiting at a transfer stop (0.05 euro/min). |
Component, PreTransport, PostTransport | ModelParameters | The component of the run: 'WW', 'CC', 'Car' or 'PT', with the pre- and post-transport type of a PT component; see Components and merging. |
MergeOutput, MergeComponents, MergeCriteria | ModelParameters | Whether the run merges the output of the components in MergeComponents into one front, and the criteria of that front. |
MaxTransferDist | ModelParameters/Advanced | Maximum straight-line distance of a transfer walk (500 m). |
TransferEffectiveSpeed | ModelParameters/Advanced | Walking speed of a transfer: 4.5 km/h divided by 1.2 for detours, in m/s. |
IFF_TransferTime | ModelParameters/Advanced | Whether a transfer between two rail stops of the same NS station takes at least the IFF transfer time of the station (TRUE). |
MaxTransferTimeForBoardingSurcharge | ModelParameters/Advanced | Maximum time between a check-out and the next check-in to stay within one fare journey: the regional continuation fare (O) and the NS through fare (35 min). |
GradeSeparatedTransferPenalty | ModelParameters/Advanced | Extra time for a transfer from or to a mode that is not at grade (0 min). |
MaxStopBlockSize | ModelParameters/Advanced | Maximum number of stops per stop block (104). |
NumberOfStopBlocks | ModelParameters/Advanced | Number of stop blocks (500, 1 in the OD pair mode); MaxStopBlockSize * NumberOfStopBlocks must exceed the number of stops. |
PT_Chains_PerBlock | ModelParameters/Advanced | Whether each stop block writes its own chain cache (TRUE). |
MaxWaitingTimeAtOrigin | ModelParameters/Advanced | Maximum waiting time at the origin before departing (899 s). |
IncludeWaitingAtHomeInTravelTime | ModelParameters/Advanced | Whether the waiting time at the origin counts in the travel time (FALSE). |
Cycling_PreTransport_Penalty | ModelParameters/Advanced | Extra time at the end of every cycling pre-transport leg (0 min). |
AllowDirectWalking, AllowDirectCycling, AllowDirectCar | ModelParameters/Impl | Which direct trips take part, derived from Component. |
IncludeCyclingCostsInPrice, IncludeWalkingCostsInPrice | ModelParameters/Advanced | Whether the time costs of cycling or walking count in the monetary Price, and not only in Price_augm (TRUE, FALSE). |
MinimiseCriteria | ModelParameters/Advanced | The criteria of the front of a component ('Price,Time'); Car and Bike add the ownership criteria to the condensations. In the signature of the chain cache. |
Analysis_date | ModelParameters/Impl | The day of the analysis, derived from AnalysisMoment; in the name and signature of the chain cache and the output. |
PriceExportsAndIntegrityChecksNeeded | ModelParameters/Impl | Derived: true when MinimiseCriteria names a price or Export_PriceInformation is on. If false, the chain cache keeps no prices and the price integrity checks are skipped. |