Skip to content

🧹 Chore: Remove County Groups in MAZ Assignment #218

@i-am-sijia

Description

@i-am-sijia

The goal is to remove the county grouping in MAZ assignment. So that the code base and model config can be simpler.

In TM2.2.1.4, MAZ assignment divides nine counties into three county groups, and performs assignment within each county group.

in highway_maz.py:

for i, names in county_groups.items():
maz_ids = self._get_county_mazs(names)
if len(maz_ids) == 0:
self.logger.log(
f"warning: no mazs for counties {', '.join(names)}"
)
continue
self._process_demand(time, i, maz_ids)

in model_config.toml:

        [[highway.maz_to_maz.demand_county_groups]]
            number = 1
            counties = ["San Francisco", "San Mateo", "Santa Clara"]
        [[highway.maz_to_maz.demand_county_groups]]
            number = 2
            counties = ["Alameda", "Contra Costa"]
        [[highway.maz_to_maz.demand_county_groups]]
            number = 3
            counties = ["Solano", "Napa", "Sonoma", "Marin"]

This was inherited from TM2.1 which may be a workaround due to CUBE limitations, i.e., it may be inefficient to assign all MAZs in one go in CUBE. But with EMME, this is not a problem.

In task order 7, we've tested keeping all nine counties in just one county group for MAZ assignment. It went through without significant changes in runtime. Work done in #215.

in model_config.toml:

        [[highway.maz_to_maz.demand_county_groups]]
            number = 1
            counties = ["San Francisco", "San Mateo", "Santa Clara", "Alameda", "Contra Costa", "Solano", "Napa", "Sonoma", "Marin"]

The natural next step is to get rid of the county group entirely, so that we can simplify the code base.

Progress:

  • Sufficiently defined
  • Approach decided
  • Implemented

Considerations

Metadata

Metadata

Assignees

No one assigned

    Labels

    choreoverhead: doesn't add additional functionality, change performance, or refactor code

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions