Skip to content

Commit 925a7bf

Browse files
committed
Fix hard-coded county_id
1 parent fdcb11f commit 925a7bf

File tree

3 files changed

+15
-4
lines changed

3 files changed

+15
-4
lines changed

configuration/demos_config.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,4 +143,8 @@ control_table = "hsize_ct"
143143
control_col = "hh_size"
144144
geoid_col = "lcm_county_id"
145145

146+
# Kids Moving
147+
[kids_moving_module_config]
148+
geoid_col = "lcm_county_id"
149+
146150

demos/config.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,10 @@ class MortalityModuleConfig(BaseModel):
4444
class BirthModuleConfig(BaseModel):
4545
calibration_procedure: Optional[CalibrationConfig] = None
4646

47+
class KidsMovingModuleConfig(BaseModel):
48+
geoid_col: str
49+
4750
class AgingModuleConfig(BaseModel):
48-
"""
49-
"""
5051
#: Age at which a person qualifies as senior
5152
senior_age: int = 65
5253

@@ -86,6 +87,7 @@ class DEMOSConfig(BaseModel):
8687
mortality_module_config: MortalityModuleConfig = Field(default_factory=MortalityModuleConfig)
8788
birth_module_config: BirthModuleConfig = Field(default_factory=BirthModuleConfig)
8889
hh_rebalancing_module_config: HHRebalancingModuleConfig = Field(default_factory=HHRebalancingModuleConfig)
90+
kids_moving_module_config: KidsMovingModuleConfig = Field(default_factory=KidsMovingModuleConfig)
8991

9092
def model_post_init(self, __context) -> None:
9193
if self.output_fname is None:

demos/models/kids_moving.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import time
44
from logging_logic import log_execution_time
55
from templates.utils.models import columns_in_formula
6+
from config import DEMOSConfig, KidsMovingModuleConfig, get_config
67

78
STEP_NAME = "kids_moving"
89
REQUIRED_COLUMNS = [
@@ -39,6 +40,10 @@ def kids_moving(persons, households, get_new_households):
3940
log_execution_time(start_time, orca.get_injectable("year"), "kids_moving")
4041

4142
def update_households_after_kids(persons, households, kids_moving, get_new_households):
43+
# Load module config
44+
demos_config: DEMOSConfig = get_config()
45+
module_config: KidsMovingModuleConfig = demos_config.kids_moving_module_config
46+
4247
# Kids moving to a new household conditions
4348
## Condition 1: Kids flagged by kids_moving
4449
## Condition 2: Households with more than 1 people
@@ -65,9 +70,9 @@ def update_households_after_kids(persons, households, kids_moving, get_new_house
6570
# Get the old household_id for the moving kids to retrieve the county_id
6671
# TODO: Parametrize county_id
6772
old_household_id = persons.local.loc[kids_moving_index, "household_id"].values
68-
county_assignment = households.local.loc[old_household_id, "lcm_county_id"].values
73+
county_assignment = households.local.loc[old_household_id, module_config.geoid_col].values
6974

7075
new_households = get_new_households(kids_moving_index.sum())
7176
persons.local.loc[kids_moving_index, "household_id"] = new_households
7277
persons.local.loc[kids_moving_index, "relate"] = 0
73-
households.local.loc[new_households, "lcm_county_id"] = county_assignment
78+
households.local.loc[new_households, module_config.geoid_col] = county_assignment

0 commit comments

Comments
 (0)