Planner Module#

Configure and Plan the Optimiser#

class nemglo.planner.Plan(identifier)#

Main Planner object to create and run the load optimisation.

load_market_prices(market_prices)#

Load market inputs to planner module.

Parameters
  • timeseries (bool) – List of timestamps defining the intervals in the simulation period. The default is True.

  • market_prices (pandas.DataFrame) –

    Timeseries data of energy prices to consider in optimisation.

    Columns:

    Description:

    Time

    Dispatch interval timestamps (as datetime.datetime)

    Prices

    Market energy prices, $/MWh (as np.float64)

view_variable(name)#

View optimiser variables which are in the planner object.

Parameters

name (_type_) – _description_

Returns

_description_

Return type

_type_

relax_and_price_constr_violation(constr_name, sense, cost)#

Need to consider the sense + or - of variable in LHS as pos or neg cost

optimise(solver_name='CBC', save_debug=False, save_results=False, results_dir=None)#

Function called to run the optimisation solver. Files for decision variables and constraints are generated if save_debug_files is set as True. The generated optimisation results are saved in the planner module object.

Parameters

save_debug_files (bool) – Save the decision variable and constraint files to local directory. The default is True.

get_load()#

Retrieve the optimisation result for each interval load variable.

Returns

Returns dataframe containing timestamped and interval numbered load results.

Return type

pd.DataFrame

get_production()#

Retrieve the optimisation result for each interval h2 production variable.

Returns

Returns dataframe containing timestamped and interval numbered production results.

Return type

pd.DataFrame

get_storage_fill()#

Retrieve the optimisation result for each interval h2 stored variable.

Returns

Returns dataframe containing timestamped and interval numbered stored results.

Return type

pd.DataFrame

get_vre_availability(identifier)#

Retrieve the optimisation result for each interval vre availability for the specified DUID.

Parameters

duid (str) – The DUID for which the vre availability should be returned for.

Returns

Returns dataframe containing timestamped and interval numbered vre availability results.

Return type

pd.DataFrame

get_vre_capacity_factor(identifier)#

Retrieve the optimisation result for the average capacity factor over the simulation period for the specified DUID.

Parameters

duid (str) – The DUID for which the capacity factor should be returned for.

Returns

The capacity factor value corresponding to the specified VRE generator.

Return type

float

get_total_consumption()#

Retrieve the optimisation result for the total energy consumed by the load over the simulation period.

Returns

The total energy consumption in MWh of the load.

Return type

float

get_total_h2_production()#

Retrieve the optimisation result for the total h2 produced by the load over the simulation period.

Returns

The total energy consumption in MWh of the load.

Return type

float

get_load_capacity_factor()#

Retrieve the optimisation result for the average capacity factor of the load over the simulation period.

Returns

load_capfac – The capacity factor value of the electrolyser load.

Return type

float

get_lgc_summary()#

Retrieve the optimisation result for LGCs received and surrendered by source.

Returns

lgc_summary – Returns a dataframe summarising the amount of LGCs received (and surrendered) in MWh terms, mapping to each source.

Return type

pd.DataFrame