Skip to content

v1.0.0

Compare
Choose a tag to compare
@ADGEfficiency ADGEfficiency released this 01 Oct 10:33
· 32 commits to main since this release
a692c6f

Features

Renewable Generators

The epl.RenewableGenerator asset models controllable, renewable generation like solar or wind.

import energypylinear as epl

asset = epl.RenewableGenerator(
    electricity_prices=[1.0, -0.5],
    electric_generation_mwh=[100, 100],
    electric_generation_lower_bound_pct=0.5,
    name="wind",
)

This asset can clip the lower bound of the generation to a percentage of the total available generation.

This allows the renewable generator asset to reduce its generation during periods of negative prices or carbon intensities.

Breaking Changes

Interval Data Rework

v1.0.0 moves the interval data arguments to asset from asset.optimize to asset.__init__:

import energypylinear as epl

#  the old way
asset = epl.Battery()
simulation = asset.optimize(electricity_prices=[10, -50, 200, -50, 200])

#  the new way
asset = epl.Battery(electricity_prices=[10, -50, 200, -50, 200])
simulation = asset.optimize()

The reasons for this change is that it allows different asset specific interval data to be specified when using the epl.Site API.

Other Breaking Changes

electricity_prices is now optional - only one of electricity_prices or elelectriciy_carbon_intensities must be specified during the initialization of either an asset or site.

For the epl.Battery asset, the argument efficiency has been renamed efficiency_pct.

The epl.Generator asset has been renamed to epl.CHP.

The accounting API has been reworked:

account = epl.get_accounts(
    forecasts.results,
    price_results=actuals.results,
    verbose=False
)

The simulation results object has been changed - the results pd.Dataframe is now the .results attribute on the simulation result object:

#  old way
results = asset.optimize()
results = results.simulation

#  new way
simulation = asset.optimize()
results = simulation.results

Bug Fixes

Fixed a bug in the documentation for optimizing for price and carbon.

Added the heat pump asset to the epl.Site API.

Documentation

Expanded the asset documentation from a single file into separate files, one per asset. Moved examples into the asset documentation.

Renamed the optimization section into How To.

Other Changes

Adopted semantic versioning.

Moved changelog into docs/changelog.

Upgraded Pydantic, Pandas & Numpy versions.