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 |
|---|---|---|---|
|
string |
Yes |
Exact value |
|
number array |
Yes |
Finite, nonempty, strictly increasing coordinates. |
|
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 |
|---|---|---|---|
|
nonempty string |
No |
Compiled region identity. The default is |
|
nonempty string |
Yes |
Source device class. |
|
nonempty string |
Yes |
Stable source device identity. |
|
number array |
Conditional |
Absolute active-power multipliers. |
|
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.