Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
86657d0
abm3 v15.2.1 updates
i-am-sijia Apr 7, 2025
41ad160
delete external_workplace_location_archive.csv
i-am-sijia Apr 23, 2025
e9467f7
revert settings change
i-am-sijia Apr 23, 2025
7f2c415
use miniforge
i-am-sijia Apr 23, 2025
fe84450
use existing skims .omx
i-am-sijia May 21, 2025
94c84ad
Merge branch 'pandas2' into abm3_v15.2.1
i-am-sijia Jun 27, 2025
7ef5fc9
Merge branch 'main' into abm3_v15.2.1
i-am-sijia Aug 22, 2025
6d84474
from v15.2.1 to v15.3.1
i-am-sijia Oct 8, 2025
fa98250
script for automatically diffing
i-am-sijia Oct 2, 2025
088534a
fix bugs in example specs
i-am-sijia Oct 8, 2025
4c32b93
small fix for running w sharrow
i-am-sijia Oct 9, 2025
5e679a0
update non-sharrow ref parquet
i-am-sijia Oct 9, 2025
6d6fda4
Merge remote-tracking branch 'origin/main' into sync_production_v15.3.1
i-am-sijia Oct 9, 2025
3f7e26a
add tele status to mp settings
i-am-sijia Oct 9, 2025
7ad53db
update non-sharrow ref
i-am-sijia Oct 10, 2025
8628ef6
tour mode choice spec sharrow changes
i-am-sijia Oct 10, 2025
7224ce0
add guidance on how to use the auto diff script
i-am-sijia Oct 10, 2025
1489ae8
remove expressions that add constants to trips df
jpn-- Oct 31, 2025
2bb7461
tidy example MAZ skims
jpn-- Oct 31, 2025
f534cd5
use constants not data columns in spec
jpn-- Oct 31, 2025
2379361
add purpose index num to preprocessor for sharrow
jpn-- Oct 31, 2025
973fb7b
update targets for legacy test
jpn-- Oct 31, 2025
3905756
update targets for sharrow test
jpn-- Nov 2, 2025
698199a
example script for small sharrow model
jpn-- Nov 2, 2025
35e0f6b
works with sharrow 2.15 and activitysim 1.5
jpn-- Nov 2, 2025
685b807
run-large-sharrow
jpn-- Nov 2, 2025
ad796e2
more readme
jpn-- Nov 2, 2025
5b99693
one fulldata script for sharrow and legacy
jpn-- Nov 2, 2025
5e88520
locks
jpn-- Nov 2, 2025
8aa6bf4
mp scripts
jpn-- Nov 3, 2025
f99d33c
update requirements
jpn-- Nov 3, 2025
bf04dce
reduce rtol to 1e-4 for cross platform testing
jpn-- Nov 3, 2025
d6ae41b
require sharrow 2.15
jpn-- Nov 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,3 @@ jobs:
run: |
source .venv/bin/activate
pytest ./test

25 changes: 25 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,28 @@ in this repository, using this command:
```
activitysim run -c configs/common -c configs/resident -d data -o output -s settings_mp.yaml --ext extensions
```

# Git diff with the ABM3 production model

The current guideline is that this example model _should_ be consistent with the [production model](https://github.com/SANDAG/ABM).

You can run the `diff_production_configs.py` script in this repo to automatically diff the example model configs with the production model configs.

## Usage
Basic exmaple - diff resident configs:
```
# Diff the resident configs of the latest release of production and the main branch of example
uv run python diff_production_configs.py -d resident
```

Specify release of the production model, branch of the example model, and the subdirectory:
```
# Specific release of production, branch of example, and subdirectory
uv run python diff_production_configs.py -r v15.3.1 -b main -d common
```

Show full diff output, not just file names:
```
# with full output
uv run python diff_production_configs.py -r v15.3.1 -b main -d common --full
```
126 changes: 55 additions & 71 deletions configs/common/constants.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,6 @@ NO_EXTERNAL: 0
# set below to be 1 for years before 2021, 0 otherwise
PRE_COVID: 0

walk_speed: 3 #mph

#HHT_NONE: 0
#HHT_FAMILY_MARRIED: 1
#HHT_FAMILY_MALE: 2
#HHT_FAMILY_FEMALE: 3
#HHT_NONFAMILY_MALE_ALONE: 4
#HHT_NONFAMILY_MALE_NOTALONE: 5
#HHT_NONFAMILY_FEMALE_ALONE: 6
#HHT_NONFAMILY_FEMALE_NOTALONE: 7

# convenience for expression files
HHT_NONFAMILY: [4, 5, 6, 7]
HHT_FAMILY: [1, 2, 3]
Expand Down Expand Up @@ -94,7 +83,7 @@ distributed_time_factor_max: 10

c_drive: 1.5

useAV: 0
AV_OWNERSHIP_TARGET_PERCENT: 0.0
autoIVTFactorAV: 0.75
autoParkingCostFactorAV: 0.5
autoCostPerMileFactorAV: 0.7
Expand All @@ -103,34 +92,15 @@ minAgeDriveAloneAV: 13


#valueOfTime: 8.00
costPerMile: 18.29
costShareSr2: 1.75
costShareSr3: 2.50
waitThresh: 10.00
walkThresh: 1.50
costPerMile: 32.5
shortWalk: 0.333
longWalk: 0.667
walkSpeed: 3.00
bikeThresh: 6.00
bikeSpeed: 7.80
ebikeSpeed: 10.00
escooterSpeed: 6.70
driveSpeed: 25.00
maxCbdAreaTypeThresh: 2
indivTour: 1.00000

#### [NICK] WHAT ARE THESE? DO WE EVEN NEED THESE?
upperEA: 5
upperAM: 10
upperMD: 15
upperPM: 19

# SHOULD IT BE THIS?
# upperEA: 6
# upperAM: 12
# upperMD: 25
# upperPM: 32

### Crosswalk between SOC codes and SANDAG occupation classification
soc_occupation_xwalk:
11: mngt_busi_scic_arts # 11 - Management Occupations
Expand Down Expand Up @@ -159,9 +129,9 @@ soc_occupation_xwalk:
99: # 99 - Non-workers, Code not part of SOC system

# RIDEHAIL Settings
Taxi_baseFare: 2.20
Taxi_costPerMile: 2.30
Taxi_costPerMinute: 0.10
Taxi_baseFare: 3
Taxi_costPerMile: 3.3
Taxi_costPerMinute: 0.46
Taxi_waitTime_mean:
1: 5.5
2: 9.5
Expand All @@ -175,10 +145,10 @@ Taxi_waitTime_sd:
3: 6.4
4: 6.4
5: 6.4
TNC_single_baseFare: 2.20
TNC_single_costPerMile: 1.33
TNC_single_costPerMinute: 0.24
TNC_single_costMinimum: 7.20
TNC_single_baseFare: 3.31
TNC_single_costPerMile: 0.96
TNC_single_costPerMinute: 0.33
TNC_single_costMinimum: 9.19
TNC_single_waitTime_mean:
1: 3.0
2: 6.3
Expand All @@ -191,10 +161,10 @@ TNC_single_waitTime_sd:
3: 4.1
4: 4.1
5: 4.1
TNC_shared_baseFare: 2.20
TNC_shared_costPerMile: 0.53
TNC_shared_costPerMinute: 0.10
TNC_shared_costMinimum: 3.00
TNC_shared_baseFare: 1.66
TNC_shared_costPerMile: 0.48
TNC_shared_costPerMinute: 0.16
TNC_shared_costMinimum: 4.6
TNC_shared_IVTFactor: 1.5
TNC_shared_waitTime_mean:
1: 5.0
Expand All @@ -210,35 +180,25 @@ TNC_shared_waitTime_sd:
5: 4.1
min_waitTime: 0
max_waitTime: 50
wait_time_distribution_by_density_breaks:
- 500
- 2000
- 5000
- 15000

ivt_lrt_multiplier: 0.65
# rapid bus wait time discount
WAIT_TIME_DISC: 1.0

ivt_lrt_multiplier: 0.85
ivt_brt_multiplier: 0.95
ivt_cmr_multiplier: 0.65
ivt_cmr_multiplier: 0.85
ivt_ltd_multiplier: 1.0
ivt_cost_multiplier: 0.6
# line-haul mode constants; note commuter rail is based on CMRIVTT. Also currently hyperloop is not applied because we do not skim hyperloop IVTT
eb_equiv_asc: 10
brt_equiv_asc: -5
lrt_equiv_asc: -20
hyp_equiv_asc: -20
lrt_equiv_asc: -30
pnr_lrt_equiv_asc: -20
#
walktimeshort_multiplier: 2
walktimelong_multiplier: 10
biketimeshort_multiplier: 4
biketimelong_multiplier: 20
short_i_wait_multiplier: 2
long_i_wait_multiplier: 1
wacc_multiplier: 2
wegr_multiplier: 2
waux_multiplier: 2
dtim_multiplier: 2
xwait_multiplier: 2
dacc_ratio: 0
xfers_wlk_multiplier: 10
xfers_drv_multiplier: 20
drvtrn_distpen_0_multiplier: 270
drvtrn_distpen_max: 15
density_index_multiplier: -0.2
# joint_sr2_ASC_no_auto: 0
# joint_sr2_ASC_auto_deficient: 0
Expand All @@ -262,11 +222,9 @@ zoo_maz: 10561
torrypines_maz: 4093

# Micromobility constants
microSpeed: 12
microVarCost: 20 #cents
microVarCost: 39 #cents
microFixedCost: 100 #cents
microRentTime: 1
microConstant: 60
microAccessThreshold: 100
ebikeownership: 0.008
ebikeMaxDist: 10.50
Expand All @@ -277,20 +235,46 @@ microtransitSpeed: 30
microtransitCost: 125 #cents
microtransitWaitTime: 12
microtransitMaxDist: 4.5
microtransitDiversionConstant: 5
microtransitDiversionConstant: 6
microtransitDiversionFactor: 1.25
microtransitStartPeriod: 9
microtransitEndPeriod: 32
nevSpeed: 17
nevCost: 125 #cents
nevWaitTime: 12
nevMaxDist: 3
nevDwellMinutesPerMile: 0.5
nevDiversionConstant: 5
nevDiversionConstant: 6
nevDiversionFactor: 1.25
maxWalkIfMTAccessAvailable: 0.5 # Maximum distance to walk to premium transit if microtransit access is available
nevStartPeriod: 9
nevEndPeriod: 38
maxWalkIfMTAccessAvailable: 1.0 # Maximum distance to walk to premium transit if microtransit access is available

# cost of "average" monthly transit pass cost. Used in transit pass ownership model.
# cost of pass divided by 2 for age < 18 and 65+.
monthly_transit_pass_cost: 100

# year after which a vehicle (therefore its household) must have transponder
hhTR_Vehyear: 2035
hhTR_Vehyear: 2029

# SHARED2 and SHARED3 Occupancies
OCC_SHARED2: 2.0
OCC_SHARED3: 3.33
# add TNC and Taxi Occupancies
OCC_TAXI: 1.1
OCC_TNC_SINGLE: 1.2
OCC_TNC_SHARED: 2.0

# EV Rebate constants
LowIncomeEVRebateCutoff: 3
MedIncomeEVRebateCutoff: 4
LowIncomeBEVRebate: 0
LowIncomePEVRebate: 0
MedIncomeBEVRebate: 0
MedIncomePEVRebate: 0

# MGRAs for Ports of Entry
SanYsidro_maz_id: 9279
OtayMesa_maz_id: 9387
Tecate_maz_id: 22324
OtayMesaEast_maz_id: 7123
37 changes: 0 additions & 37 deletions configs/common/network_los.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,6 @@ read_skim_cache: False
# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs
write_skim_cache: False

# taz_skims:
# - traffic_skims_processed_EA.omx
# - traffic_skims_processed_AM.omx
# - traffic_skims_processed_MD.omx
# - traffic_skims_processed_PM.omx
# - traffic_skims_processed_EV.omx
# #- transit_skims_processed.omx
# - transit_skims_EA.omx
# - transit_skims_AM.omx
# - transit_skims_MD.omx
# - transit_skims_PM.omx
# - transit_skims_EV.omx

# series15
taz_skims:
- traffic_skims*.omx
Expand All @@ -41,8 +28,6 @@ maz_to_maz:
skim_time_periods:
time_window: 1440
period_minutes: 30
# periods: [0, 11, 17, 30, 37, 48] # asim xborder
# periods: [0, 3, 9, 22, 29, 48] # ctramp xborder
periods: [0, 6, 12, 25, 32, 48] # time periods to match documentation
labels: &skim_time_period_labels ['EA', 'AM', 'MD', 'PM', 'EV']

Expand All @@ -51,25 +36,3 @@ demographic_segments: &demographic_segments
- &high_income_segment_id 1



# CONSTANTS:
# c_ivt: -0.028
# c_cost: -0.0011
# # transit "factors" from SANDAG
# eb_fac: 1.0
# brt_fac: 0.9000
# lrt_fac: 0.6500
# cr_fac: 0.6500
# hyp_fac: 0.6500
# # coeffs used in maz_tap and tap_tap utility expressions
# c_walk: 1.7
# c_fwt: 1.5
# c_waux: 2.5
# c_xwt: 2
# C_UNAVAILABLE: -9999
# # alternative-specific constants
# exp_asc: 10 # express bus asc
# brt_asc: -10 # BRT asc
# lrt_asc: -20 # LRT alternative-specific constant
# cr_asc: 0.00 # Commuter Rail alternative-specific constant

Loading