-
Notifications
You must be signed in to change notification settings - Fork 5
Home
The goal of the Nemlite tool is to provide an open source option for modelling the dispatch procedure of the Australian National Electricity Market. Its primary interface is a python function that accepts a set of pandas dataframes that define the market to be dispatched and returns a set of pandas dataframes that detail the unit dispatch outcomes, interconnector flows and energy price. It also includes a supporting function that accepts two timestamps and returns a python generator object that yield the set of pandas data frames needed to run Nemlite for the intervals between the two timestamps.
energy_prices, unit_dispatch, interconnector_flow = \
nemlite.run(dispatch_unit_information, dispatch_unit_capacity_bids, initial_conditions,
regulated_interconnectors, regional_demand, dispatch_unit_price_bids,
regulated_interconnectors_loss_model, connection_point_constraints,
interconnector_constraints, constraint_data, region_constraints,
regulated_interconnector_loss_factor_model, market_interconnectors,
market_interconnector_price_bids, market_interconnector_capacity_bids,
market_cap_and_floor)
All dispatch units in the market must be present in this table.
DUID | DISPATCHTYPE | CONNECTIONPOINTID | REGIONID | TRANSMISSIONLOSSFACTOR | DISTRIBUTIONLOSSFACTOR |
---|---|---|---|---|---|
AGLHAL | GENERATOR | SHPS1 | SA1 | 0.972 | 1.0 |
APD01 | LOAD | VAPD1 | VIC1 | 1.012 | 1.0 |
All dispatch units to be dispatched in the market must be present in this table, but do not need to use all bidtypes.
Notes:
- MAXAVAIL limits cumulative unit dispatch for each bidtype.
- ENABLEMENTMIN, ENABLEMENTMAX, LOWBREAKPOINT and HIGHBREAKPOINT define the FCAS trapezium for non-ENERGY bidtypes, but should be set to zero for ENERGY.
DUID | BIDTYPE | MAXAVAIL | ENABLEMENTMIN | ENABLEMENTMAX | LOWBREAKPOINT | HIGHBREAKPOINT | BANDAVAIL1 | BANDAVAIL2 | BANDAVAIL3 | BANDAVAIL4 | BANDAVAIL5 | BANDAVAIL6 | BANDAVAIL7 | BANDAVAIL8 | BANDAVAIL9 | BANDAVAIL10 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AGLHAL | ENERGY | 172 | 0.0 | 0.0 | 0.0 | 0.0 | 0 | 0 | 0 | 0 | 100 | 0 | 0 | 35 | 0 | 85 |
APD01 | LOWER5MIN | 16 | 50.0 | 165.0 | 100.0 | 165.0 | 10 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
All dispatch units to be dispatched in the market must be present in this table.
Notes:
- RAMPUPRATE and RAMPDOWNRATE are in MW per hour
- AGCSTATUS, units are only considered for regulating FCAS if their AGCSTATUS is 1
- RAISEREGENABLEMENTMAX, RAISEREGENABLEMENTMIN, LOWERREGENABLEMENTMAX and LOWEREGENABLEMENTMIN are the latest telemetered regulating FCAS trapezium values from the dispatch unit.
- AVAILABILITY limits total unit ENERGY dispatch
DUID | AGCSTATUS | INITIALMW | RAMPDOWNRATE | RAMPUPRATE | AVAILABILITY | RAISEREGENABLEMENTMAX | RAISEREGENABLEMENTMIN | LOWERREGENABLEMENTMAX | LOWEREGENABLEMENTMIN |
---|---|---|---|---|---|---|---|---|---|
AGLHAL | 0 | 0.0 | 600.0 | 600.0 | 172.0 | 0.0 | 0.0 | 0.0 | 0.0 |
BRAEMAR1 | 0 | 161.4 | 360.0 | 360.0 | 162.0 | 159.0 | 97.0 | 159.7 | 97.0 |
All interconnectors both regulated and market need to be defined in this table. Notes:
- Interconnectors of type MNSP do not need LOSSCONSTANT, LOSSFLOWCOEFFICIENT or FROMREGIONLOSSSHARE defined in this table.
INTERCONNECTORID | REGIONFROM | REGIONTO | LOSSCONSTANT | LOSSFLOWCOEFFICIENT | FROMREGIONLOSSSHARE | ICTYPE |
---|---|---|---|---|---|---|
N-Q-MNSP1 | NSW1 | QLD1 | 1.08720 | 0.00179 | 0.41 | REGULATED |
T-V-MNSP1 | TAS1 | VIC1 | 0 | 0 | 0 | MNSP |
All regions need their demand defined in this table.
REGIONID | TOTALDEMAND |
---|---|
NSW1 | 8457.3 |
All dispatch units to be dispatched in the market must be present in this table, but do not need to use all bidtypes, but prices must be given for all bidtypes with capacity bids.
Notes:
- Price must be strictly increasing for each unit and bidtype.
DUID | BIDTYPE | PRICEBAND1 | PRICEBAND2 | PRICEBAND3 | PRICEBAND4 | PRICEBAND5 | PRICEBAND6 | PRICEBAND7 | PRICEBAND8 | PRICEBAND9 | PRICEBAND10 |
---|---|---|---|---|---|---|---|---|---|---|---|
AGLHAL | ENERGY | -982.0 | 0.0 | 273.79 | 362.17 | 411.27 | 489.83 | 568.39 | 1340.98 | 10388.45 | 13747.01 |
All regulated interconnector must have their loss segments defined in this table, no market interconnectors should be in this table.
Notes:
- The lowest magnitude positive and negative segments are both implicitly defined to begin flow at 0 MW
- LOSSSEGMENT numbering should start at 1 and increase by increments of 1 with MWBREAKPOINT.
INTERCONNECTORID | LOSSSEGMENT | MWBREAKPOINT |
---|---|---|
N-Q-MNSP1 | 1 | -250 |
N-Q-MNSP1 | 2 | -125 |
N-Q-MNSP1 | 3 | 125 |
N-Q-MNSP1 | 4 | 250 |
For any given generic constraint (GENCONID), if the constraint is to apply to a connection point then the factor and bidtype must be defined in this table. Rows should not be duplicated on a GENCONID, CONNECTIONPOINTID and BIDTYPE basis.
GENCONID | CONNECTIONPOINTID | FACTOR | BIDTYPE |
---|---|---|---|
DSNAP_DFS_V_NIL_3 | NMR41M | -0.0753 | ENERGY |
For any given generic constraint (GENCONID), if the constraint is to apply to an interconnector then the factor and bidtype must be defined in this table. Rows should not be duplicated on a GENCONID and INTERCONNECTORID basis.
GENCONID | INTERCONNECTORID | FACTOR |
---|---|---|
DATASNAP | N-Q-MNSP1 | 1.0 |
All generic constraints to be applied need to be defined in this table.
GENCONID | CONSTRAINTTYPE | RHS | GENERICCONSTRAINTWEIGHT |
---|---|---|---|
DATASNAP | <= | 10082.4 | 4 |
For any given generic constraint (GENCONID), if the constraint is to apply to a region then the factor and bidtype must be defined in this table. Rows should not be duplicated on a GENCONID, BIDTYPE and REGIONID basis.
Notes:
- These constraints are used to define the market requirement for FCAS
GENCONID | REGIONID | FACTOR | BIDTYPE |
---|---|---|---|
L_I+LREG_0120 | VIC1 | 1.0 | LOWERREG |
For each regulated interconnector each regional demand that impacts the interconnector dynamic loss factor needs to have a demand coefficient defined in this table.
INTERCONNECTORID | REGIONID | DEMANDCOEFFICIENT |
---|---|---|
NSW1-QLD1 | QLD1 | -0.0000020855 |
For each market interconnector two link need to be defined in this table.
INTERCONNECTORID | LINKID | FROMREGION | TOREGION | FROM_REGION_TLF | TO_REGION_TLF | LHSFACTOR |
---|---|---|---|---|---|---|
T-V-MNSP1 | BLNKTAS | TAS1 | VIC1 | 1.0 | 0.98740 | 1 |
T-V-MNSP1 | BLNKVIC | VIC1 | TAS1 | 0.98740 | 1.0 | -1 |
All market interconnector links must have their price bids defined in this table.
LINKID | PRICEBAND1 | PRICEBAND2 | PRICEBAND3 | PRICEBAND4 | PRICEBAND5 | PRICEBAND6 | PRICEBAND7 | PRICEBAND8 | PRICEBAND9 | PRICEBAND10 |
---|---|---|---|---|---|---|---|---|---|---|
BLNKTAS | -968.40 | -299.99 | -49.99 | 0.01 | 50.01 | 100.01 | 300.01 | 1000.01 | 5000.01 | 13500 |
BLNKVIC | -1000.0 | -300.00 | -50.00 | 0.00 | 50.00 | 100.00 | 300.00 | 1000.00 | 5000.00 | 13500 |
All market interconnector links must have their capacity bids defined in this table.
LINKID | PRICEBAND1 | PRICEBAND2 | PRICEBAND3 | PRICEBAND4 | PRICEBAND5 | PRICEBAND6 | PRICEBAND7 | PRICEBAND8 | PRICEBAND9 | PRICEBAND10 |
---|---|---|---|---|---|---|---|---|---|---|
BLNKTAS | 0 | 0 | 0 | 594 | 0 | 0 | 0 | 0 | 0 | 0 |
BLNKVIC | 0 | 0 | 0 | 478 | 0 | 0 | 0 | 0 | 0 | 0 |
The market must have its price cap (value of lost load) and price floor defined in this table.
VOLL | MARKETPRICEFLOOR |
---|---|
14200 | -1000 |
This table returns the prices in all the regions (states), note currently only the energy service is priced.
State | Service | Price |
---|---|---|
NSW1 | ENERGY | 100.1 |
This table return the dispatch for all unit and interconnector links. Note links will be listed under the column DUID.
DUID | BIDTYPE | CAPACITYBAND | BID | INDEX | PRICE | DISPATCHED |
---|---|---|---|---|---|---|
BLUFF | ENERGY | BANDAVAIL1 | 53 | 5 | -986.3 | 7.492 |
This table returns the flow values for all regulated interconnectors by segment number. Note values are duplicated so the lhs coefficient for the two connected regions can be shown.
INTERCONNECTORID | DIRECTION | REGIONID | BIDTYPE | LOSSSEGMENT | MWBREAKPOINT | INDEX | MEANVALUE | UPPERBOUND | LHSCOEFFICIENTS | RHSCONSTANT | ROWINDEX | FROMREGIONLOSSSHARE | DISPATCHED |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
N-Q-MNSP1 | REGIONFROM | NSW1 | ENERGY | 34 | 0 | 1764 | 0 | 0 | -1.053092 | 7648.82 | 4405 | 0.52 | 0 |