Skip to main content

Overview

Cost-based dispatch simulates the market based on the pure economic production cost of stations rather than their market bids.

Objectives

The following scenarios are used to validate cost-based dispatch logic and administered pricing configurations.

3.1 Understanding Cost Curves

  • Maximum Capacity Rating (MCR): Power stations operate at their best efficiency at the Maximum Capacity Rating.
  • Heat Rate Curve: This curve maps fuel burn efficiency in gigajoules to output. This translates via dimensional analysis into a Pesos per Megawatt Hour metric.
  • Merit Order: iPool dispatches base load plants, like coal, first because they are the cheapest to operate. This is followed by intermediate plants, and peaking plants like diesel and oil last. Note that Combined Cycle Gas plants can also be cheap, but supplies like Malampaya are running out. Note: Pure economic dispatch will always produce flat and very low system prices, often below 2,000 PHP/MWh. It is excellent for long-term system reliability studies from 10 to 20 years but does not accurately reflect real-world market pricing.

Levels of cost based configurations include options for Unit Commitment, Dump Energy, or Reserve options.

3.2 Administered Pricing

Because cost-based dispatch produces artificially low prices, modelers apply Administered Pricing on top of the generation profile to calculate realistic revenues and profits. Command Line Execution:

-p administered_prices.csv
-NoDis

● -p: Loads a CSV file containing fixed or complex price profiles, such as a flat 5,000 PHP price or complex 24x4 seasonal prices. ● -NoDis: Stands for "No Dispatch". It tells iPool not to re-run the dispatch generation, but simply to grab the CSV prices and apply them onto the existing generation profiles to determine the cost of operation. ● Tip: You can use the iEnergy Downloader tool's "Price Aggregation Tab" to collect IEMOP AP real prices into a single file ready to be plugged into iPool.

3.3 Marginal Loss Factor (MLF)

When reviewing financial outputs, prices are adjusted by the MLF, which is found in the RTD files. The MLF is a measure of transmission losses from the generator to the zonal reference node.

  • ● For example, if a reference node has a Locational Marginal Price (LMP) of 5,000 PHP and a 5% transmission loss, which is an MLF of 1.05 in WESM convention, a generator must generate 105 MW to supply 100 MW. The resulting System Marginal Price (SMP) for that node is calculated by multiplying the LMP by the MLF, such as 5,000 multiplied by 1 equating to 5,250 PHP.

General Execution Steps

1

Configure Must-Run Status

  Set to Must-Run all HYDRO, ROR, SOLAR, WIND, GEO, and BIO in the SysWESM2026CB.mdb Cost-Based DB.

2

Optimize Energy Limited Plants (ELP)

  Optimize ELP with Load, specifically focusing on KALAYAAN and some BAT (Battery) sites.

3

Calibrate Capacity Factors

  Set the %Target CapFac of ELPs according to historical data.

4

Adjust Demand Subtraction

  Set ExcPS = 0 in Defaults.csv to NOT subtract the dispatchable demand from the Region demand. This allows iPool to schedule optimized dispatch of the Pump and Battery storages independently.

5

Define Price Caps

  Set the following price caps for thermal plants in the Defaults.csv file:

  • PrcCapCOAL,6000
  • PrcCapCCGT,0

Market Scenarios

Scenario IDDescription
BASECost-Based Defaults: Sets the defaults (start date, days, dispatch resolution, options) using SysWESM2603CB.mdb. Includes Must-Run settings for SOLAR, WIND, BIO, HYDRO, GEO, ROR, and some BAT. BESS_CLUZ and BESS_CVIS storages are added containing BAT sites with Load/Demand energy in historical.
HCBHistorical Cost-Based: Historical scenario run utilizing the SysWESM2603CB.mdb database.
CST5-Min Cost-Based Dispatch: Cost-based scenario using SysWESM2603CB.mdb with optimized ELP operation.
-cost 1 turns ON cost-based simulation.
-opELP ALL optimizes ALL energy limited plants (pump storage and BESS) operation by leveling the net system demand (duck curve).
CSTHHourly Cost-Based Dispatch: Hourly dispatch cost-based scenario using SysWESM2603CB.mdb plus optimized ELP Storages: KALAYAAN, BESS_CLUZ, and BESS_CVIS.
CSTHap3Administered Pricing (Flat 3k): Uses administered prices from APrices3.csv applied to ALL Regions, Links, and Sites (but not contracts).
-p APrices3.csv sets prices at a flat 3000 for demo testing.
CSTHap5Administered Pricing (Flat 5k): Uses administered prices from APrices5.csv.
-p APrices5.csv sets prices at a flat 5000 for demo testing.
CSTHapX6Profiled Administered Pricing: Uses administered prices from APricesX.csv applied to ALL.
-p APricesX.csv sets profiled prices.
PrcCapCOAL = 6000 set in Defaults.csv.
CSTHapX0Profiled Pricing (Zero Cap): Uses administered prices from APricesX.csv with PrcCapCOAL = 0 set in Defaults0.csv.
CSTHap5EERIPortfolio-Specific Pricing: Uses administered prices from APrices5.csv, BUT applied to all Regions, Links, and only to Sites of the EERI portfolio.
-port EERI targets the specific portfolio.