-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathrunSIMOR.bat
More file actions
104 lines (88 loc) · 3.31 KB
/
runSIMOR.bat
File metadata and controls
104 lines (88 loc) · 3.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
@ECHO OFF
SETLOCAL
::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: Run ActivitySim and associated scripts
::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: ---------------------------------------------------------------------------
:: Settings
:: ---------------------------------------------------------------------------
SET "BASE_DIR=%~dp0"
IF "%BASE_DIR:~-1%"=="\" SET "BASE_DIR=%BASE_DIR:~0,-1%"
SET "SKIM_DIR=%BASE_DIR%\skimming_and_assignment"
SET "MODEL_DIR=%BASE_DIR%\resident"
:: User-defined Visum version file and procedure sequence
SET "VISUM_VERSION_FILE=Metro_Model_v1_AllStreetsNetwork_MasterTransit_Visum26.ver"
SET "PROCEDURE_SEQ=%SKIM_DIR%\visum\config\visum_metro\SkimSequence_Metro.xml"
:: If separate pedestrian network provided, specify here. Leave empty otherwise.
@REM SET "VISUM_PED_VERSION_FILE=OSM_LCOG_DKS_v7.ver"
@REM SET "PED_PROCEDURE_SEQ=%SKIM_DIR%\visum\config\visum_lcog\SkimSequence_AllStreets_Export.xml"
SET "VISUM_PED_VERSION_FILE="
SET "PED_PROCEDURE_SEQ="
:: ---------------------------------------------------------------------------
:: Run environment setup (installs dependencies & exports Python paths)
:: ---------------------------------------------------------------------------
ECHO Running environment setup...
CALL "%BASE_DIR%\setup_environment.bat"
IF %ERRORLEVEL% NEQ 0 (
ECHO Environment setup failed. Aborting.
EXIT /B 1
)
ECHO.
ECHO Base directory: %BASE_DIR%
ECHO Model directory: %MODEL_DIR%
ECHO Skimming directory: %SKIM_DIR%
ECHO.
:: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: Skimming
:: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: Run motorized skims in Visum
ECHO.
ECHO Running motorized skims.
ECHO Visum version file: %VISUM_VERSION_FILE%
ECHO Procedure sequence: %PROCEDURE_SEQ%
CD /D "%SKIM_DIR%\visum"
"%PYTHON_VISUM%" Visum_Runner.py "%VISUM_VERSION_FILE%" "%PROCEDURE_SEQ%"
IF %ERRORLEVEL% NEQ 0 GOTO MODEL_ERROR
ECHO Motorized skims complete.
IF DEFINED VISUM_PED_VERSION_FILE (
ECHO.
ECHO Exporting pedestrian network from: %VISUM_PED_VERSION_FILE%
CD /D "%SKIM_DIR%\visum"
"%PYTHON_VISUM%" Visum_Runner.py "%VISUM_PED_VERSION_FILE%" "%PED_PROCEDURE_SEQ%"
IF %ERRORLEVEL% NEQ 0 GOTO MODEL_ERROR
ECHO Pedestrian network exported.
)
:: Run non-motorized skims in Python
ECHO.
ECHO Running non-motorized skim preprocessor.
CD /D "%SKIM_DIR%\maz_maz_stop_skims"
"%PYTHON_MAZ_SKIMMING%" 2zoneSkim_preprocessor.py 2zoneSkim_params.yaml
IF %ERRORLEVEL% NEQ 0 GOTO MODEL_ERROR
ECHO.
ECHO Running non-motorized skims.
"%PYTHON_MAZ_SKIMMING%" 2zoneSkim.py 2zoneSkim_params.yaml
IF %ERRORLEVEL% NEQ 0 GOTO MODEL_ERROR
ECHO Non-motorized skims complete.
:: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: Run ActivitySim -- full integration not yet implemented
:: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ECHO.
ECHO Running ActivitySim preprocessor.
CD /D "%MODEL_DIR%"
"%PYTHON_ACTIVITYSIM%" preprocessor.py preprocessor_settings.yaml
IF %ERRORLEVEL% NEQ 0 GOTO MODEL_ERROR
ECHO ActivitySim preprocessor complete.
ECHO.
ECHO Running ActivitySim (test cropped example)
"%PYTHON_ACTIVITYSIM%" resident\simulation.py -c resident\configs -d resident\model_data\metro\data_cropped -o outputs\cropped
IF %ERRORLEVEL% NEQ 0 GOTO MODEL_ERROR
ECHO ActivitySim complete.
ECHO.
ECHO All steps completed successfully.
ENDLOCAL
GOTO :EOF
:MODEL_ERROR
ECHO.
ECHO ERROR: A step failed. Check the output above for details.
ENDLOCAL
EXIT /B 1