euromod_linking¶
Link external economic models to EUROMOD.
Turns another model’s output — regional employment projections, wage paths, price developments — into changes to EUROMOD’s input microdata and run parameters, so macro results can be evaluated at household level:
from euromod import Model
from euromod_linking import run_scenario
system = Model(MODEL_PATH)["AT"]["AT_2024"]
result = run_scenario(system, {
"country_code": "AT", "system_name": "AT_2024",
"shocks": {"file": "projections.xlsx", "mapping": my_mapping_spec},
"params": {"period": "8"},
}, input_path=INPUT_PATH)
Shocks arrive in one canonical form (the shock table); each external model’s file format is handled by a declarative mapping spec. The transformation methodology is resolved from the shock channels rather than chosen by the caller — a scenario selects data, never modelling.
Scope: this targets the JRC’s EUROMOD model for the 27 EU member states, and
only that model — not the EUROMOD software in general. Models built on the
same engine (SOUTHMOD, SWISSMOD, national models outside the EU) will not work
with it, because it assumes EUROMOD’s own EU-27 conventions: the ils_udb_*
income lists, the les/les2 labour-status codings, drgn1/drgn2
read as NUTS regions, and the JRC-maintained LMA add-on. The model is
distributed at https://euromod-web.jrc.ec.europa.eu/download-euromod.
Importing this package registers the shipped methodologies, so dispatch always works.
Everything below is the whole public surface. Anything else is reachable from
its own module (euromod_linking.compat, euromod_linking.session, …) but
is not part of the path through the library.