Skip to content

Commit

Permalink
Merge pull request #50 from SANDAG/update_docs
Browse files Browse the repository at this point in the history
Documentation Update
  • Loading branch information
AshishKuls authored Aug 31, 2023
2 parents 7be0b76 + ebf4742 commit 5b38149
Showing 1 changed file with 33 additions and 33 deletions.
66 changes: 33 additions & 33 deletions docs/development.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Needs
## Needs
The time needed to configure, run, and summarize results from ABM2+ is too slow to support a nimble, challenging, and engagement-oriented planning process. SANDAG needed a tool that quickly approximates the outcomes of ABM2+. The rapid strategic model, or RSM, was built for this purpose.

ABM2+ Schematic is shown below
Expand Down Expand Up @@ -42,34 +42,34 @@ The user can also control the execution of the zone aggregator from the properti
#### Input Aggregator
The input aggregator module of RSM aggregates several input files, uec (soa) files, non-abm model outputs of the donor model based on the new RSM zones. The main inputs to this module include the location of the donor model, RSM socioeconomic file, TAZ and MGRA crosswalks. The module reads the original socioeconomic file and adds intersection count and several density variables that were originally generated by the 4D module of the current ABM2+ model. This is done here in RSM because the 4D module is skipped when running RSM. The module then uses the MGRA crosswalks between MGRA and RSM zones to aggregate the original socioeconomic file data based on the new RSM zones to create a new RSM specific socioeconomic file. Next, the module aggregates the following input files:

| File Name | Aggregation Columns | Aggregation Methodology |
| ------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| microMgraEquivMinutes.csv | walkTime, dist, mmTime, mmCost, mtTime,<brmtCost, mmGenTime, mtGenTime, minTime | Mapped MGRA to RSM zones and aggregated the columns by taking mean. |
| microMgraTapEquivMinutes.csv | walkTime, dist, mmTime, mmCost, mtTime,<br>       mtCost, mmGenTime, mtGenTime, minTime | Mapped MGRA to RSM zones and aggregated the columns by taking mean. |
| walkMgraTapEquivMinutes.csv | boardingPerceived, boardingActual,alightingPerceived,<br>alightingActual,boardingGain,alightingGain | Mapped MGRA to RSM zones and aggregated the columns by taking mean. |
| walkMgraEquivMinutes.csv | percieved,actual, gain | Mapped MGRA to RSM zones and aggregated the columns by taking mean. |
| bikeTazLogsum.csv | logsum, time | Mapped TAZ to RSM zones and aggregated the columns by taking the mean. |
| bikeMgraLogsum.csv | logsum, time | Mapped MGRA to RSM zones and aggregated the columns by taking the mean. |
| zone.term | terminal_time | Mapped TAZ to RSM zones and took the maximum. |
| zones.park | park_zones | Mapped TAZ to RSM zones and took the maximum. |
| tap.ptype | | Mapping RSM zones to TAZs |
| accessam.csv | TIME, DISTANCE | |
| ParkLocationAlts.csv | parkarea | Mapped MGRA to RSM zones and took the minimum. |
| CrossBorderDestinationChoiceSoaAlternatives.csv | Mapping RSM zones to MGRA |
| TourDcSoaDistanceAlts.csv | a, mgra | It is recreated with RSM zones |
| DestinationChoiceAlternatives.csv | a, mgra | It is recreated with RSM zones |
| SoaTazDistAlts.csv | a, dest | It is recreated with RSM zones |
| TripMatrices.csv | CVM_<<time_period>>:LT, CVM_<<time_period>>:IT, CVM_<<time_period>>:MT, CVM_<<time_period>>:HT,<br>CVM_<<time_period>>:LNT, CVM_<<time_period>>:INT, CVM_<<time_period>>:MNT, CVM_<<time_period>>:HNT<br>where TIME PERIOD = EA, AM, MD, PM, EV | Mapped TAZ to RSM zones and aggregated the columns by taking the sum. |
| transponderModelAccessibilities.csv | DIST,AVGTTS,PCTDETOUR | Mapped TAZ to RSM zones and aggregated the columns by taking the mean. |
| crossBorderTours.csv | | Mapped MGRA/TAZs to RSM zones |
| internalExternalTrips.csv | | Mapped MGRA/TAZs to RSM zones |
| visitorTours.csv | | Mapped MGRA to RSM zones |
| visitorTrips.csv | | Mapped MGRA to RSM zones |
| householdAVTrips.csv | | Mapped MGRA to RSM zones |
| airport_out.SAN.csv | | Mapped MGRA/TAZ to RSM zones |
| airport_out.CBX.csv | | Mapped MGRA/TAZ to RSM zones |
| TNCtrips.csv | | Mapped MGRA/TAZ to RSM zones |
| TRIP_<<SECTOR_TYPE>>_<<TIME_PERIOD>>.CSV<br>where SECTOR_TYPE = FA, GO, IN, RE, SV, TH, WH<br>TIME_PERIOD = OE, AM, MD, PM, OL | | Mapped TAZ to RSM zones |
| File Name | Aggregation Columns | Aggregation Methodology |
| --------- | ------------------- | ----------------------- |
| microMgraEquivMinutes.csv | walkTime, dist, mmTime, mmCost, mtTime, mtCost, mmGenTime, mtGenTime, minTime | Mapped MGRA to RSM zones and aggregated the columns by taking mean. |
| microMgraTapEquivMinutes.csv | walkTime, dist, mmTime, mmCost, mtTime, mtCost, mmGenTime, mtGenTime, minTime | Mapped MGRA to RSM zones and aggregated the columns by taking mean. |
| walkMgraTapEquivMinutes.csv | boardingPerceived, boardingActual, alightingPerceived, alightingActual, boardingGain, alightingGain | Mapped MGRA to RSM zones and aggregated the columns by taking mean.|
| walkMgraEquivMinutes.csv | percieved, actual, gain | Mapped MGRA to RSM zones and aggregated the columns by taking mean. |
| bikeTazLogsum.csv | logsum, time | Mapped TAZ to RSM zones and aggregated the columns by taking the mean. |
| bikeMgraLogsum.csv | logsum, time | Mapped MGRA to RSM zones and aggregated the columns by taking the mean. |
| zone.term | terminal_time | Mapped TAZ to RSM zones and took the maximum.|
| zones.park | park_zones | Mapped TAZ to RSM zones and took the maximum.|
| tap.ptype | | Mapping RSM zones to TAZs |
| accessam.csv | TIME, DISTANCE | |
| ParkLocationAlts.csv | parkarea | Mapped MGRA to RSM zones and took the minimum.|
| CrossBorderDestinationChoiceSoaAlternatives.csv | | Mapping MGRA to RSM Zones|
| TourDcSoaDistanceAlts.csv | a, mgra | It is recreated with RSM zones |
| DestinationChoiceAlternatives.csv | a, mgra | It is recreated with RSM zones|
| SoaTazDistAlts.csv | a, dest | It is recreated with RSM zones |
| TripMatrices.csv | CVM_ XX:LT, CVM_ XX:IT, CVM_ XX:MT, CVM_ XX:HT,<br>CVM_XX:LNT, CVM_XX:INT, CVM_XX:MNT, CVM_XX:HNT<br>where XX = EA, AM, MD, PM, EV | Mapped TAZ to RSM zones and aggregated the columns by taking the sum. |
| transponderModelAccessibilities.csv | DIST,AVGTTS,PCTDETOUR | Mapped TAZ to RSM zones and aggregated the columns by taking the mean. |
| crossBorderTours.csv | | Mapped MGRA/TAZs to RSM zones |
| internalExternalTrips.csv | | Mapped MGRA/TAZs to RSM zones |
| visitorTours.csv | | Mapped MGRA to RSM zones |
| visitorTrips.csv | | Mapped MGRA to RSM zones |
| householdAVTrips.csv | | Mapped MGRA to RSM zones |
| airport_out.SAN.csv | | Mapped MGRA/TAZ to RSM zones |
| airport_out.CBX.csv | | Mapped MGRA/TAZ to RSM zones |
| TNCtrips.csv | | Mapped MGRA/TAZ to RSM zones |
| TRIP_ST_XX.CSV<br>where ST (Sector Type) = FA, GO, IN, RE, SV, TH, WH; XX (Time Period) = OE, AM, MD, PM, OL | | Mapped TAZ to RSM zones |

