#include "time.inc" #include "incident.inc" #define SIM_DFLT_TIMESTEP 0.1 #define SIM_DFLT_KAY 1 #define SIM_DFLT_MAX_TIME 60.0 #define SIM_DFLT_STARTTM 0.0 #define SIM_DFLT_ENDTM SIM_DFLT_MAX_TIME/2 #define SIM_DFLT_STARTFROM 0.0 #define SIM_DFLT_KSPSTEP 50 #define SIM_DFLT_PUSTEP 10000 #define SIM_DFLT_KEQPSTEP 10000 #define SIM_BR_ROUTING 0 #define SIM_LOGIT_ROUTING 1 #define SIM_DFLT_TTIME_BIN_LEN 3.0 #define SIM_DFLT_NUM_TTIME_BINS 11 STRUCTURE /Sim_Data/ C - Iteration vars INTEGER*2 iter ! iteration number INTEGER*2 maxiter ! maximum number of iterations allowed INTEGER status ! status/error flag C - Time vars REAL timestep ! length of time step in minutes REAL maxtime ! maximum duration of simulation RECORD /Time_Data/ time ! time structure (see above) C - Counters INTEGER jj ! total number of vehicles generated RECORD /Vehicle_List/ freeslot C Options INTEGER*2 kay ! number of shortest paths to ! calculate in the k-short routine INTEGER iseed ! random number seed INTEGER*2 ipinit ! initial path selection flag REAL starttm ! start time of statistics collection REAL endtm ! end time of statistics collection INTEGER watchnode ! (user) node number to "watch" ! (i.e. dump to external monitoring ! utilities INTEGER*2 iqwait !(1 if entry queue time counts as travel time) INTEGER*2 kspstep ! Frequency at which to update ! shortest paths INTEGER*2 pustep ! Frequency at which path times are updated INTEGER*2 keqpstep ! Frequency at which to update ! equilibrium paths INTEGER*2 route_choice_rule ! 0=Boundedly rational, ! 1=Logit split REAL logit_smooth_factor ! used to increase/reduce the ! relative disutilities of paths ! (each path time is multiplied ! by this factor) INTEGER veh_ptr(MAX_VE) ! Pointer to storage location of ! each vehicle (= 0 if never ! generated, = -1 if exited) INTEGER*2 delayrhind ! rolling horizon index for the delay ! calculations INTEGER*2 volumerhind ! rolling horizon index for the ! movement volume calculations REAL do_inc_det ! movement incident detection ! threshold REAL cms_response_level ! The percent of vehicles which ! will follow CMS advisories REAL ttime_bin_length ! The length (in minutes) of each ! travel time bin used in the ! calculation of the travel time ! distribution in the statistical ! output INTEGER num_ttime_bins ! The number of travel time bins to ! use to calculate the travel time ! distribution in the statistical ! output LOGICAL sticky_queues ! if true, vehicles must remain in a ! queue once theyve entered it CR: SHOULD BE IN SIM INTEGER numincidents RECORD /Incident_Data/ incident(MAX_INCIDENTS) END STRUCTURE