#include "link.inc" #include "node.inc" #include "move.inc" #include "detect.inc" #include "path.inc" #include "cms.inc" #include "spstruct.inc" STRUCTURE /Road_Network/ INTEGER*2 nnodes ! # of nodes RECORD /Node_Data/ node(NU_NO+1) ! storage for nodes INTEGER*2 nlinks ! # of links RECORD /Link_Data/ link(NU_LI+1) ! storage for links INTEGER nmoves ! # of link to link movements RECORD /Move_Data/ movement(NU_MV) ! storage for link to link ! movements INTEGER*2 nodenum(MAX_NO) ! pointer from user node number to ! DYNASMART compressed node numbers RECORD /forwardstar/ fs ! forward star data (actually ! backward star, but wholl ! notice? ha ha ha!) RECORD /Sp_Data/ spd ! network shortest path data ! structures cr RECORD /outputd/ eqpd ! equilibrium shortest path data RECORD /linkoutputd/ leqpd ! test of efficient link-based path storage INTEGER*2 lanemove(6,MAX_LANE_TYPE) ! list of lane types which serve ! each of the 6 distinct movement ! types (in order of preference) REAL lanesat(MAX_LANE_TYPE) ! ideal saturation flow rate ! associated with each of the ! MAX_LANE_TYPE lane types available INTEGER npp ! total # of equilibrium paths in ! the network INTEGER ncp ! total # of cms paths in the ! network INTEGER eqpathsteps ! ? RECORD /Path_Data/ eqpath(MAX_EQP) ! storage for eq paths RECORD /Path_Data/ cmspath(MAX_CMSP) ! storage for cms paths INTEGER numcms INTEGER cmsnumber(MAX_CMS_NUMBER) ! pointer from user CMS ! number to DYNA CMS number RECORD /CMS_Data/ cms(MAX_CMS) ! cms INTEGER numph ! total number of phases RECORD /Phase_Data/ phase(NU_PH) ! storage for signal phase ! data INTEGER*2 nstations ! # of detector stations INTEGER rollpnt ! detector rolling horizon ! counter REAL stationacc ! debug variable indicating ! the accuracy of detector ! counts versus actual flows RECORD /Dyna_Detector_Station/ station(MAX_DETECTOR_STATIONS) INTEGER numact ! # of actuations (for ! connection with external ! modules on the TW) RECORD /Dyna_Actuation/ actuation(MAX_ACTUATIONS) ! act data * NOTE: . Tagged vehicles are those which are being used for statistics * . Info vehicles are those which are receiving route guidance * information INTEGER ngen_tag ! # of tagged vehicles generated INTEGER nin_tag ! # of tagged vehicles in the network INTEGER nout_tag ! # of tagged vehicles out of network INTEGER nout_info ! # of info vehicles out of network REAL info_time_tag ! total travel time of all vehicles ! receiving information REAL noinfo_time_tag ! total travel time of all vehicles ! *not* receiving information REAL info_dly_tag ! total delay time of all vehicles ! receiving information REAL noinfo_dly_tag ! total delay time of all vehicles not ! receiving information REAL info_dist_tag ! total travel distance of all ! vehicles receiving information REAL noinfo_dist_tag ! total travel distance of all ! vehicles *not* receiving ! information INTEGER ngen_nontag ! # of non-tagged vehicles generated INTEGER nin_nontag ! # of non-tagged vehicles in the ! network INTEGER nout_nontag ! # of non-tagged vehicles out of ! network INTEGER info_trip_len_freq(MAX_TRIP_LENGTH_BINS+1) INTEGER noinfo_trip_len_freq(MAX_TRIP_LENGTH_BINS+1) INTEGER icount_stop ! # of static timesteps (those in ! which the number of tagged ! vehicles in hasnt changed, for ! debugging) INTEGER oldnumcars ! temporary storage variable C Options INTEGER*2 use_signals LOGICAL normalize_links LOGICAL use_link_iden END STRUCTURE