diff --git a/src/__tests__/data/reformDefinitionCode.test.js b/src/__tests__/data/reformDefinitionCode.test.js index 4521fbd93..5215a0593 100644 --- a/src/__tests__/data/reformDefinitionCode.test.js +++ b/src/__tests__/data/reformDefinitionCode.test.js @@ -7,6 +7,7 @@ import { getImplementationCode, sanitizeStringToPython, } from "data/reformDefinitionCode"; +import { POPULACE_US_DEFAULT_DATASET_URI } from "data/countries"; import { baselinePolicyUS, baselinePolicyUK, @@ -262,7 +263,7 @@ describe("Test getImplementationCode", () => { expect(output).toBeInstanceOf(Array); expect(output).toContain("baseline = Microsimulation(reform=baseline)"); }); - test("If US state, return lines with pooled 3-year CPS dataset", () => { + test("If US state, return lines with the certified populace-us dataset", () => { let testPolicy = JSON.parse(JSON.stringify(baselinePolicyUS)); testPolicy = { ...testPolicy, @@ -286,10 +287,10 @@ describe("Test getImplementationCode", () => { ); expect(output).toBeInstanceOf(Array); expect(output).toContain( - 'baseline = Microsimulation(dataset="hf://policyengine/policyengine-us-data/pooled_3_year_cps_2023.h5")', + `baseline = Microsimulation(dataset="${POPULACE_US_DEFAULT_DATASET_URI}")`, ); expect(output).toContain( - 'reformed = Microsimulation(reform=reform, dataset="hf://policyengine/policyengine-us-data/pooled_3_year_cps_2023.h5")', + `reformed = Microsimulation(reform=reform, dataset="${POPULACE_US_DEFAULT_DATASET_URI}")`, ); }); test("If dataset provided, return lines with dataset", () => { @@ -303,10 +304,10 @@ describe("Test getImplementationCode", () => { ); expect(output).toBeInstanceOf(Array); expect(output).toContain( - 'baseline = Microsimulation(dataset="hf://policyengine/policyengine-us-data/enhanced_cps_2024.h5")', + `baseline = Microsimulation(dataset="${POPULACE_US_DEFAULT_DATASET_URI}")`, ); }); - test("If dataset provided alongside US state, return lines with dataset, not Pooled 3-Year CPS", () => { + test("If dataset provided alongside US state, return lines with dataset, not the state fallback", () => { const output = getImplementationCode( "policy", "ks", @@ -317,7 +318,7 @@ describe("Test getImplementationCode", () => { ); expect(output).toBeInstanceOf(Array); expect(output).toContain( - 'baseline = Microsimulation(dataset="hf://policyengine/policyengine-us-data/enhanced_cps_2024.h5")', + `baseline = Microsimulation(dataset="${POPULACE_US_DEFAULT_DATASET_URI}")`, ); }); }); diff --git a/src/data/countries.js b/src/data/countries.js index bd652d604..702900c57 100644 --- a/src/data/countries.js +++ b/src/data/countries.js @@ -53,12 +53,21 @@ export const STATUS_TEXT_COLORS = { Pending: colors.BLACK, }; +// The certified populace-us dataset that policyengine.py resolves as its +// default US microdata (see src/policyengine/data/bundle/manifest.json's +// data_releases.us.default_dataset_uri in PolicyEngine/policyengine.py). +// This pins the certified revision so "Reproduce in Python" snippets stay +// byte-reproducible; bump the revision suffix when populace-us is +// re-certified (see PolicyEngine/populace#204 for the migration history). +export const POPULACE_US_DEFAULT_DATASET_URI = + "hf://policyengine/populace-us/populace_us_2024.h5@populace-us-2024-sparse-l0-refit-57k-71a0887-national-only-20260701"; + // Map dataset keywords to their equivalents // in the actual US package; at the moment, // this only applies to the "enhanced_cps" // dataset selection export const DEFAULT_DATASETS = { - enhanced_cps: "hf://policyengine/policyengine-us-data/enhanced_cps_2024.h5", + enhanced_cps: POPULACE_US_DEFAULT_DATASET_URI, }; const DEFAULT_US_HOUSEHOLD = { diff --git a/src/data/reformDefinitionCode.js b/src/data/reformDefinitionCode.js index a65c4c5a5..d7a00d123 100644 --- a/src/data/reformDefinitionCode.js +++ b/src/data/reformDefinitionCode.js @@ -1,6 +1,6 @@ import { optimiseHousehold } from "../api/variables"; import { defaultYear } from "./constants"; -import { DEFAULT_DATASETS } from "./countries"; +import { DEFAULT_DATASETS, POPULACE_US_DEFAULT_DATASET_URI } from "./countries"; import { wrappedJsonStringify } from "./wrappedJson"; export function getReproducibilityCodeBlock( @@ -184,8 +184,10 @@ export function getImplementationCode( if (hasDatasetSpecified) { datasetText = DEFAULT_DATASETS[dataset]; } else if (isState) { - datasetText = - "hf://policyengine/policyengine-us-data/pooled_3_year_cps_2023.h5"; + // State-level runs use the same certified populace-us national dataset; + // state regions scope it by state_fips rather than shipping a separate + // state-level file (see PolicyEngine/populace#204). + datasetText = POPULACE_US_DEFAULT_DATASET_URI; } const datasetSpecifier = datasetText ? `dataset="${datasetText}"` : "";