Skip to main content
Version: Next

How to set up HCM Scenarios

This guide walks you through the process of configuring HCM scenarios, from preparing the required data tables to creating scenario configurations that can be executed in work packages.

Prerequisites

Before configuring scenarios, ensure you understand the concept of HCM scenarios and have access to the database where input tables will be populated.

Required Input Tables

You'll need to populate these tables in the following order. See the Input Table Reference for complete field specifications.

1. Profile Tables (Foundation Data)

TablePurpose
pv_profilesTime-series solar generation patterns with technical specifications
ev_profilesElectric vehicle charging patterns by use case and charger level
bess_profilesBattery charge/discharge patterns with efficiency characteristics

2. Allocation Tables (Grouping Rules)

TablePurpose
pv_allocationsGroups PV profiles with probability weightings and locking rules
ev_allocationsGroups EV profiles with probability weightings and locking rules
bess_allocationsGroups BESS profiles with probability weightings and locking rules

3. Forecast Tables (Capacity Projections)

TablePurpose
pv_forecastsSolar capacity projections by network level and year
ev_forecastsEV quantity projections by class and network area
bess_forecastsBattery capacity projections by network level and year
demand_forecastsBackground load growth with uncertainty levels

4. Configuration Table (Scenario Definition)

TablePurpose
scenario_configurationLinks allocations and forecasts to create named scenarios

Step-by-Step Configuration Process

The configuration process follows the data architecture: ProfilesAllocationsForecastsScenario ConfigurationWork Package. Both allocations and forecasts feed independently into scenario configuration.

Step 1: Create Profile Data

Start by populating the profile tables with time-series behavioral data for each DER type.

Key considerations:

  • Ensure normalised_power arrays have the expected length (typically 17,520 intervals for 30-minute data)
  • Set appropriate phases values (1 or 3)
  • Use consistent intervals_per_year values across profiles
  • Include realistic technical parameters (DC/AC ratios, efficiencies)

Step 2: Define Allocation Strategies

Create allocation entries that group profiles and define distribution rules.

Probability weighting requirements:

  • All probability_weighting values for profiles under the same allocation_id must sum to 1.0 per feeder
  • Use decimal values (e.g., 0.7 for 70%, 0.3 for 30%)

Locking mechanism choices:

  • Set lock_year = true if profiles should only be used for specific years
  • Set lock_feeder = true if profiles should only be used for specific feeders
  • Use false for maximum flexibility

Step 3: Prepare Forecast Data

Populate forecast tables with capacity projections for each DER type.

Forecast level selection: Choose appropriate aggregation levels based on your data availability and analysis needs:

  • FEEDER for standard distribution planning Currently unsupported (but may be in the future): LV_FEEDER, SUBSTATION, SUB_GEOGRAPHICAL_REGION, GEOGRAPHICAL_REGION

Time period coverage:

  • Ensure forecasts cover all years you plan to model
  • Include appropriate financial_year_end values
  • For demand forecasts, specify relevant poe (Probability of Exceedance) levels

Step 4: Configure Scenarios

Create entries in the scenario_configuration table that combine your prepared components.

warning

Never name a custom scenario base. The system automatically includes a hardcoded base scenario representing current network conditions without additional DER uptake or demand changes. Naming your own scenario base will cause conflicts with this system baseline.

The base scenario can be called in the SYF config during work package configuration without needing to define it in the scenario_configuration table.

Core configuration elements:

FieldPurposeExample Value
scenario_idUnique identifier"high_solar_moderate_ev"
scenario_nameHuman-readable description"High Solar with Moderate EV Adoption"
pv_allocation_idReference to PV allocation strategy"suburban_residential_pv"
ev_allocation_idReference to EV allocation strategy"mixed_vehicle_classes"
bess_allocation_idReference to BESS allocation strategy"residential_storage"
pv_forecasts_scenarioName of PV forecast data set"high_solar_2030"
ev_forecasts_scenarioName of EV forecast data set"moderate_ev_uptake"
bess_forecasts_scenarioName of BESS forecast data set"conservative_storage"
demand_forecasts_scenarioName of demand forecast data set"baseline_growth"
pv_forecast_levelNetwork level for PV forecasts"FEEDER"
ev_forecast_levelNetwork level for EV forecasts"FEEDER"
bess_forecast_levelNetwork level for BESS forecasts"FEEDER"
demand_forecast_levelNetwork level for demand forecasts"FEEDER"
demand_forecast_poeProbability of Exceedance level50

Example Scenario Configuration

Here's how you might configure different scenarios by mixing and matching components:

Scenario NamePV ForecastBESS ForecastEV ForecastDemand ForecastUse Case
conservative_growthLow adoptionLow adoptionModerate adoptionLow growthConservative planning
accelerated_solarHigh adoptionLow adoptionModerate adoptionModerate growthSolar-focused future
aemo_step_changeHigh adoptionHigh adoptionHigh adoptionHigh growthAEMO Step Change replication

Quality Assurance Checklist

Before executing scenarios, verify:

Data Integrity:

  • All referenced allocation_id values exist in their respective allocation tables
  • All forecast scenario names exist in their respective forecast tables
  • All forecast levels are valid enum values
  • No scenario uses the reserved name base

Mathematical Validity:

  • Probability weights sum to 1.0 per feeder for each allocation
  • All demand_forecast_poe values exist in the demand forecast data
  • Profile arrays have consistent lengths and valid value ranges

Cross-Reference Consistency:

  • Specified forecast levels have actual data in the forecast scenarios
  • Profile years cover all modeled scenario years (when using year locking)
  • Referenced profile IDs exist in their respective profile tables

Temporal Alignment:

  • Forecast years align with intended modeling periods
  • Profile represents_year values cover scenario requirements
  • Demand forecast time periods match other DER forecasts

Integration with Work Packages

Once scenarios are configured, they can be referenced in work package configurations as per the Work Package Configuration Guide.

Note: Scenarios run independently within work packages, allowing flexible comparison and incremental analysis. You can execute any combination of scenarios together without dependencies between them.

Once scenarios are configured, they can be referenced in work package configurations (the SYF Config: Scenarios, Years, Feeders) as per the Work Package Configuration Guide.

Troubleshooting Common Issues

Scenario validation failures:

  • Check that all referenced IDs exist in their respective tables
  • Verify probability weights sum correctly
  • Ensure forecast levels exist in the data

Missing data errors:

  • Confirm all required forecast scenarios are populated
  • Check that profile data covers the necessary time periods
  • Verify network codes exist at specified forecast levels

Performance issues:

  • Start with a small number of feeders and years for testing
  • Use appropriate forecast aggregation levels
  • Consider computational requirements when designing large scenario sets

Contact Zepben technical support for further assistance with complex configurations or issues.