You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#460 adds apply_inflation_to_V: True to 2025_usa_cornerstone_full_model.yaml.
The flag inflates the Make table V from usa_base_io_data_year (2017) to model_base_year (2023) via industry price ratios. A separate config (2025_usa_cornerstone_full_model_A_commodity_price_index.yaml) already bundles this flag with scale_a_matrix_with_commodity_price_index: True, which leaves unclear how V inflation as implemented in #412 and refactored in #453 should interact with the default full-model scaling path alone.
Problem
With waste disaggregation on and default A scaling (summary ratio 2017→2022 + industry PI 2022→2023), turning on apply_inflation_to_V creates multiple dollar-year mismatches:
Disagg base A (_derive_cornerstone_Aq_from_disaggregated)
q and x use uninflated 2017 V
Vnorm uses inflated 2023 V
A = Unorm(2017) @ Vnorm(2023) mixes years in the structural A matrix
scaled_q is 2017 while public derive_cornerstone_q() returns 2023 q
Scaled A (derive_cornerstone_Aq_scaled default branch)
Scaling assumes base A is entirely 2017 detail dollars
Base A already embeds 2023 Vnorm when the flag is on
Risk of overlapping price effects (V row inflation + summary scale + industry PI on A)
B (derive_cornerstone_B_via_vnorm)
A separate discussion topic (reconciling q used for A and B, but relevant here as well since this flag affects the values of A as the inflated V is used via Vnrom
See diagram below for a graphical representation of points 1-3 above in the pipeline:
Issues in pipeline figure
Unaffected paths
U, VA, Y, default derive_cornerstone_x(), and published uninflated V remain 2017 chain dollars.
Questions for discussion
Should apply_inflation_to_V be enabled on the production full model yaml at all, or only on analysis / commodity-PI configs?
If yes:
Should we fix disagg Aq to use inflated q (and optionally inflated x for Unorm), or keep structural 2017 x and only inflate Vnorm?
Context
#460 adds
apply_inflation_to_V: Trueto2025_usa_cornerstone_full_model.yaml.The flag inflates the Make table V from
usa_base_io_data_year(2017) tomodel_base_year(2023) via industry price ratios. A separate config (2025_usa_cornerstone_full_model_A_commodity_price_index.yaml) already bundles this flag withscale_a_matrix_with_commodity_price_index: True, which leaves unclear how V inflation as implemented in #412 and refactored in #453 should interact with the default full-model scaling path alone.Problem
With waste disaggregation on and default A scaling (summary ratio 2017→2022 + industry PI 2022→2023), turning on
apply_inflation_to_Vcreates multiple dollar-year mismatches:_derive_cornerstone_Aq_from_disaggregated)qandxuse uninflated 2017VVnormuses inflated 2023VA = Unorm(2017) @ Vnorm(2023)mixes years in the structural A matrixscaled_qis 2017 while publicderive_cornerstone_q()returns 2023 qderive_cornerstone_Aq_scaleddefault branch)derive_cornerstone_B_via_vnorm)qused forAandB, but relevant here as well since this flag affects the values ofAas the inflatedVis used viaVnromSee diagram below for a graphical representation of points 1-3 above in the pipeline:
Issues in pipeline figure
Unaffected paths
U,VA,Y, defaultderive_cornerstone_x(), and published uninflatedVremain 2017 chain dollars.Questions for discussion
apply_inflation_to_Vbe enabled on the production full model yaml at all, or only on analysis / commodity-PI configs?test_ita_q_at_2017_matches_derive_cornerstone_qin Add V inflation flag to full model yaml #460?References
derived_cornerstone.py:derive_cornerstone_q,_derive_cornerstone_Aq_from_disaggregated,derive_cornerstone_Aq_scaled,derive_cornerstone_B_via_vnorm_derive_cornerstone_Aq_from_disaggregated(mixed dollar-year, intentional for now)2025_usa_cornerstone_full_model_A_commodity_price_index.yaml