gcubed.projections.terminal_projection
Bind economically declared terminal assumptions to projection coordinates.
The seed contains total jump and expected-variable intercepts at T+1. The homogeneous state policy is unchanged. Explicit annual changes use the units of baseline exogenous adjustment files, then receive the same GDP scaling.
def
prepare_terminal_projection( parameters: gcubed.projections.gcubed_parameters.GCubedParameters, configuration: gcubed.model_configuration.TerminalClosureConfiguration, *, exogenous_names: list[str], jump_names: list[str], reference_variable: str | None, scaling_factors: numpy.ndarray[tuple[typing.Any, ...], numpy.dtype[numpy.float64]]) -> gcubed.projections.gcubed_parameters.GCubedParameters:
Factor the tail once and validate/scale explicit exogenous increments.
Bare prefixes select all their exogenous members; qualified names override those prefix assumptions independent of declaration order. Unmatched selectors are errors. The reference constraint is imposed only on a jump whose homogeneous rule already has zero state dependence.
def
projection_terminal_seed( projection_years_count: int, exogenous_projections: numpy.ndarray[tuple[typing.Any, ...], numpy.dtype[numpy.float64]], parameters: gcubed.projections.gcubed_parameters.GCubedParameters, x1_constants: numpy.ndarray[tuple[typing.Any, ...], numpy.dtype[numpy.float64]], j1_constants: numpy.ndarray[tuple[typing.Any, ...], numpy.dtype[numpy.float64]], ze_constants: numpy.ndarray[tuple[typing.Any, ...], numpy.dtype[numpy.float64]], z1_constants: numpy.ndarray[tuple[Any, ...], numpy.dtype[numpy.float64]] | None = None) -> tuple[numpy.ndarray[tuple[typing.Any, ...], numpy.dtype[numpy.float64]], numpy.ndarray[tuple[typing.Any, ...], numpy.dtype[numpy.float64]]]:
Return the same terminal seed for full, first-year and batched routes.
G-Cubed