Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ADD: OpenDSS PVSystem to PM Generators #105

Merged
merged 3 commits into from
Nov 26, 2018
Merged

ADD: OpenDSS PVSystem to PM Generators #105

merged 3 commits into from
Nov 26, 2018

Conversation

pseudocubic
Copy link
Collaborator

@pseudocubic pseudocubic commented Nov 14, 2018

Adds a section to the dss2tppm_gen! function to parse PVSystem OpenDSS objects into simple generators as a first approximation. Uses exclusively the kVA property to determine the generator limits pmin/pmax and qmin/qmax, i.e. 0/kVA and -kVA/kVA, respectively.

Added unit test assumes more generation than necessary from PV, and therefore power is expected to be injected back into the sourcebus generator (transmission network).

There are several supported OpenDSS properties for PVSystems that might be more appropriate, and I welcome discussion on the best practice to get the closest approximation to what OpenDSS might be doing.

In particular, Pmpp (Power at the max power point, kW @ 1 kW/m2 of irradiation) seems like it might be a better value to determine pmax. As a first step I was thinking we could assume default values for P-Tcurve, temperature, and irradiation, (i.e. constant, 25C, and 1, respectively), which are all required values to calculate the output power from the PV array. This seems to make Pmpp the hard upper limit on PV generation.

Another comment is that in the current implementation of dss2tppm_pv!, the OpenDSS properties of kW and kvar are utilized, but kw is undocumented as an input property (although it is indicated that it is an internal value that can be probed), and kvar seems to set the PVSystem into a constant kvar mode. Also, I noted that those values are not divided by nconductors, as we have done in the other generator cases. I therefore have some confusion about the current implementation of pvsystem parsing.

CC @frederikgeth @ccoffrin

Closes #11

@pseudocubic pseudocubic added Type: Enhancement New feature or request Category: Data Parsers parser issues labels Nov 14, 2018
@pseudocubic pseudocubic added this to the Release v0.2.0 milestone Nov 14, 2018
@pseudocubic pseudocubic self-assigned this Nov 14, 2018
@frederikgeth
Copy link
Collaborator

Sorry for the delay. This is an awesome addition!
I just ran one of our internal OpenDSS test cases with numerous single-phase PVSystem objects (e.g. New PVSystem.SOLAR65 Phases=1 Bus1=192.2 model=1 kVA=1 kV=0.24 irradiance=1 pmpp=1 kvar=1 %cutin=0 %cutout=0 temperature=25 ) and it returned reasonable results.

The logging messages of the parser could be updated that some value translation from PVSystem objects to generators actually occurs. A test case with a single-phase PV system may be useful as well.

@ccoffrin
Copy link
Member

@pseudocubic, you've tagged this for Release v0.2.0, are there any breaking changes in here? If not we can put it in v0.1.3.

@pseudocubic
Copy link
Collaborator Author

@ccoffrin no breaking changes, i only put it in v0.2.0 because we had discussed previously that it was not blocking for tagging v0.1.3

@ccoffrin
Copy link
Member

Closes #11

Adds a warning that PVSystem objects are being converted into
TPPM generators.

Adds single phase PV test.
@codecov
Copy link

codecov bot commented Nov 26, 2018

Codecov Report

Merging #105 into master will increase coverage by 0.82%.
The diff coverage is 96.66%.

Impacted file tree graph

@@            Coverage Diff            @@
##           master    #105      +/-   ##
=========================================
+ Coverage   76.77%   77.6%   +0.82%     
=========================================
  Files          28      28              
  Lines        2627    2657      +30     
=========================================
+ Hits         2017    2062      +45     
+ Misses        610     595      -15
Impacted Files Coverage Δ
src/io/opendss.jl 99.43% <96.66%> (+3.04%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 887a0f9...489a3ac. Read the comment docs.

Adds new feature to changelog
@pseudocubic pseudocubic merged commit 0bb5c24 into master Nov 26, 2018
@pseudocubic pseudocubic deleted the add/pv-as-gen branch November 26, 2018 20:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category: Data Parsers parser issues Type: Enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

PV Generators
3 participants