|
23 | 23 | "source": [
|
24 | 24 | "from datetime import date\n",
|
25 | 25 | "from pathlib import Path\n",
|
| 26 | + "from typing import Iterable, Mapping, TypeVar\n", |
26 | 27 | "from urllib.parse import quote\n",
|
27 | 28 | "\n",
|
28 | 29 | "import numpy as np\n",
|
29 | 30 | "from pandas import DataFrame, read_csv, to_datetime\n",
|
30 | 31 | "\n",
|
31 | 32 | "from epymorph.kit import *\n",
|
32 | 33 | "from epymorph.adrio import acs5, commuting_flows, csv\n",
|
33 |
| - "from epymorph.geography.scope import GeoScope\n", |
34 | 34 | "from epymorph.geography.us_census import (\n",
|
35 | 35 | " get_counties,\n",
|
36 | 36 | " get_states,\n",
|
37 | 37 | ")\n",
|
38 |
| - "from epymorph.util import dict_map\n", |
39 | 38 | "\n",
|
| 39 | + "A = TypeVar(\"A\")\n", |
| 40 | + "B = TypeVar(\"B\")\n", |
40 | 41 | "\n",
|
41 |
| - "def placeholder_dim(scope: GeoScope, time_frame: TimeFrame) -> SimDimensions:\n", |
42 |
| - " return SimDimensions.build(\n", |
43 |
| - " tau_step_lengths=[1.0],\n", |
44 |
| - " start_date=time_frame.start_date,\n", |
45 |
| - " days=time_frame.duration_days,\n", |
46 |
| - " nodes=scope.nodes,\n", |
47 |
| - " compartments=1,\n", |
48 |
| - " events=0,\n", |
49 |
| - " )\n", |
| 42 | + "\n", |
| 43 | + "def dict_map(m: Mapping[A, B], xs: Iterable[A]) -> list[B]:\n", |
| 44 | + " return [m[x] for x in xs]\n", |
50 | 45 | "\n",
|
51 | 46 | "\n",
|
52 | 47 | "TEST_FILE_PATH = Path(\"./scratch/test\")\n",
|
|
64 | 59 | " year=2015,\n",
|
65 | 60 | " )\n",
|
66 | 61 | " time_frame = TimeFrame.year(2015)\n",
|
67 |
| - " dim = placeholder_dim(scope, time_frame)\n", |
68 | 62 | " states_info = get_states(2015)\n",
|
69 | 63 | "\n",
|
70 | 64 | " (\n",
|
|
75 | 69 | " acs5.Population()\n",
|
76 | 70 | " .with_context(\n",
|
77 | 71 | " scope=scope,\n",
|
78 |
| - " dim=dim,\n", |
| 72 | + " time_frame=time_frame,\n", |
79 | 73 | " )\n",
|
80 | 74 | " .evaluate()\n",
|
81 | 75 | " ),\n",
|
|
95 | 89 | " scope = CountyScope.in_states([\"04\", \"08\", \"49\", \"35\", \"32\"], year=2015)\n",
|
96 | 90 | " context = {\n",
|
97 | 91 | " \"scope\": scope,\n",
|
98 |
| - " \"dim\": placeholder_dim(scope, TimeFrame.year(2015)),\n", |
| 92 | + " \"time_frame\": TimeFrame.year(2015),\n", |
99 | 93 | " \"params\": {\n",
|
100 | 94 | " \"population_by_age_table\": acs5.PopulationByAgeTable(),\n",
|
101 | 95 | " },\n",
|
|
152 | 146 | "\n",
|
153 | 147 | " scope = CountyScope.in_counties([\"08001\", \"35001\", \"04013\", \"04017\"], year=2020)\n",
|
154 | 148 | " time_frame = TimeFrame.year(2020)\n",
|
155 |
| - " dim = placeholder_dim(scope, time_frame)\n", |
156 | 149 | "\n",
|
157 | 150 | " commuters = (\n",
|
158 | 151 | " commuting_flows.Commuters()\n",
|
159 |
| - " .with_context(\n", |
160 |
| - " scope=scope,\n", |
161 |
| - " dim=dim,\n", |
162 |
| - " )\n", |
| 152 | + " .with_context(scope=scope, time_frame=time_frame)\n", |
163 | 153 | " .evaluate()\n",
|
164 | 154 | " )\n",
|
165 | 155 | "\n",
|
|
222 | 212 | "output_type": "stream",
|
223 | 213 | "text": [
|
224 | 214 | "Loading epymorph.adrio.csv.CSV:\n",
|
225 |
| - " |####################| 100% (0.002s)\n", |
| 215 | + " |####################| 100% (0.004s)\n", |
226 | 216 | "Loading epymorph.adrio.acs5.Population:\n",
|
227 |
| - " |####################| 100% (1.201s)\n", |
| 217 | + " |####################| 100% (0.600s)\n", |
228 | 218 | "Population data ✓\n",
|
229 | 219 | "\n"
|
230 | 220 | ]
|
231 | 221 | }
|
232 | 222 | ],
|
233 | 223 | "source": [
|
234 | 224 | "# Check pei_population.csv\n",
|
235 |
| - "scope = StateScope.in_states([\"12\", \"13\", \"24\", \"37\", \"45\", \"51\"], year=2015)\n", |
236 | 225 | "context = {\n",
|
237 |
| - " \"scope\": scope,\n", |
238 |
| - " \"dim\": placeholder_dim(scope, TimeFrame.year(2015)),\n", |
| 226 | + " \"scope\": StateScope.in_states([\"12\", \"13\", \"24\", \"37\", \"45\", \"51\"], year=2015),\n", |
| 227 | + " \"time_frame\": TimeFrame.year(2015),\n", |
239 | 228 | "}\n",
|
240 | 229 | "\n",
|
241 | 230 | "test_adrios(\n",
|
|
263 | 252 | "output_type": "stream",
|
264 | 253 | "text": [
|
265 | 254 | "Loading epymorph.adrio.csv.CSV:\n",
|
266 |
| - " |####################| 100% (0.008s)\n", |
| 255 | + " |####################| 100% (0.013s)\n", |
267 | 256 | "Loading epymorph.adrio.acs5.PopulationByAgeTable:\n",
|
268 |
| - " |####################| 100% (12.587s)\n", |
| 257 | + " |####################| 100% (0.534s)\n", |
269 | 258 | "Loading epymorph.adrio.acs5.PopulationByAge:\n",
|
270 | 259 | " |####################| 100% (0.000s)\n",
|
271 | 260 | "Young data ✓\n",
|
272 | 261 | "\n",
|
273 | 262 | "Loading epymorph.adrio.csv.CSV:\n",
|
274 |
| - " |####################| 100% (0.006s)\n", |
| 263 | + " |####################| 100% (0.018s)\n", |
275 | 264 | "Loading epymorph.adrio.acs5.PopulationByAgeTable:\n",
|
276 |
| - " |####################| 100% (0.528s)\n", |
| 265 | + " |####################| 100% (0.526s)\n", |
277 | 266 | "Loading epymorph.adrio.acs5.PopulationByAge:\n",
|
278 | 267 | " |####################| 100% (0.000s)\n",
|
279 | 268 | "Adult data ✓\n",
|
280 | 269 | "\n",
|
281 | 270 | "Loading epymorph.adrio.csv.CSV:\n",
|
282 |
| - " |####################| 100% (0.009s)\n", |
| 271 | + " |####################| 100% (0.011s)\n", |
283 | 272 | "Loading epymorph.adrio.acs5.PopulationByAgeTable:\n",
|
284 |
| - " |####################| 100% (0.507s)\n", |
| 273 | + " |####################| 100% (0.521s)\n", |
285 | 274 | "Loading epymorph.adrio.acs5.PopulationByAge:\n",
|
286 | 275 | " |####################| 100% (0.000s)\n",
|
287 | 276 | "Elderly data ✓\n",
|
|
291 | 280 | ],
|
292 | 281 | "source": [
|
293 | 282 | "# Check us_sw_counties_population.csv\n",
|
294 |
| - "scope = CountyScope.in_states([\"04\", \"08\", \"49\", \"35\", \"32\"], year=2015)\n", |
295 | 283 | "context = {\n",
|
296 |
| - " \"scope\": scope,\n", |
297 |
| - " \"dim\": placeholder_dim(scope, TimeFrame.year(2015)),\n", |
| 284 | + " \"scope\": CountyScope.in_states([\"04\", \"08\", \"49\", \"35\", \"32\"], year=2015),\n", |
| 285 | + " \"time_frame\": TimeFrame.year(2015),\n", |
298 | 286 | " \"params\": {\n",
|
299 | 287 | " \"population_by_age_table\": acs5.PopulationByAgeTable(),\n",
|
300 | 288 | " },\n",
|
|
353 | 341 | "output_type": "stream",
|
354 | 342 | "text": [
|
355 | 343 | "Loading epymorph.adrio.csv.CSVTimeSeries:\n",
|
356 |
| - " |####################| 100% (0.007s)\n", |
| 344 | + " |####################| 100% (0.006s)\n", |
357 | 345 | "Vaccination data ✓\n"
|
358 | 346 | ]
|
359 | 347 | }
|
360 | 348 | ],
|
361 | 349 | "source": [
|
362 | 350 | "# Check vaccination_time_series.csv\n",
|
363 |
| - "scope = CountyScope.in_counties([\"08001\", \"04013\", \"35001\"], year=2021)\n", |
364 | 351 | "context = {\n",
|
365 |
| - " \"scope\": scope,\n", |
366 |
| - " \"dim\": placeholder_dim(scope, TimeFrame.year(2021)),\n", |
| 352 | + " \"scope\": CountyScope.in_counties([\"08001\", \"04013\", \"35001\"], year=2021),\n", |
| 353 | + " \"time_frame\": TimeFrame.year(2021),\n", |
367 | 354 | "}\n",
|
368 | 355 | "\n",
|
369 | 356 | "with sim_messaging():\n",
|
|
398 | 385 | "output_type": "stream",
|
399 | 386 | "text": [
|
400 | 387 | "Loading epymorph.adrio.csv.CSVMatrix:\n",
|
401 |
| - " |####################| 100% (0.004s)\n", |
| 388 | + " |####################| 100% (0.016s)\n", |
402 | 389 | "Loading epymorph.adrio.commuting_flows.Commuters:\n",
|
403 |
| - " |####################| 100% (6.561s)\n", |
| 390 | + " |####################| 100% (8.149s)\n", |
404 | 391 | "Commuters data ✓\n",
|
405 | 392 | "\n"
|
406 | 393 | ]
|
407 | 394 | }
|
408 | 395 | ],
|
409 | 396 | "source": [
|
410 | 397 | "# Check counties_commuters_2020.csv\n",
|
411 |
| - "scope = CountyScope.in_counties([\"35001\", \"04013\", \"04017\"], year=2020)\n", |
412 | 398 | "context = {\n",
|
413 |
| - " \"scope\": scope,\n", |
414 |
| - " \"dim\": placeholder_dim(scope, TimeFrame.year(2020)),\n", |
| 399 | + " \"scope\": CountyScope.in_counties([\"35001\", \"04013\", \"04017\"], year=2020),\n", |
| 400 | + " \"time_frame\": TimeFrame.year(2020),\n", |
415 | 401 | "}\n",
|
416 | 402 | "\n",
|
417 | 403 | "test_adrios(\n",
|
|
0 commit comments