UT-Covid / episimlab

Framework for development of epidemiological models
https://ut-covid.github.io/episimlab/
BSD 3-Clause "New" or "Revised" License
3 stars 1 forks source link

KeyError in Partition process #17

Closed ethho closed 3 years ago

ethho commented 3 years ago

On working branch for #13 (12-part-model d44cfa9), method probabalistic_partition throws a KeyError:

$ PYTHONPATH='.' poetry run python scripts/20210512_partition_model.py
Traceback (most recent call last):
  File "scripts/20210512_partition_model.py", line 63, in <module>
    main(**opts)
  File "scripts/20210512_partition_model.py", line 49, in main
    out_ds = input_ds.xsimlab.run(model=model, decoding=dict(mask_and_scale=False))
  File "/Users/TASethanho/Library/Caches/pypoetry/virtualenvs/episimlab-aT2Erjcy-py3.8/lib/python3.8/site-packages/xsimlab/xr_accessor.py", line 860, in run
    driver.run_model()
  File "/Users/TASethanho/Library/Caches/pypoetry/virtualenvs/episimlab-aT2Erjcy-py3.8/lib/python3.8/site-packages/xsimlab/drivers.py", line 478, in run_model
    _run(
  File "/Users/TASethanho/Library/Caches/pypoetry/virtualenvs/episimlab-aT2Erjcy-py3.8/lib/python3.8/site-packages/xsimlab/drivers.py", line 342, in _run
    model.execute("initialize", rt_context, **execute_kwargs)
  File "/Users/TASethanho/Library/Caches/pypoetry/virtualenvs/episimlab-aT2Erjcy-py3.8/lib/python3.8/site-packages/xsimlab/model.py", line 1023, in execute
    _, (_, signal_process) = self._execute_process(p_obj, *execute_args)
  File "/Users/TASethanho/Library/Caches/pypoetry/virtualenvs/episimlab-aT2Erjcy-py3.8/lib/python3.8/site-packages/xsimlab/model.py", line 842, in _execute_process
    state_out, signal_out = executor.execute(
  File "/Users/TASethanho/Library/Caches/pypoetry/virtualenvs/episimlab-aT2Erjcy-py3.8/lib/python3.8/site-packages/xsimlab/process.py", line 530, in execute
    signal_out = executor.execute(p_obj, runtime_context, state=state)
  File "/Users/TASethanho/Library/Caches/pypoetry/virtualenvs/episimlab-aT2Erjcy-py3.8/lib/python3.8/site-packages/xsimlab/process.py", line 394, in execute
    signal = self.meth(p_obj, *args)
  File "/Users/TASethanho/tacc/projects/meyers/covid/episimlab/episimlab/partition/partition.py", line 79, in initialize
    self.prob_partitions = self.probabilistic_partition()
  File "/Users/TASethanho/tacc/projects/meyers/covid/episimlab/episimlab/partition/partition.py", line 162, in probabilistic_partition
    n_j=residents[(row['destination'], row['destination'], destination_age)],   # residential (daily) population of destination locality
KeyError: (76511, 76511, '0-4')
ethho commented 3 years ago

I originally thought this was an issue with vertex labels. Instead is a discrepancy in the age_group labels:

$ head data/20200311_travel.csv
,Unnamed: 0,source,destination,age,n,date,destination_type
30555,30555,76511,76511,<5,35.05384615384615,2020-03-11,local

Quickly fixed by changing age_group coords: https://github.com/eho-tacc/episimlab/blob/a4051a9729dd99a79c695558a1e7dcbdedb9d190/episimlab/setup/coords.py#L65