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

Include Surface PV in Multiplier #6222

Closed
Myoldmopar opened this issue Jul 26, 2017 · 6 comments
Closed

Include Surface PV in Multiplier #6222

Myoldmopar opened this issue Jul 26, 2017 · 6 comments
Assignees
Labels
PriorityHigh This defect or feature has been declared high priority

Comments

@Myoldmopar
Copy link
Member

Issue overview

A user was experiencing an issue with surface connected PV.

As per the norm, they created a building model with a top/middle/bottom floor. Then they planned to use a multiplier to multiply the middle floor to match a certain building size.

They connected PV panels to building surfaces. They then noticed that when multipliers were in place, the PV production was not being multiplied.

It seems this should be possible since the PV is connected to surfaces which are connected to zones which are multiplied. Let's at least have a discussion here to figure out the magnitude.

Two files are attached, an actual geometry file that includes the surfaces all generated for all floors, which takes a lot of input and time to run, and a file with a multiplier that should produce the same amount of generation (or very close) after being multiplied.
actual_geometry.idf.txt
multiplier.idf.txt

@lgentile
Copy link
Contributor

I believe this is an issue that is blocking deliverables work on an NREL FY17 SBV project. Should be worked at with priority if at all possible.

@mjwitte mjwitte added the PriorityHigh This defect or feature has been declared high priority label Jul 26, 2017
@RKStrand RKStrand self-assigned this Aug 24, 2017
@RKStrand
Copy link
Contributor

RKStrand commented Aug 26, 2017

@Myoldmopar So, I ran both of the input files and looked at the code. I'm actually getting similar results (differences in facility electric are 0.4%) and the code seems to indicate that the zone multiplier is being used. Here is the code out of ReportPV subroutine:

if ( Surface( PVarray( PVnum ).SurfacePtr ).Zone != 0 ) { // might need to apply multiplier
	thisZone = Surface( PVarray( PVnum ).SurfacePtr ).Zone;
	PVarray( PVnum ).Report.DCEnergy *= ( Zone( thisZone ).Multiplier * Zone( thisZone ).ListMultiplier );
	PVarray( PVnum ).Report.DCPower *= ( Zone( thisZone ).Multiplier * Zone( thisZone ).ListMultiplier );
}

So, a multiplier is being applied as per this code and in this input file it seems to be doing what it is supposed to do. Am I missing something?

@Myoldmopar
Copy link
Member Author

@RKStrand I'm actually able to reproduce the diffs, but it's not super straightforward. First, I had to add relevant output variables (these idfs were part of a workflow that had the variables added later):

Output:Variable,*,Electric Load Center Produced Electric Power,hourly; !- HVAC Average [W]
Output:Variable,*,Electric Load Center Produced Electric Energy,hourly; !- HVAC Sum [J]

Once adding them, I ran the files, and when running ReadVarsESO, on the "actual" geometry file, I noticed it quietly limited the output variables to 255. So I had to run it with no limit: ReadVarsESO "" nolimit. After all that, I was able to open the csvs and actually find the relevant output variable: UBIQD - DISTRIBUTION:Electric Load Center Produced Electric Power [W](Hourly).

image

Something about the multiplier isn't being applied properly. Let me know if this doesn't make sense or if you need some more info. Thanks!

@RKStrand
Copy link
Contributor

@Myoldmopar Hmmm, ok I can see that is perhaps a problem. Interesting since the code seems to be dealing with the multiplier in the manner that one would expect. I'll look at it. By the way, I found looking at this and running into the 255 limit that you can avoid doing the no limit by moving the output variables around in the header of the eso file once you know which one you really need. Just cycle it to the top and it will be in the first 255. :) In any case, I will get back to this one once I wrap up another one I've been working on in the meantime.

@RKStrand
Copy link
Contributor

@Myoldmopar @lgentile Fix works, results between the two input files are now in line. About to create a pull request and then this can be tested.

@RKStrand RKStrand mentioned this issue Aug 31, 2017
18 tasks
@Myoldmopar
Copy link
Member Author

Closed via #6283

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PriorityHigh This defect or feature has been declared high priority
Projects
None yet
Development

No branches or pull requests

4 participants