c--------------------------------------------------- c parameter setting c--------------------------------------------------- c -- c -- no_nu : node_number c -- li_nu : link_number c -- nu-ve : vehicle number c -- nu_en : entry vehicle number c -- nu_ph : total phase number ( no_nu * 6 ) c -- nu_de : intervals of average flow rate c -- IMPLICIT NONE !anh: 483, test: 50 #define NU_NO 490 !maximum user node number #define MAX_NO 10000 !anh: 1054, test: 168 #define NU_LI 1060 !anh-orig: >2145, anh: 1909, test: 469 #define NU_MV 4000 !anh: 25000, test: #define NU_VE 50000 !100000 !anh:120000, test: #define MAX_VE 220000 !220000 !max # of zones #define NU_ZN 110 !max zone number !952 anaheim-orig, #define MAX_ZN_NU 975 #define NU_PA 90 !Anaheim needs 341 #define NU_PH 5000 !87500) !87500) !5000) ! #define MAX_EQP 1 !30000 #define MAX_CMSP 500 !Maximum number of files (input and output) #define MAX_FILES 75 #define K_EQ 5 #define K_SP 5 #define MAX_PLAN_PHASE 8 #define NU_CMS 10 !number of timesteps over which to average #define NU_DS 50 #define MAX_LANE_TYPE 17 #define MAX_MOVE_TYPE 7 #define MAX_LINK_TYPE 6 #define MAX_IN MAX_MOVE_TYPE #define MAX_OUT MAX_MOVE_TYPE #define MAX_PLAN 30 !100 for anaheim #define MAX_GENERATION_LINKS NU_LI/4 #define MAX_TRANSFER_VEH 80 #define MAX_LINK_TRANSFER 800 #define MAX_INTRAS_LINKS 100 #define GEOMETRY_FILE 41 #define DEMAND_FILE 42 #define PARAMETER_FILE 43 #define SIGNAL_FILE 44 #define DETECTOR_FILE 45 #define MOVE_FILE 47 #define LEFT_CAP_FILE 48 #define EXT_PATH_FILE 49 #define ERROR_FILE 151 #define LANE_FILE 152 #define INTEGRATE_FILE 153 #define CMS_FILE 154 #define LINK_STAT_FILE 801 #define SIMOUT_FILE 999 #define TRANSIT_SIM_FILE 201 #define NODE_FILE 601 #define LINK_FILE 602 #define ZONE_FILE 603 #define INCIDENT_FILE 700 #define ON_ALL 0 #define ON_LINK 1 #define ON_ENDQ 2 #define ON_GENQ 3 #define INFINITY 999999 #define NIL 0 #define NULLP -1 #define STDERR 0 #define STDOUT 1 #define STATUS 2 #define SOTIME 3 #define DENSMAX 264 #define DENSJAM 160 !Jam speed in mi/min #define EPS 0.1 #define MAX_INCIDENTS 5 #define MAX_INCIDENT_EFFECTS 10 C Variables for defining detectors and calculating their actuations #define MAX_DETECTOR_STATIONS 700 #define MAX_TIME_STEPS 1 #define MAX_LANES 10 #define MAX_LINK_STATIONS 2 !100) !3300) #define MAX_ACTUATIONS 3300 #define DET_IDLE 0 #define DET_ACTIVE 1 #define ENTRYMX 30.0 #define MTNUM 1 #define MAX_CLARGS 20 !max sat flow rate in vps #define maxsat 1.0 #define SIM_UNINIT -2 #define SIM_ERROR -1 #define SIM_IN_PROGRESS 0 #define SIM_COMPLETE 1 #define SIM_MAX_TIME 2 #define MAX_DEMAND_INTERVALS 20 C in feet #define AVGVEHLEN 20.0 STRUCTURE /Vehicle_List/ C - Data for a list element INTEGER first ! Pointer to first vehicle in list INTEGER last ! Pointer to last vehicle in list END STRUCTURE #define MAX_TRIP_LENGTH_BINS 10 C global function defs INTEGER LTR EXTERNAL LTR ! returns length of string less blanks REAL RAN1 EXTERNAL RAN1 ! returns a pseudo-random number REAL RTRI EXTERNAL RTRI C general purpose global storage CHARACTER ostr*1024 ! used in messages LOGICAL show_warnings COMMON /output_string/ ostr,show_warnings C ERRORS #define DYNA_NONFATAL_WARNING -50001 #define DYNA_FATAL_ERROR -50002 #define DYNA_LOGIC_BUG -50101 #define DYNA_OUT_OF_MEMORY -50102 #define DYNA_INPUT_ERROR -50103 #define DYNA_OPERATIONS_BUG -50104 #define DYNA_NO_CONTROL_FILE -50105 #define DYNA_INCONST_MOVES -51001 #define DYNA_TOO_MANY_VEH -51002 #define DYNA_NONGEN_ZONE -51003 #define DYNA_CMSPATH_NODEST -51004 #define DYNA_PATH_NOMOVE -51005 #define DYNA_INVALID_NODENUM -51006 #define DYNA_INVALID_LINK -51007 #define DYNA_TOO_MANY_GENLINKS -51008 #define DYNA_INIT_PATHS_ERROR -51009 #define DYNA_INVALID_DESTNODE -51010 #define DYNA_ISOLATED_DEST -51011 #define DYNA_LANE_WITH_NO_MOVE -51012 #define DYNA_MOVE_WITH_NO_LANE -51013 #define DYNA_INVALID_TLEFT -51014 #define DYNA_INVALID_PATH -51015 #define DYNA_INVALID_LINK_COST -51016 #define DYNA_PATH_TOO_LONG -51017 #define DYNA_ILLEGAL_PATH_TYPE -51018 #define DYNA_MISSING_INPUT_FILE -51019 #define DYNA_BAD_VEH_LIST -51020 #define DYNA_INVALID_L2L_MOVE -51021 #define DYNA_TOO_MANY_EQ_PATHS -51022 #define DYNA_PENALTYCAL_ERROR -51023 #define DYNA_TOO_MANY_PHASES -51024 #define DYNA_INVALID_MOVE_TYPE -51025 #define DYNA_INVALID_CONTROL_TYPE -51026 #define DYNA_TOO_MANY_ZONES -51027 #define DYNA_TOO_MANY_NODES -51028 #define DYNA_DEST_ZONE_DISCREP -51029 #define DYNA_TOO_MANY_LINKS -51030 #define DYNA_CUM_DEM_OVER_1 -51031 #define DYNA_CUM_DEM_UNDER_1 -51032 #define DYNA_INVALID_GETLINK -51033 #define DYNA_VEH_TLEFT -51034 #define DYNA_EXTERNAL_INIT_ERROR -51035 #define DYNA_ILLEGAL_UNIT_NUMBER -51036 #define DYNA_NO_GEN_LINKS -51037 #define DYNA_TOO_MANY_CMS -51038 #define DYNA_DUPLICATE_CMS -51039 #define DYNA_INVALID_CMS_NUMBER -51040 #define DYNA_INVALID_MSG_NUMBER -51041 #define DYNA_TOO_MANY_MSGS -51042 #define DYNA_ILLEGAL_MOVEMENT -51043 #define DYNA_INVALID_VEHICLE -51044 #define DYNA_INVALID_DEMAND_INT -51045 #define DYNA_NO_GREEN_TIME -51046 #define DYNA_NO_MIN_LANE -51047 #define DYNA_TOO_MANY_MOVES -51048 #define DYNA_INVALID_CHOICE_RULE -51049 #define DYNA_NULL_LANE_MILES -51050 #define DYNA_INVALID_CLARG -51051 #define DYNA_INVALID_ZONE_NUMBER -51052 #define DYNA_INVALID_OPTION -51053 #define DYNA_BAD_GENERATION_TYPE -51054 #define DYNA_NO_INPUT_AVAILABLE -51900 #define DYNA_UNKNOWN_ERROR -51999