Operating-point schedule reference#

The gpf.time-series/1 TOML schema defines an ordered time axis and absolute active-power and reactive-power multipliers for source devices. The same schema applies to transmission-only, distribution-only, and mixed systems.

Unknown fields are rejected. GPF validates the schedule against the selected system before any time step is executed.

Complete example#

schema = "gpf.time-series/1"
time = [0.0, 1.0, 2.0]

[[profiles]]
region = "feeder"
element_class = "load"
element = "customer"
active_multiplier = [1.0, 1.1, 0.9]
reactive_multiplier = [1.0, 1.1, 0.9]

Root fields#

Field

Type

Required

Meaning

schema

string

Yes

Exact value gpf.time-series/1.

time

number array

Yes

Finite, nonempty, strictly increasing coordinates.

profiles

array of tables

No

Device operating-point profiles.

Time coordinates have no implicit unit. A project must apply one consistent unit and document it with the surrounding study. The power-flow solver uses only their order.

Profile fields#

Each [[profiles]] table accepts these fields:

Field

Type

Required

Meaning

region

nonempty string

No

Compiled region identity. The default is main.

element_class

nonempty string

Yes

Source device class.

element

nonempty string

Yes

Stable source device identity.

active_multiplier

number array

Conditional

Absolute active-power multipliers.

reactive_multiplier

number array

Conditional

Absolute reactive-power multipliers.

At least one multiplier series is required. A series must contain one finite value or one finite value for each time coordinate. One value is broadcast to the complete time axis.

Target identity matching is case-insensitive. One schedule cannot contain two profiles for the same region, class, and element identity. A profile fails during compilation when its target does not exist or does not permit the requested reactive update.

Absolute multiplier semantics#

Every multiplier applies to the base source operating point. For example, the series [1.0, 1.2, 1.0] applies the base value, 120 percent of the base value, and the base value again. It does not multiply the preceding step.

This rule prevents cumulative update drift and permits any scheduled point to be interpreted without replaying its predecessors.

Python construction#

import gpf

schedule = gpf.OperatingPointSchedule(
    time=(0.0, 1.0, 2.0),
    profiles=(gpf.OperatingPointProfile(
        region="feeder",
        element_class="load",
        element="customer",
        active_multiplier=(1.0, 1.1, 0.9),
        reactive_multiplier=(1.0, 1.1, 0.9),
    ),),
)

compile_time_series() validates these identities against the selected system and prepares the schedule for execution.

Execution and retention#

run_time_series() accepts retention modes all, final, and none. Every completed step retains compact status and iteration count. Full formulation results are extracted according to the selected retention mode.

The sequence stops on the first failure by default. Setting stop_on_failure=False permits later points to execute. The time-series power-flow chapter defines continuation and reset behavior.