Skip to content

Branch blending - merging main and fbp_mod_update genealogies - #397

Open
akselx wants to merge 172 commits into
mainfrom
main_dev
Open

akselx wants to merge 172 commits into
mainfrom
main_dev

Conversation

@akselx

@akselx akselx commented May 7, 2026

Copy link
Copy Markdown

This pull request is mainly a bridge between separate branch development efforts - one branch (main) focused on runtime enhancements, while the other (fbp_mod_updates) was focused on model application refinements. Together, they blend several enhancements and debugging improvements across the codebase, primarily focused on increased logging, more robust data handling, and improved reproducibility for model runs, capturing development work up to Plan Bay Area 2050 Plus Final Blueprint Phase.

Note that the (main_dev) branch was a short term stepping stone branch for merging and testing before folding fbp_mod_updates into main.

The changes impact the documentation deployment workflow, environment setup, and multiple modeling steps. The most important changes are summarized below:

Documentation and Environment Setup:

  • Added a new GitHub Actions workflow (.github/workflows/push-docs.yml) to automate building and deploying documentation to the gh-pages branch using mike and mkdocs.
  • Updated baus-env-2023.yml to pin dependencies, add pip, and install urbansim and urbansim_defaults directly from GitHub, improving reproducibility and flexibility.

Debugging and Logging Enhancements:

  • Added detailed logging statements throughout baus/models.py and baus/subsidies.py, including random seed checks, relocation rate summaries, feasibility and limits diagnostics, and preservation accounting. This will help with tracking model state and debugging during simulation runs.

Model Logic and Data Handling Improvements:

  • Improved the alt_feasibility and developer steps to better handle configuration overrides and provide more transparent feasibility diagnostics.
  • Refactored the preserve_affordable step to use orca.merge_tables for joining multiple sources, switched to a set for tracking preserved units to avoid duplicates, and added detailed accounting and output for preserved units.

Bug Fixes and Minor Adjustments:

  • Changed the employment location model (elcm_simulate_ec5) to only skip simulation for years before 2030 (was previously <=2030).
  • Updated the source file for BART station locations to use 2020 data in the local_pois accessibility step.
  • Fixed a bug in the inclusionary housing step by renaming a nested function to avoid confusion and ensure correct calculation.

Thanks to @lmz , @jdahren , @yuqiww

akselx and others added 30 commits July 30, 2024 10:58
There was a typo in the area definition name - `GG_nonPDA` is defined as growth geography areas that are NOT also PDAs - but the code had selected PPAs instead of PDAs.
As an arms length process running separately and focused on generic summarization of mostly CSVs, we can use a more up to date pandas version.
…oningmodcat, not more general parcels_geography_cols
jdahren and others added 30 commits October 9, 2025 17:30
main_dev is based on fbp_mod_updates, which contains the PBA50plus-era
core simulation with updated growth geographies. This merge integrates
usability enhancements from main while preserving core simulation logic.

Key additions from main:
- Modular slack/debug modules (baus/slack.py, baus/debug.py)
- Configurable simulation years support
- 2020-based run support
- Enhanced CLI options and logging
- yaml.safe_load() for security
- Code quality improvements

Conflicts resolved manually to maintain compatibility between
fbp_mod_updates core and main enhancements.
Replaced merged baus.py with main branch version to get all B1 enhancements
(modular slack, configurable years, enhanced CLI) cleanly without conflicts.
parcel_id is the standard parcel identifier

This branch has not been deployed

No deployments
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 this pull request may close these issues.

4 participants