Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
3aa69b2
region set to CAISO_NORTH, remove assertion error
jbadsdata Jan 22, 2025
c2d0b40
tested TestRecalculatingOptimizer
jbadsdata Jan 22, 2025
ea25513
added parameter to limit print statements
jbadsdata Jan 24, 2025
7c9589a
started requery refactor
jbadsdata Jan 24, 2025
79bf965
requery and simulator class
jbadsdata Jan 28, 2025
bc40d7f
event loop example
jbadsdata Jan 30, 2025
393bbbc
requery functions in a testable state
jbadsdata Feb 7, 2025
5ef824b
Merge branch 'event_loop_trial' into optimizer
jbadsdata Feb 7, 2025
7de68d0
example type hints
jbadsdata Feb 10, 2025
37f6647
Merge pull request #2 from jbadsdata/type_hint_example
jbadsdata Feb 10, 2025
e562629
requery loop set up for review
jbadsdata Feb 21, 2025
a1ec705
moved recalculator tests and updated readme
jbadsdata Feb 23, 2025
3d7c882
adding recalculator tests - 2nd test fails
jbadsdata Feb 25, 2025
ad526e6
basic recalculator tests running
jbadsdata Feb 26, 2025
39f7a01
evalation classes
jbadsdata Mar 20, 2025
088951d
evaluation, session generation scripts ready for review
jbadsdata Mar 25, 2025
dea68c2
api, evaluator, utils updates
jbadsdata May 5, 2025
d49afdc
optimizer subpackage
jbadsdata May 5, 2025
66aaafe
synthetic notebook error corrected, other minor fixes
jbadsdata May 5, 2025
587b551
interval to segment
jbadsdata May 6, 2025
9aed59a
fit selection error fixed
jbadsdata May 6, 2025
79cad41
notebook and battery class updates
jbadsdata May 9, 2025
ed52cca
Merge pull request #4 from jbadsdata/optimizer_director_reorganize
jbadsdata May 9, 2025
2a0248b
Update Optimizer README.md
jbadsdata May 9, 2025
f261374
graphs
jbadsdata May 9, 2025
cacc385
visuals cleanup
jbadsdata Jun 8, 2025
5e4e1f4
example notebooks
jbadsdata Jun 10, 2025
a1b322b
Update Optimizer README.md
jbadsdata Jun 10, 2025
cd255bc
Rename datacenter_workload_1.ipynb to datacenter_workloads.ipynb
jbadsdata Jun 10, 2025
da3e10a
requery bug fixed
jbadsdata Jun 18, 2025
1ab574c
contigous analysis loop working with conversion to int
jbadsdata Jun 22, 2025
402b02a
all loops in working order
jbadsdata Jun 22, 2025
230733a
Update Optimizer README.md
jbadsdata Jun 25, 2025
1ac0850
Add files via upload
jbadsdata Jun 25, 2025
ed68422
Update Optimizer README.md
jbadsdata Jun 25, 2025
a518da5
Add files via upload
jbadsdata Jun 25, 2025
426c3d4
Update Optimizer README.md
jbadsdata Jun 25, 2025
5780c09
Camille suggestions
jbadsdata Jul 22, 2025
b45fd67
Main readme updates - explanation + permalink
jbadsdata Jul 22, 2025
21547ee
more permalinks
jbadsdata Jul 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,3 +144,17 @@ wt.region_from_loc(
# get shape files for all regions of a signal type
wt.get_maps_json('co2_moer')
```

# Optimizer Package

[Optimizer Read Me](https://github.com/jbadsdata/watttime-python-client/blob/5780c09e1a7aaae0bc9746cd0004c64c263ead1f/watttime_optimizer/Optimizer%20README.md)

WattTime data users use WattTime electricity grid-related data for real-time, evidence-based emissions reduction strategies.

The [WattTimeOptimizer](https://github.com/jbadsdata/watttime-python-client/tree/b45fd677cb38ec8e9095b1e4a53f5bb43383820b/watttime_optimizer) is an experimental feature designed to support the rapid development of automated emissions reduction (“AER”) software applications. It produces a proposed power usage schedule that minimizes carbon emissions subject to user and device constraints.

The feature has four basic requirements: Watttime’s forecast of marginal emissions (MOER) for a particular region, device capacity and energy needs, project usage window start time and projected window end time. The [underlying algorithms](https://github.com/jbadsdata/watttime-python-client/tree/b45fd677cb38ec8e9095b1e4a53f5bb43383820b/watttime_optimizer/alg) are simple enough to serve as a base for set of predefined use cases, outlined in the Optimizer Read Me, and mature enough to extend to encompass the requirements of more complex machinery.

Get started by reviewing example notebooks [here](https://github.com/jbadsdata/watttime-python-client/tree/b45fd677cb38ec8e9095b1e4a53f5bb43383820b/watttime_optimizer/notebooks).


4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
long_description=open('README.md').read(),
long_description_content_type="text/markdown",
version="v1.2.1",
packages=["watttime"],
packages=["watttime","watttime_optimizer"],
python_requires=">=3.8",
install_requires=["requests", "pandas>1.0.0", "python-dateutil"],
install_requires=["requests", "pandas>1.0.0", "python-dateutil","tqdm"],
)
16 changes: 16 additions & 0 deletions tests/test_battery.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
from watttime_optimizer.battery import Battery, CARS
import pandas as pd

tesla_charging_curve = pd.DataFrame(
columns=["SoC", "kW"],
data = CARS['tesla']
)

capacity_kWh = 70
initial_soc = .50

batt = Battery(tesla_charging_curve)

df = batt.get_usage_power_kw_df(capacity_kWh=capacity_kWh, initial_soc=initial_soc)

print(df.head())
Loading