GMLC-1-4-2 / battery_interface

Implemenation of Device Models and their Battery Equivalent Interface
MIT License
5 stars 0 forks source link

Regulation Services Analyses #124

Open DavidWiniarski-pnnl opened 5 years ago

DavidWiniarski-pnnl commented 5 years ago

Regulation Service Analysis 05/22/19 dww (Various services with 5/20 Master)

Regulation Service against PV @ raselmahmud02 @jingjingliu2018 @Hayden-Reeve @emayhorn

Traditional_Regulation / PV Drive cycle file: 08 2017 Traditional.csv Time: 08/03/2017 16:00 to 18:59 Sim Step: 2s Assigned Service KW: 187.5 kW (0.75 service wt.)

Service Metrics 20190521_annual_hourlyresults_Traditional_PV.xlsx

20190521_August_2secnormsignals_Traditional_PVInverterFleet

Fleet Impacts Energy : 166 kWh

Dynamic_Regulation/PV Drive cycle file: 08 2017 Dynamic.csv Time: 08/03/2017 16:00 to 18:59 Sim Step: 2s Assigned Service KW: 187.5 kW (0.75 service wt.)

Service Metrics 20190521_annual_hourlyresults_Dynamic_PV.xlsx

20190521_August_2secnormsignals_Dynamic_PVInverterFleet

Fleet Impacts Energy : 349 kWh

In both cases the PV fleet can act to follow P_request only when the P_request is negative, as expected. For the 8/3 drivecycles, both traditional and dynamic requests swing positive and negative, illustrating this.


Regulation Service against Fuel Cells @rkadavil @jingjingliu2018 @Hayden-Reeve @emayhorn

Traditional_Regulation / FuelCell Drive cycle file: 08 2017 Traditional.csv Time: 08/01/2017 16:00 to 18:59 Sim Step: 2s Assigned Service KW: 80 kW ((1.0 service wt. from config.ini, 50 cells 1.6kW ))

Service Metrics 20190522_annual_hourlyresults_Traditional_FuelCell.xlsx

20190522_August_2secnormsignals_Traditional_FuelCellFleet

Impact Metrics

ImpactMetrics_Regulation_FuelCell_20190522T2138_trad.xlsx

Dynamic_Regulation / FuelCell Drive cycle file: 08 2017 Traditional.csv Time: 08/01/2017 16:00 to 18:59 Sim Step: 2s Assigned Service KW: 80 kW ((1.0 service wt. from config.ini, 50 cells 1.6kW ))

Service Metrics 20190522_annual_hourlyresults_Dynamic_FuelCell.xlsx

20190522_August_2secnormsignals_Dynamic_FuelCellFleet

Impact Metrics ImpactMetrics_Regulation_FuelCell_20190522T2132 (dyn).xlsx

Observations The FuelCell fleet response appears to follow P_request with P_request either positive or negative. The default kW min and max range for this fleet (in the config file) is Pmin = 6kW and Pmax=240kW. P_base is 113 kW, so the 80 kW swing in service appears to be within the range of fuel cell output.


Regulation Service against Electrolyzers

Traditional_Regulation / Electrolyzer Drive cycle file: 08 2017 Traditional.csv Time: 08/01/2017 16:00 to 18:59 Sim Step: 2s Assigned Service KW: 75 kW (service wt. =0.75 set in config.ini with 50 cells @2kW in fleet)

Service Metrics 20190522_annual_hourlyresults_Traditional_Electrolyzer.xlsx

20190522_August_2secnormsignals_Traditional_ElectrolyzerFleet

Impact Metrics ImpactMetrics_Regulation_Electrolyzer_20190522T2155._trad.xlsx

Dynamic_Regulation/Electrolyzer Drive cycle file: 08 2017 Dynamic.csv Time: 08/01/2017 16:00 to 18:59 Sim Step: 2s Assigned Service KW: 75 kW (Service wt.=0.75 set in config.ini, 50 cells @2kW in fleet )

Service Metrics

20190522_annual_hourlyresults_Dynamic_Electrolyzer.xlsx

20190522_August_2secnormsignals_Dynamic_ElectrolyzerFleet

Impact Metrics ImpactMetrics_Regulation_Electrolyzer_20190522T2151_dyn.xlsx

