Skip to content

Updated loss factor adjustments widget for lifetime, subhourly#1164

Merged
mjprilliman merged 12 commits intodevelopfrom
loss_factor_updates
Oct 20, 2022
Merged

Updated loss factor adjustments widget for lifetime, subhourly#1164
mjprilliman merged 12 commits intodevelopfrom
loss_factor_updates

Conversation

@mjprilliman
Copy link
Copy Markdown
Collaborator

Description

-Add Lifetime data array to loss adjustment widget to allow for lifetime, subhourly loss specifications
-Turn percentage inputs to fraction inputs (0-1)
-Have analysis_period for lifetime array widget automatically update with analysis period property in callbacks
-add new table variables rather than replace 'hourly' part of loss adjustment factor

TODO:
-Change percentages to fractions for period, constant loss portions of loss adjustment widget
-Update callbacks for loss adjustments to update analysis period, descriptive text
-hide 'hourly' factor in UI

Testing: file attached.
loss_factor_test.zip
Use loss_factor_updates branch in ssc. Test with detailed PV models

Fixes #703 (1 and 3)

Type of change

Please delete options that are not relevant.

  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

Checklist:

If you have added a new compute module in a SSC pull request related to this one, be sure to check the Process Requirements.

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules
  • I have checked my code and corrected any misspellings

Copy link
Copy Markdown
Collaborator

@sjanzou sjanzou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Issue 1 - widget does not update with changes in analysis period:
25 year default
image

change to 10 year analysis period on "Financial Parameters" page and reopen widget - still lists analysis period as 25 years
image

Issue 2 - please include Lifetime losses in summary when enabled - maybe "Lifetime losses: enabled"
image

issue 3 - do not allow "Enable lifetime series losses (%)" for no lifetime models like PVWatts:
image

and solar water heating
image

@cpaulgilman
Copy link
Copy Markdown
Collaborator

cpaulgilman commented Oct 4, 2022

In the Lifetime Array widget, the "analysis period" label is misleading because it is different from the analysis_period input on the Financial Parameters input page for non-lifetime performance models. Rename it to something like "Years in lifetime" or "Simulation years":

image

Also, add space between "losses" and "(%)":

image

@cpaulgilman cpaulgilman added the requires help revision Requires a Help revision before releasing public version label Oct 4, 2022
@mjprilliman
Copy link
Copy Markdown
Collaborator Author

mjprilliman commented Oct 5, 2022

Issue 1 - widget does not update with changes in analysis period: 25 year default

change to 10 year analysis period on "Financial Parameters" page and reopen widget - still lists analysis period as 25 years

Issue 2 - please include Lifetime losses in summary when enabled - maybe "Lifetime losses: enabled"

issue 3 - do not allow "Enable lifetime series losses (%)" for no lifetime models like PVWatts:

and solar water heating

Issue 1: This should be fixed with the most recent commit.

Issue 2: Included in most recent commits.

image

Issue 3: No we want to still use the hourly losses for PVWatts (and other non-lifetime models) or do we want to use the lifetime widget for all with simulation years set equal to 1? Could still be used to specify sub-hourly losses for non-lifetime.

@mjprilliman
Copy link
Copy Markdown
Collaborator Author

mjprilliman commented Oct 5, 2022

In the Lifetime Array widget, the "analysis period" label is misleading because it is different from the analysis_period input on the Financial Parameters input page for non-lifetime performance models. Rename it to something like "Years in lifetime" or "Simulation years":

Also, add space between "losses" and "(%)":

Is there a label that works for both the Losses widget usage and the Merchant Plant usage? Otherwise this might be difficult to change

@sjanzou
Copy link
Copy Markdown
Collaborator

sjanzou commented Oct 6, 2022

In the Lifetime Array widget, the "analysis period" label is misleading because it is different from the analysis_period input on the Financial Parameters input page for non-lifetime performance models. Rename it to something like "Years in lifetime" or "Simulation years":

Also, add space between "losses" and "(%)":

Is there a label that works for both the Losses widget usage and the Merchant Plant usage? Otherwise this might be difficult to change

@mjprilliman, @cpaulgilman, should we allow the losses to be tied to the analysis period and then apply them as such in the financial model? This is how the merchant plant works with PVWatts currently.

Another option would be to set the analysis period to 1 for non-lifetime models and then hide the "Analysis period" input in the widget.

@sjanzou sjanzou self-requested a review October 6, 2022 10:11
@cpaulgilman
Copy link
Copy Markdown
Collaborator

@mjprilliman, @cpaulgilman, should we allow the losses to be tied to the analysis period and then apply them as such in the financial model? This is how the merchant plant works with PVWatts currently.

Another option would be to set the analysis period to 1 for non-lifetime models and then hide the "Analysis period" input in the widget.

For non-lifetime models like PVWatts, I think it would be ok to use this widget and set the "simulation years" value to 1.

@cpaulgilman
Copy link
Copy Markdown
Collaborator

@mjprilliman I noticed you changed the label for time series losses from (%) to (0-1). Are we going ahead with changing the widget from percentages to generic numbers? This has an implication for CSP models that use the widget to set a constant 4% availability loss, for example on the Physical Trough System Control page, and will require careful updating of defaults, and will impact PySAM users (including work of NREL CSP team).

