CFDL

Energy

Generating assets: contracted and merchant revenue, operating cost, tax benefits and project debt.

What it models

A project selling under a power purchase agreement or into a merchant market, with production degrading over life, availability applied, prices escalating or read from a forward curve, and tax credits claimed over their statutory window. Storage arbitrage on a cycled-spread basis.

Contracts

Declare a contract and the pack expands it into the streams those terms imply, each classified so it lands on the right line of a statement.

ContractTerms it readsStreams it emits
energy.ppaavailability, degradation, escalation, mwh_year, ppa_priceenergy.ppa.revenue[.suffix]
energy.merchantavailability, degradation, mwh_year, price, price_escalationenergy.merchant.revenue[.suffix]
energy.storage_arbitragedegradation, mwh_cycled_year, spreadenergy.storage.margin[.suffix]
energy.capacitypayment_yearenergy.capacity.revenue[.suffix]
energy.omescalation, om_yearenergy.om.expense[.suffix]
energy.itccreditenergy.itc.credit[.suffix]
energy.capexamountenergy.capex.outlay[.suffix]
energy.debt_serviceprincipal, rateenergy.debt.service[.suffix]
energy.ptcavailability, credit_per_mwh, degradation, escalation, mwh_year, round_stepenergy.ptc.credit[.suffix]
energy.macrs_shieldbasis, life, tax_rateenergy.macrs.shield[.suffix]

A contract can be declared more than once by giving it a suffix, so the pieces stay separable in the results.

Reporting

A project operating statement down to cash flow available for debt service, with coverage tested every period, which is the covenant a project lender holds.

  • Statements — the pro forma this pack produces
  • Metrics — what it reports over the whole model
  • Validation — the reference models it is gated against