-
Notifications
You must be signed in to change notification settings - Fork 26
Notes on UAL code merger
This document is a description of the merger of the UAL code into merger. The work was done between Feb-April of 2017 by @fscottfoti. Is is divided into sections of the type of changes that were made.
I’m not sure of this, but I think orca_test does multi-level joins to test foreign keys. Doesn’t this have a huge performance impact? Opened issue on orca_test, not our responsibility to fix
On that note, we should test the performance of non-ual flow vs ual flow. Understood at this point. With performance bug fix in urbansim and fix in orca_test, ual code is only 7 minutes additional.
does assigning tenure using higher of rent and price really work? map and exploratory analysis of the hedonic results, especially over time?
related issue, we do supply and demand for each of rent and own, but not across rent and own. If we want to use price/rent to pick tenure, don’t we need demand to drive price/rent.
Seems like using rent vs price to allocate unit tenure w/o considering demand can leave unplaced households. Good from a modeling perspective, bad from MTC’s perspective. Similar question to running hlcms before developer - running after guarantees placement at the end of the run… We should make a test in summary.py or similar that all households and jobs get placed. From an MTC perspective, that’s an error.
ual.py line 291 - seems to use 1 and 2 for rent/own, why not “rent” and “own”
whether to prefix methods with ual_, call file ual.py, etc
Still need to do something about ual_settings
Looks like non_residential_price should be non_residential_rent. (Not related to ual code)
ual_update_building_residential_price - maybe should be an aggregation xwvariable instead of an orca step? I think it’s a step so the building model can run or the unit model can run, but if we drop the building model, maybe we can drop this one too in favor of aggregation variables.
drop current building-style hedonics and lcms?
initialization should be moved to baus preprocessing step
Need to verify how new hlcms segment on income, and remove baus variables for vacant affordable and market rate units and replace with new version.
Need to move treatment of deed restricted units into new hlcm models and attach to units
If we drop the old model sequence we can clean up the two simulations types in baus.py
I actually like reconcile_placed_households to keep building_id and unit_id in sync. If we’re going that far, can we add parcel_id too? We could simplify a lot of 2-level joins and make them 1-level. If we drop building_ids, we will need 3-level joins. (Decided to leave this one as-is.)
There are now three cap rates in play - one is in ual_settings, one is here and one is implicit here - also it’s a good idea to clean up the building price calculations to include the new difference between owner and rental housing, and a better computation of land price
The core urbansim crashes when doing an lcm with no alternatives, which is a problem when running the unplaced hlcm on the renter side (no unplaced renters)
hownrent should just be called tenure?
deed restricted units were moved to the unit table