More details on the the above files can be found [here](https://github.com/SANDAG/ABM/wiki/input-files).

Expand All @@ -85,14 +85,14 @@ The sampler function follows these primary steps:
1. **Zone Mapping**: The function maps zones from the synthetic households/person data to their corresponding RSM zones using crosswalk data.

2. **Household Sampling**:
- If accessibility data is missing (first iteration) or if the RSM sampler is turned off, a default sampling rate is applied to all RSM zones, with optional 100% sampling in the study area.
- If accessibility data is available and the RSM sampler is turned on, the function calculates differences in accessibility metrics between the current and previous iterations. The sampling rates are determined based on these differences and are adjusted to be within specified bounds. The RSM zones of the study area are sampled at a 100% sampling rate if the differential sampling indicator is turned on.
- If accessibility data is missing (first iteration) or if the RSM sampler is turned off, a default sampling rate is applied to all RSM zones, with optional 100% sampling in the study area.
- If accessibility data is available and the RSM sampler is turned on, the function calculates differences in accessibility metrics between the current and previous iterations. The sampling rates are determined based on these differences and are adjusted to be within specified bounds. The RSM zones of the study area are sampled at a 100% sampling rate if the differential sampling indicator is turned on.

3. **Households and Persons Selection**: The function selects households based on the calculated sampling rates. It also selects persons associated with the sampled households.

4. **Output**:
- The selected households and persons are written to output CSV files in the specified output directory.
- The function also computes and logs the total sampling rate, representing the proportion of selected households relative to the total number of households.
- The selected households and persons are written to output CSV files in the specified output directory.
- The function also computes and logs the total sampling rate, representing the proportion of selected households relative to the total number of households.

Note that in the current RSM deployment, sampler is set to use 25% default sampling rate. The intelligent sampler needs further testing to be used to sample households using the accessibility change.

Expand Down

0 comments on commit 5b38149

Please sign in to comment.