Observations: The Electrolyzer tracked the requests largely up to the fleets ability. A 0.5 service weight resulted in a near perfect tracking of request and response for the signal. A 0.75 service weight was selected to illustrate the "clipping" where the magnitude of the request resulted in some service not being able to be met by the Electrolyzer fleet.


Regulation Service against Electric Vehicles @afernandezcanosa @jingjingliu2018 @Hayden-Reeve @emayorn

Traditional Regulation / Electric Vehicles Drive cycle file: 08 2017 Traditional.csv Time: 08/01/2017 16:00 to 18:59 Sim Step: 2s Assigned Service KW: 80 kW (0.20 service wt. 200 sub fleet)

Service Metrics

20190522_annual_hourlyresults_Traditional_ElectricVehicle.xlsx

20190522_August_2secnormsignals_Traditional_ElectricVehiclesFleet

Impact Metrics ImpactMetrics_Regulation_ElectricVehicles_20190522T1844_trad.xlsx

Observations The request from the traditional regulation service is negative this drive cycle with the request starting out as -80.2 kW. This appeared to go on for the first hour and was well tracked by the response. However, by about 17:10 the response no longer follows the request. This could be due to all vehicles who had the capacity to be charged early having been charged. After 17:10 the "response" appears to be the opposite of the request. This appears likely to be a rebound affect from the first hour’s request. With the regulation service, the requests are continuous over the year. A continuous request for additional power draw from the grid in the first hour likely means more vehicles were charged early and could not draw power for the rest of the drive cycle. The rebound shows up as a response in the opposite sign of the request. _(Alejandro Please Verify with your thoughts). Note for this run, RefMonteCarlo=True, RunBaseline=False in config.ini)

Dynamic Regulation / Electric Vehicles Drive cycle file: 08 2017 Dynamic.csv Time: 08/01/2017 16:00 to 18:59 Sim Step: 2s Assigned Service KW: 80 kW (0.20 service wt. 200 subfleet, RefMonteCarlo=True, Run Baselin=False in config.ini)

Service Metrics 20190523_annual_hourlyresults_Dynamic_ElectricVehicle_Monte.xlsx

20190523_August_2secnormsignals_Dynamic_ElectricVehiclesFleet

Impact Metrics ImpactMetrics_Regulation_ElectricVehicles_20190523T0006DynMonte.xlsx

