Power Sign Conventions and Precedence
This section defines exactly how the Hosting Capacity Module (HCM) interprets signs for active power (P), reactive power (Q), and power factor (PF) across three key areas:
- Timeseries ingestion from the Zepben timeseries database (NEM12 channels)
- Load overrides in a Work Package config
- p_factor settings in the Work Package generator_config
Reference Frame
All signs used by the HCM are defined at the customer connection point:
- Import = the customer draws power from the grid
- Export = the customer delivers power to the grid
This reference frame differs from AEMO's Meter Data File Format Specification NEM12 & NEM13, where:
- AEMO uses the grid as the frame of reference (opposite to our customer-centric approach)
- "Import" in AEMO terminology means energy flows from the connection point to the grid
- "Export" in AEMO terminology means energy flows from the grid to the connection point
We use the customer as the frame of reference, so our "Import" means the customer draws from the grid, and "Export" means the customer delivers to the grid.
Quick Reference
Reactive (overrides & PF):
- Q < 0 or PF < 0 ⇒ leading / capacitive / generates vars
- Q > 0 or PF > 0 ⇒ lagging / inductive / consumes vars
Active overrides:
- Loads: +P import, -P export
- Generators: +P export, -P import
NEM12 ingestion:
- Unsigned interval values; channel implies direction:
- E = active import (customers using energy)
- B = active export (customer PV systems generation greater than energy use)
- Q = reactive import (lagging)
- K = reactive export (leading)
Sign Conventions Summary
Reactive Power Sign Convention
Used by both Load Overrides and p_factor settings (applies equally to loads and generators):
- Negative vars or negative PF ⇒ generate reactive power (leading / capacitive)
- Positive vars or positive PF ⇒ consume reactive power (lagging / inductive)
Active Power Sign Convention in Overrides
-
Load overrides:
- +P = import (consumption)
- -P = export (generation behind the meter)
-
Generator overrides:
- +P = export (generation)
- -P = import (charging or motoring)
NEM12 Ingestion (Zepben Timeseries Database)
When Zepben ingests timeseries interval data for use in HCM via NEM12-aligned channels, it assumes the AEMO MDFF "unsigned" convention:
- Interval values are non-negative; direction is carried by the channel/suffix
- Negative values are not allowed
Common Practice
- Provide unsigned interval values for E/B/Q/K channels
- The channel suffix determines direction (not the sign)
- HCM reconstructs signed P/Q internally using the rules in this document
For more details on timeseries ingestion, see Timeseries Data Ingestion.
Interactions & Precedence
Reactive Power Data Priority Order
When determining reactive power (VAr) values, the system applies the following priority order:
-
Load Database Values (Lowest Priority)
- VAr data from the load database is used as the baseline
- Values are taken as magnitudes and direction is interpreted from the channel (E/B/Q/K), not from a sign
-
Load Overrides (Medium Priority)
load_varorgen_varvalues inload_overrides(see LoadTime Parameters in Configuration Options) override database values- P and/or Q are applied directly using the sign rules above, replacing any profiles defined within the Zepben Timeseries datastore
-
Power Factor Settings (Highest Priority)
- Power factor settings (
p_factor_base_exports,p_factor_forecast_pv,p_factor_base_imports) override all other sources when specified (non-null) - Reactive power is calculated from active power using the specified power factor
- Power factor settings (
If a load has VAr data in the database, a load_var override in the config, and p_factor_base_imports = 0.95, the final VAr value will be calculated using the 0.95 power factor.
Worked Examples
The examples below show what you set in config and what HCM models.
Example A: p_factor on Loads (Base Imports)
Example B: p_factor on Generators (Base Exports)
Example C: Mixed Active/Reactive Overrides
Understanding OpenDSS Sign Differences
If you examine raw OpenDSS files, signs may differ from your HCM configuration. This is expected - HCM automatically translates between conventions.