@mjprilliman
Copy link
Copy Markdown
Collaborator Author

@mjprilliman I noticed you changed the label for time series losses from (%) to (0-1). Are we going ahead with changing the widget from percentages to generic numbers? This has an implication for CSP models that use the widget to set a constant 4% availability loss, for example on the Physical Trough System Control page, and will require careful updating of defaults, and will impact PySAM users (including work of NREL CSP team).

We had discussed moving from % to 0-1 for this widget to give it more useable in other contexts in the future. If it is going to disrupt too many workflows I am happy to revert to % for this release and revisit later.

@mjprilliman
Copy link
Copy Markdown
Collaborator Author

In the Lifetime Array widget, the "analysis period" label is misleading because it is different from the analysis_period input on the Financial Parameters input page for non-lifetime performance models. Rename it to something like "Years in lifetime" or "Simulation years":
Also, add space between "losses" and "(%)":

Is there a label that works for both the Losses widget usage and the Merchant Plant usage? Otherwise this might be difficult to change

@mjprilliman, @cpaulgilman, should we allow the losses to be tied to the analysis period and then apply them as such in the financial model? This is how the merchant plant works with PVWatts currently.

Another option would be to set the analysis period to 1 for non-lifetime models and then hide the "Analysis period" input in the widget.

It seems setting analysis period to 1 is the agreed upon method so I will do that and modify the widget to hide the Analysis Period input in those cases.

@sjanzou
Copy link
Copy Markdown
Collaborator

sjanzou commented Oct 18, 2022

Please test following file
geothermal_annual_loss.zip

Year 10 has 50% loss and Year 20 has 100% loss but not reflected in summary graph output
image

Copy link
Copy Markdown
Collaborator

@sjanzou sjanzou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please test with geothermal_annual_loss.sam file
geothermal_annual_loss.zip

that has 50% loss in year 10 and 100% loss in year 20

@sjanzou sjanzou self-requested a review October 20, 2022 06:54
Copy link
Copy Markdown
Collaborator

@sjanzou sjanzou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With latest changes in ssc pull request 878, I think this is good for lockdown testing.

Great work.

@mjprilliman mjprilliman merged commit 75aa8d5 into develop Oct 20, 2022
@mjprilliman mjprilliman deleted the loss_factor_updates branch October 20, 2022 15:13
@cpaulgilman cpaulgilman removed the requires help revision Requires a Help revision before releasing public version label Nov 17, 2022
cpaulgilman added a commit that referenced this pull request Nov 17, 2022
PVWatts Battery section should be in collapsible panel.

PVWatts  module area estimate is wrong (does not include GCR).

Spatial results

Remove CSP boiler pressure: MSLF Power Cycle, CSP Rankine Power Cycle: #1192

Edit Losses new minute to add period: #1164

Geothermal resource, fix references, and four options for reservoir parameters.

Grid Limits: Battery dispatch does not consider interconnection limit.

Detailed PV losses nameplate loss can be up to -5%.

PVWatts albedo and advanced inputs.

Generic calculate generation profiles...

Battery manual dispatch BTM system priority option.

Marine wave include Alaska resource, and new "User values from wave resource file" option.

Revise annual energy and add cash flow energy items.

Revise capacity factor and system capacity table for PV DC and AC capacity

Update pv land area for #1127

Bifacial and spatial albedo.

GETEM revisions

Module efficiency per NatLabRockies/ssc#228

PVWatts versions in PVWatts top-level description: #1159

PDF / CDF tab P-value

PV uncertainty

Custom HTF optional properties

Capacity payments units.

Solar water heating change IAM coefficient label and remove total system flow rate.

Add link to PV smoothing preprint.

PV terrain slope clarification not available for non 1-axis tracking options.

NPV tips for interpreting NPV with links from other financial metrics.

LCOE calculator note about modeling incentives.

Battery results: Battery lifetime AC/DC units

Operating costs: Fix AC/DC units, revise escalation.

PV losses: Explain percentages for transformer losses, and list output variable names.

Grid outage explain battery SOC may go up to 100%: https://sam.nrel.gov/forum/forum-general/3977-battery-soc-when-constrained.html

Remove inputs browser link to parametrics youtube video.

Merchant plant: Note that revenue is zero if cleared capacity is zero for all time steps.

Revenue: Add link to CPUC procurement website for TOD factor library references

Replace "REopt Lite" with "REopt" per #1090

Inverter, Weighted Efficiency, update link to European weighted efficiency paper.

Generic CSP solar field area estimate in UI different from simulation value: https://sam.nrel.gov/forum/forum-general/3947

PV system design typo in tilt description suggestion to use parametrics: #1084

Fix dead link in Module NOCT temp model description to https://www.energy.ca.gov/programs-and-topics/programs/new-solar-homes-partnership-program-nshp

Self shading diffuse irradiance available for thin film and standard self-shading options since SAM 2020.2.29: https://sam.nrel.gov/forum/forum-general/3087
@cpaulgilman cpaulgilman added the added to release notes PR and/or issue has been added to release notes for a public release label Nov 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

added to release notes PR and/or issue has been added to release notes for a public release new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Loss Adjustment improvements

3 participants