def initialize_households(): trace_label = 'initialize_households' with chunk.chunk_log(trace_label, base=True): chunk.log_rss(f"{trace_label}.inside-yield") households = inject.get_table('households').to_frame() assert not households._is_view chunk.log_df(trace_label, "households", households) del households chunk.log_df(trace_label, "households", None) persons = inject.get_table('persons').to_frame() assert not persons._is_view chunk.log_df(trace_label, "persons", persons) del persons chunk.log_df(trace_label, "persons", None) model_settings = config.read_model_settings( 'initialize_households.yaml', mandatory=True) annotate_tables(model_settings, trace_label) # - initialize shadow_pricing size tables after annotating household and person tables # since these are scaled to model size, they have to be created while single-process # this can now be called as a stand alone model step instead, add_size_tables add_size_tables = model_settings.get('add_size_tables', True) if add_size_tables: # warnings.warn(f"Calling add_size_tables from initialize will be removed in the future.", FutureWarning) shadow_pricing.add_size_tables() # - preload person_windows person_windows = inject.get_table('person_windows').to_frame() chunk.log_df(trace_label, "person_windows", person_windows)
def initialize_households(): trace_label = 'initialize_households' model_settings = config.read_model_settings('initialize_households.yaml', mandatory=True) annotate_tables(model_settings, trace_label) # - initialize shadow_pricing size tables after annotating household and person tables # since these are scaled to model size, they have to be created while single-process shadow_pricing.add_size_tables() # - preload person_windows t0 = tracing.print_elapsed_time() inject.get_table('person_windows').to_frame() t0 = tracing.print_elapsed_time("preload person_windows", t0, debug=True)