Observations. Note that P_base is different than in the traditional runs above. Generally P_response follows P_request temporally for positive P_Requests and for some, but perhaps fewer negative P_requests. In both cases, the size of the request (at -80 to +80 MW is more than the fleet P_base for many of these hours resulting in a truncated response.

* non montecarlo comparison for EV below*** Dynamic Regulation / Electric Vehicles Drive cycle file: 08 2017 Dynamic.csv Time: 08/01/2017 16:00 to 18:59 Sim Step: 2s Assigned Service KW: 80 kW (0.20 service wt. 200 subfleet, RefMonteCarlo=False, RunBaseline=False )

Service Metrics

20190523_annual_hourlyresults_Dynamic_ElectricVehicle.xlsx

20190523_August_2secnormsignals_Dynamic_ElectricVehiclesFleet

Impact Metrics ImpactMetrics_Regulation_ElectricVehicles_20190523T1449_dyn.xlsx

Observations The request from the dynamic regulation service is over the same period. The Base powerdraw from the fleet is somewhat different than the montecarlo dynamic shown above. In this case, there appears to be no ability to respond to a negative request on this date.

jingjingliu2018 commented 5 years ago

David,

Thanks for the new results! A couple of interesting observations:

Jingjing

On Thu, May 23, 2019 at 12:12 PM DavidWiniarski-pnnl < notifications@github.com> wrote:

Regulation Service Analysis 05/22/19 dww (Various services with 5/20 Master)

Regulation Service against PV @ raselmahmud02 @jingjingliu2018 https://github.com/jingjingliu2018 @Hayden-Reeve https://github.com/Hayden-Reeve @emayhorn https://github.com/emayhorn

Traditional_Regulation / PV Drive cycle file: 08 2017 Traditional.csv Time: 08/03/2017 16:00 to 18:59 Sim Step: 2s Assigned Service KW: 187.5 kW (0.75 service wt.)

Service Metrics 20190521_annual_hourlyresults_Traditional_PV.xlsx https://github.com/GMLC-1-4-2/battery_interface/files/3213663/20190521_annual_hourlyresults_Traditional_PV.xlsx

[image: 20190521_August_2secnormsignals_Traditional_PVInverterFleet] https://user-images.githubusercontent.com/44621661/58277595-e4bca480-7d4e-11e9-9caf-03e7c4d417ca.png

Fleet Impacts Energy : 166 kWh

Dynamic_Regulation/PV Drive cycle file: 08 2017 Dynamic.csv Time: 08/03/2017 16:00 to 18:59 Sim Step: 2s Assigned Service KW: 187.5 kW (0.75 service wt.)

Service Metrics 20190521_annual_hourlyresults_Dynamic_PV.xlsx https://github.com/GMLC-1-4-2/battery_interface/files/3213686/20190521_annual_hourlyresults_Dynamic_PV.xlsx

[image: 20190521_August_2secnormsignals_Dynamic_PVInverterFleet] https://user-images.githubusercontent.com/44621661/58277880-965bd580-7d4f-11e9-9e53-71957d7c0466.png

Fleet Impacts Energy : 349 kWh

In both cases the PV fleet can act to follow P_request only when the P_request is negative, as expected. For the 8/3 drivecycles, both traditional and dynamic requests swing positive and negative, illustrating this.

Regulation Service against Fuel Cells @rkadavil https://github.com/rkadavil @jingjingliu2018 https://github.com/jingjingliu2018 @Hayden-Reeve https://github.com/Hayden-Reeve @emayhorn https://github.com/emayhorn

Traditional_Regulation / FuelCell Drive cycle file: 08 2017 Traditional.csv Time: 08/01/2017 16:00 to 18:59 Sim Step: 2s Assigned Service KW: 80 kW ((1.0 service wt. from config.ini, 50 cells 1.6kW ))

Service Metrics 20190522_annual_hourlyresults_Traditional_FuelCell.xlsx https://github.com/GMLC-1-4-2/battery_interface/files/3213699/20190522_annual_hourlyresults_Traditional_FuelCell.xlsx

[image: 20190522_August_2secnormsignals_Traditional_FuelCellFleet] https://user-images.githubusercontent.com/44621661/58278458-ed15df00-7d50-11e9-9e83-b28ba49ce5bf.png

Impact Metrics

ImpactMetrics_Regulation_FuelCell_20190522T2138_trad.xlsx https://github.com/GMLC-1-4-2/battery_interface/files/3213708/ImpactMetrics_Regulation_FuelCell_20190522T2138_trad.xlsx

Dynamic_Regulation / FuelCell Drive cycle file: 08 2017 Traditional.csv Time: 08/01/2017 16:00 to 18:59 Sim Step: 2s Assigned Service KW: 80 kW ((1.0 service wt. from config.ini, 50 cells 1.6kW ))

Service Metrics 20190522_annual_hourlyresults_Dynamic_FuelCell.xlsx https://github.com/GMLC-1-4-2/battery_interface/files/3213710/20190522_annual_hourlyresults_Dynamic_FuelCell.xlsx

[image: 20190522_August_2secnormsignals_Dynamic_FuelCellFleet] https://user-images.githubusercontent.com/44621661/58278736-880eb900-7d51-11e9-8b41-2cd41b293d17.png

Impact Metrics ImpactMetrics_Regulation_FuelCell_20190522T2132 (dyn).xlsx https://github.com/GMLC-1-4-2/battery_interface/files/3213713/ImpactMetrics_Regulation_FuelCell_20190522T2132.dyn.xlsx

Observations The FuelCell fleet response appears to follow P_request with P_request either positive or negative. The default kW min and max range for this fleet (in the config file) is Pmin = 6kW and Pmax=240kW. P_base is 113 kW, so the 80 kW swing in service appears to be within the range of fuel cell output.

Regulation Service against Electrolyzers

Traditional_Regulation / Electrolyzer Drive cycle file: 08 2017 Traditional.csv Time: 08/01/2017 16:00 to 18:59 Sim Step: 2s Assigned Service KW: 75 kW (service wt. =0.75 set in config.ini with 50 cells @2kW https://github.com/2kW in fleet)

Service Metrics 20190522_annual_hourlyresults_Traditional_Electrolyzer.xlsx https://github.com/GMLC-1-4-2/battery_interface/files/3213740/20190522_annual_hourlyresults_Traditional_Electrolyzer.xlsx

[image: 20190522_August_2secnormsignals_Traditional_ElectrolyzerFleet] https://user-images.githubusercontent.com/44621661/58279356-0750bc80-7d53-11e9-84eb-7d4821f916f3.png

Impact Metrics ImpactMetrics_Regulation_Electrolyzer_20190522T2155._trad.xlsx https://github.com/GMLC-1-4-2/battery_interface/files/3213744/ImpactMetrics_Regulation_Electrolyzer_20190522T2155._trad.xlsx

Dynamic_Regulation/Electrolyzer Drive cycle file: 08 2017 Dynamic.csv Time: 08/01/2017 16:00 to 18:59 Sim Step: 2s Assigned Service KW: 75 kW (Service wt.=0.75 set in config.ini, 50 cells @2kW https://github.com/2kW in fleet )

Service Metrics

20190522_annual_hourlyresults_Dynamic_Electrolyzer.xlsx https://github.com/GMLC-1-4-2/battery_interface/files/3213753/20190522_annual_hourlyresults_Dynamic_Electrolyzer.xlsx

[image: 20190522_August_2secnormsignals_Dynamic_ElectrolyzerFleet] https://user-images.githubusercontent.com/44621661/58279591-a70e4a80-7d53-11e9-91a8-b716391a5eb2.png

Impact Metrics ImpactMetrics_Regulation_Electrolyzer_20190522T2151_dyn.xlsx https://github.com/GMLC-1-4-2/battery_interface/files/3213756/ImpactMetrics_Regulation_Electrolyzer_20190522T2151_dyn.xlsx

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/GMLC-1-4-2/battery_interface/issues/124?email_source=notifications&email_token=AJOM3KKEXVM6JPIDWNL6OYTPW3T67A5CNFSM4HPJPHNKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4GVRKBEQ, or mute the thread https://github.com/notifications/unsubscribe-auth/AJOM3KOA3B3H4G7LXRGICDTPW3T67ANCNFSM4HPJPHNA .

-- Jingjing Liu, P.E., CDCP, BEAP, CP EnMS – Industrial, SEP Performance Verifier – Industrial

Program Manager Building & Industrial Applications, Energy Technologies Area Lawrence Berkeley National Laboratory Phone: (510) 486-5410 Email: JingjingLiu@lbl.gov psheaffer@lbl.gov Web: https://industrialapplications.lbl.gov/

afernandezcanosa commented 5 years ago

@DavidWiniarski-pnnl Thanks for posting the EV results! Here you have some questions that I have:

Thanks,

DavidWiniarski-pnnl commented 5 years ago

@DavidWiniarski-pnnl Thanks for posting the EV results! Here you have some questions that I have:

  • I would suggest assigning RefMonteCarlo=True to observe the rebound effect shown in the first plot. This effect can only be observed with the Monte Carlo baseline and seems very interesting to me. On the other hand, the other services are using RefMonteCarlo=False to avoid discretization errors, so maybe we are not being very consistent here.
  • With 200 vehicle fleet, do you mean 200 sub-fleets (each sub fleet has 2,000 vehicles) or 200 vehicles per sub fleet?
  • You say Time: 08/01/2017 12:00 to 14:59, but the plots show from 16:00 to 19:00. Can you clarify this? I think that it is from 16:00 to 19:00, but I am not sure.
  • Did you check the start times were the same? The baseline power should be the same at the beginning of the simulation for both traditional and dynamic simulations.

Thanks,

Alejandro. Thanks for your support from last week. I did several reruns over the wkend. The first two regulation posts against EV (Trad and Dyn) have montecarlo =true. The third (dynamic) shows what happened when I set Montecarlo = false.

The config file was 200 subfleets and the time stamps were from 1600 to 1900 on 8/1. updated post to show correctly. The hourly impacts results for the regulation service have time stamps for the beginning of the hour. I have been saving the test.py files for each run and they are both starting at the same time.

I am still puzzled as the baseline (P_base) seems to be different between the traditional and the dynamic services even with the same start point. I ran a traditional reg service at 8/3 and that looks like what you sent back on 5/22 to me by email (with the updated plotting).

afernandezcanosa commented 5 years ago

@DavidWiniarski-pnnl I was thinking that we might show both Montecarlo = True and Montecarlo = False results and explain the differences in the trial analysis report. I can add a couple of paragraphs in the corresponding section of the report to explain this.

Didn't you have any problem with the P_base in traditional vs dynamic for the HVAC fleet? I was wondering if this is a problem of the grid service code as the rest of the grid services provide a consistent P_base.

Also, do you plan to show results at noon? This way, we can clearly show the poor availability of the fleet at these times. I would recommend using Montecarlo = False for these simulations. Let me know if you need support to run these simulations to reduce your CPU load.

Thanks!

DavidWiniarski-pnnl commented 5 years ago

@afernandezcanosa . So, I think we may have an issue with the dynamic service that results from how it is coded to run after the traditional runs in all cases (LBNL is exploring this). Because of timing I am starting to put some run results into the report. I have run a montecarlo=true and montecarlo=false runs on the same drive cycle and maybe you can look at these and see if they illustrate well the montecarlo vs non montecarlo aspects of the vehicle fleet.

MonteCarlo - True 20190603_August_2secnormsignals_Traditional_ElectricVehiclesFleet

MonteCarlo- False 20190528_August_2secnormsignals_Traditional_ElectricVehiclesFleet

afernandezcanosa commented 5 years ago

@afernandezcanosa . So, I think we may have an issue with the dynamic service that results from how it is coded to run after the traditional runs in all cases (LBNL is exploring this). Because of timing I am starting to put some run results into the report. I have run a montecarlo=true and montecarlo=false runs on the same drive cycle and maybe you can look at these and see if they illustrate well the montecarlo vs non montecarlo aspects of the vehicle fleet.

MonteCarlo - True 20190603_August_2secnormsignals_Traditional_ElectricVehiclesFleet

MonteCarlo- False 20190528_August_2secnormsignals_Traditional_ElectricVehiclesFleet

@DavidWiniarski-pnnl That is exactly what I expected. When referenced to the Monte Carlo baseline, the fleet is able to provide negative services, but when it is referenced to the current day baseline, the fleet is only able to respond with load-reduction responses.

These results look fine to me. Let me know if you need help with the discussion. Thanks!

DavidWiniarski-pnnl commented 5 years ago

Great. Given all the other services I am not sure how much more will get into the report right now regarding traditional reg services on vehicles, but I will start by including these two and let you review.

From: Alejandro Fernandez Canosa [mailto:notifications@github.com] Sent: Tuesday, June 04, 2019 8:43 AM To: GMLC-1-4-2/battery_interface battery_interface@noreply.github.com Cc: Winiarski, David W David.Winiarski@pnnl.gov; Mention mention@noreply.github.com Subject: Re: [GMLC-1-4-2/battery_interface] Regulation Services Analyses (#124)

@afernandezcanosahttps://github.com/afernandezcanosa . So, I think we may have an issue with the dynamic service that results from how it is coded to run after the traditional runs in all cases (LBNL is exploring this). Because of timing I am starting to put some run results into the report. I have run a montecarlo=true and montecarlo=false runs on the same drive cycle and maybe you can look at these and see if they illustrate well the montecarlo vs non montecarlo aspects of the vehicle fleet.

MonteCarlo - True [20190603_August_2secnormsignals_Traditional_ElectricVehiclesFleet]https://user-images.githubusercontent.com/44621661/58877839-a7c5ab80-8686-11e9-8ff8-07fbf8df39bb.png

MonteCarlo- False [20190528_August_2secnormsignals_Traditional_ElectricVehiclesFleet]https://user-images.githubusercontent.com/44621661/58877954-ff641700-8686-11e9-8a2f-a4da27369fba.png

@DavidWiniarski-pnnlhttps://github.com/DavidWiniarski-pnnl That is exactly what I expected. When referenced to the Monte Carlo baseline, the fleet is able to provide negative services, but when it is referenced to the current day baseline, the fleet is only able to respond with load-reduction responses.

These results look fine to me. Let me know if you need help with the discussion. Thanks!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/GMLC-1-4-2/battery_interface/issues/124?email_source=notifications&email_token=AKUN6XJ7TEUZ573FLCABYMLPY2ERBA5CNFSM4HPJPHNKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODW47WTI#issuecomment-498727757, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AKUN6XKDYWIGHAGGJEFSJUTPY2ERBANCNFSM4HPJPHNA.