Load the ACS local-area dataset for US state and district runs
Maintainer antworten meist innerhalb von 2 Tagen
Dieses Issue hat noch niemand übernommen.
- #726 von @anth-volk — ohne Merge geschlossen
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- python
- Bereich
- backend, data, performance
Rechercherichtung
Start with _region_parent_dataset_reference and _resolve_region in projects/policyengine-simulation-executor/src/policyengine_simulation_executor/simulation_runtime.py, then inspect runtime_dataset_uri(...) and the linked build_populace_state_slices.py approach. Done means state and district runs use validated local-area extracts with linked groups and unchanged weights, while the resolved URI preserves the overlay revision and sha256.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Problem
Every US state/xx and congressional-district run executes on the national default file. In projects/policyengine-simulation-executor/src/policyengine_simulation_executor/simulation_runtime.py:
_resolve_region(lines 317–360) usesregion.dataset_pathwhen it is set.- Otherwise
_region_parent_dataset_reference(lines 276–301) walks up to the national region and returns its dataset.
policyengine.py state and district regions carry no dataset_path, so the fallback always applies (PolicyEngine/policyengine.py#551).
What changes once regions carry the local-area dataset
PolicyEngine/policyengine.py#551 proposes resolving state and district regions to populace_us_2024_acs_local.h5. The executor would then receive that file for every state run:
- Size: 9.8 GB. It covers 1,588,854 households (Sep 23 build
767312d60). - Memory: our Modal jobs needed a 64 GB container to load it and extract one state.
- Per-state counts: Pennsylvania alone is 64,981 households. Child-poverty-impact-dashboard slices range from 3.4k households (WY) to 163k (CA).
Suggested direction
- Build per-state extracts once per local-area release, keeping every linked person, tax unit, SPM unit, family and marital unit, with weights unchanged. Run state and district requests on the extract.
PolicyEngine/child-poverty-impact-dashboardscripts/build_populace_state_slices.pydoes this for 51 states. It checks that slices partition the frame exactly and that no group straddles a state boundary. It also verified a 2021-CTC reform on all 51 slices against masked full-file runs (population and transfer total within 1e-6, poverty rates within 1e-4).- Confirm the resolved URI keeps the overlay's own revision and sha256. Today
runtime_dataset_uri(...)passesbundle.data_artifact_revision(the national artifact's revision) as the artifact revision, so check that it does not override the local-area pin.
Related
- Region wiring: PolicyEngine/policyengine.py#551
- API v1 state reports: PolicyEngine/policyengine-api#3864
- Weight concentration on the local-area build: PolicyEngine/microcosm#403
🤖 Generated with Claude Code
- Vorherrschende Sprache
- Python
- Sterne
- 1
- Forks
- 1
- Ø Merge
- 1 T. 23 Std.
- Gemergte PRs (30 T.)
- 83
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus PolicyEngine/policyengine-sim-api
-
Update policyengine to 6.7.3Evtl. wieder frei Ein Pull Request dazu wurde ohne Merge geschlossen. Offen
Schwierigkeit 2/5 Ein halber Tag Anfängerfreundlichkeit 70/100
PolicyEngine/policyengine-sim-api#823 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Integration tests fail due to missing UV virtual environment setupEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
PolicyEngine/policyengine-sim-api#314 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Update policyengine to 6.14.0Evtl. vergeben @policyengine hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 58/100
PolicyEngine/policyengine-sim-api#1010 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Enforce sim.microdata.weight-stripping-confined and delete its empty baselineEvtl. vergeben @anth-volk hat das heute übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
PolicyEngine/policyengine-sim-api#1008 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Move the rollback workflow's steps into tested scripts and enforce the one-line run: ruleEvtl. vergeben @anth-volk hat das vor 1 Tag übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
PolicyEngine/policyengine-sim-api#1005 ·
Maintainer antworten meist innerhalb von 2 Tagen
Alle Issues in PolicyEngine/policyengine-sim-api
Ähnliche Issues
-
bug severity:low
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 2 Tagen
-
curriculum documentation quality
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 77/100
githubnext/gh-aw-workshop#5367 ·
Maintainer antworten meist innerhalb von 3 Tagen
-
OAuth documentation for GET /api/v2/users/me/ appears inconsistent with required global read scopeOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag
-
Create Noise Latents ignores randomize_seed and produces the same noise every runEvtl. vergeben @griptapeops hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
griptape-ai/griptape-nodes-library-diffusers#127 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Jenkins capacity report: metrics history is lost when archiving a month failsEvtl. vergeben @RaphaelFakhri hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
adoptium/infrastructure#4568 ·
Maintainer antworten meist innerhalb von 1 Tag