Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TODO: Add wheelchair accessibility limitations to workflow #25

Open
7 tasks done
zneedell opened this issue Aug 18, 2022 · 3 comments · May be fixed by #26
Open
7 tasks done

TODO: Add wheelchair accessibility limitations to workflow #25

zneedell opened this issue Aug 18, 2022 · 3 comments · May be fixed by #26

Comments

@zneedell
Copy link

zneedell commented Aug 18, 2022

Here's a list of changes that need to happen for us to successfully reproduce the wheelchair accessibility runs within PILATES:

  • Add wheelchair attribute to ActivitySim inputs. The easiest way to do this is probably to just modify the persons table in the custom_mpo_06197001_model_data.h5 urbansim data input file to include a wheelchair attribute (important to make sure we do this for the correct year). The starting file is available here, and BEAM expects a column in the persons.csv file titled in_wheelchair that is set to either True or False. @nazanin87.
  • Make sure wheelchair attribute is visible to ActivitySim in PILATES. Probably will be true by default if it's in the h5 file but worth confirming. @zneedell
  • Change ASim config to use different wait times depending on disability status. Let's create a new branch of the asim config repo where we modify the wait times in the trip and tour mode choice. I think the first step is to create a target requires_wheelchair by adding a line to the annotate_persons script here. As far as I can tell this script should have access to all of the columns that are in the persons file in the input h5 directory. I think doing this should make the boolean requires_wheelchair attribute available whenever we're doing mode choice. The wait times are constructed here and here. We'd need to change the existing logic, e.g.

odt_skims['RH_SOLO_WAIT'] * (1.0 - odt_skims['RH_SOLO_REJECTIONPROB']) + TNC_missed_trip_penalty * odt_skims['RH_SOLO_REJECTIONPROB']

to something that accounts for the requires_wheelchair attribute, so e.g. something like

np.where(df.requires_wheelchair,odt_skims['RH_SOLO_ACCESSIBLE_WAIT'] * (1.0 - odt_skims['RH_SOLO_ACCESSIBLE_REJECTIONPROB']) + TNC_missed_trip_penalty * odt_skims['RH_SOLO_ACCESSIBLE_REJECTIONPROB'],odt_skims['RH_SOLO_WAIT'] * (1.0 - odt_skims['RH_SOLO_REJECTIONPROB']) + TNC_missed_trip_penalty * odt_skims['RH_SOLO_REJECTIONPROB'])

I'm hoping that requires_wheelchair will automatically make it over to df, but it might take some additional work if not. @nazanin87

  • Update PILATES to create separate wheelchair / non-wheelchair skims. New pilates branch wheelchair-ridehail-skims
  • Upload new BEAM docker image with wheelchair code. There is now a BEAM image on dockerhub at the location zaneedell/beam:0.wheelchair.0
  • Create beam data repo branch with wheelchair inputs. There is now a beam-data repo pilates-wheelchair
  • Set up PILATES scenarios with different fleet penetration of accessible vehicles. @nazanin87 with help from @cristian-poliziani
@cristian-poliziani
Copy link
Collaborator

cristian-poliziani commented Aug 18, 2022 via email

@zneedell
Copy link
Author

Draft PR that should allow this on the skims end in PILATES: #26

@cristian-poliziani
Copy link
Collaborator

cristian-poliziani commented Oct 11, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants