babylon.config.defines.cross_scale
Cross-scale lookup-policy model (Spec 062).
Lives in babylon.config.defines (not babylon.domain.economics) so that
babylon.config.defines.economy_basic.EconomyDefines can import it
without triggering the heavy babylon.domain.economics/__init__.py import chain
(which itself depends on GameDefines, producing a circular import).
Re-exported via babylon.domain.economics.coefficient_lookup for downstream
callsites that conceptually treat the policy as an economics primitive.
See also
specs/062-cross-scale-integration/data-model.md §2.5.
Classes
|
Per-reference-series lookup policy descriptor. |
|
Per-series interpolation policy. |
- class babylon.config.defines.cross_scale.LookupPolicy(*values)[source]
Bases:
StrEnumPer-series interpolation policy.
- SLOWLY_VARYING:
Linear interpolation across the 52 weeks of the simulated year (FR-012).
- EVENT_DISCRETE:
Step-function: the value for tick
tis the series value forstart_year + (t // 52)(FR-013).
- SLOWLY_VARYING = 'slowly_varying'
- EVENT_DISCRETE = 'event_discrete'
- class babylon.config.defines.cross_scale.CoefficientLookupPolicy(**data)[source]
Bases:
BaseModelPer-reference-series lookup policy descriptor.
- Parameters:
series_id (str)
policy (LookupPolicy)
canonical_reference (str)
- series_id
Stable identifier (e.g.,
"bea_io_imports").
- policy
One of
LookupPolicy.
- canonical_reference
Human-readable source identifier.
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- policy: LookupPolicy