Skip to content

Consolidate grid outage inputs on new Grid Outage input page#902

Merged
cpaulgilman merged 14 commits into
patchfrom
grid-outage-ui
Feb 2, 2022
Merged

Consolidate grid outage inputs on new Grid Outage input page#902
cpaulgilman merged 14 commits into
patchfrom
grid-outage-ui

Conversation

@cpaulgilman

@cpaulgilman cpaulgilman commented Jan 28, 2022

Copy link
Copy Markdown
Collaborator

Goes with NatLabRockies/ssc#739

Fixes #891

Fixes #864 by adding Grid Outage page to BTM Standalone configurations.

Revises version upgrade script text added in PR #884

Tasks

Test all configurations with BTM battery, except PVWatts - Battery

  • PV Battery

  • Generic Battery

  • Fuel Cell

  • Standalone Battery

Rename Grid page to Grid Limits page to differentiate from Grid Outage.

  • Note that this was Grid Limits before we added grid outage inputs to the page.

Create new Grid Outage page and consolidate inputs on one page.

  • Move Grid Outage from old Grid page

  • Move Battery Dispatch BTM Outage SOC form from BTM battery page

  • Move critical load inputs to new page

Remove LOAD_BELPE_CRIT and LOAD_SIMPLE_CRIT from startup script after testing all configs.

Fix Load page tooltips.

Check that crit_load_is_shown is not needed in SSC and remove default input in relevant configs.

PV Battery, Residential
PV Battery, Commercial
PV Battery, Third Party
PV Battery, Host Developer
Generic Battery, Residential
Generic Battery, Commercial
Generic Battery, Third Party
Generic Battery, Host Developer
Standalone Battery, Residential
Standalone Battery, Commercial
Standalone Battery, Third Party
Standalone Battery, Host Developer
Fuel Cell, Commercial

Check resiliency_graphs() autograph function: Keys off of exclusive var that we are no longer using, so check for PV Battery, Generic Battery, Standalone Battery, Fuel Cell config instead.

Modify Electric Load Data form to handle load data with or without critical load data so we don't have to maintain two versions of the form.

Version upgrade script to alert users when opening SAM 2020.11.29 or older files that inputs are on new Grid Outage page. Also change PVWatts message from warning to error.

Add critical load defaults to non-storage BTM configurations to allow for single Electric Load Data form for storage and non-storage configurations. This means adding defaults that are not used to BTM configurations without storage, but perhaps could be useful in future if we add critical load capabilities later.

annual_crit
crit_1
crit_2
crit_3
crit_4
crit_5
crit_6
crit_7
crit_8
crit_9
crit_10
crit_11
crit_12

Update Help.

Deal with displaying monthly critical load on load page.

  • UI text
  • Help

Run defaults script to make sure simulations work.

Click through Grid Outage and Electric Load Data UI page in BTM PV Battery, Generic Battery, Standalone Battery, Fuel Cell configs to check for UI callback issues.

Type of change

  • [x ] Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • [x ] 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
  • [x ] I have performed a self-review of my own code
  • [x ] I have commented my code, particularly in hard-to-understand areas
  • [x ] 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
  • [x ] 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

Put critical load, grid outage, and battery min SOC during outage inputs on Grid Outage page.

Rename Grid page to Grid Limit now that grid outage inputs are not on that page.

Also fix Electric Load page tooltips
Remove crit_load_is_shown default (exclusive var no longer needed)

Fix autographs for battery autonomy probabilities

Add battery autonomy to Metrics table

Revise UI text
* Electric Load Data and Electric Load Options forms replace Electric Load Crit, Electric Load Critical, Electric Load Other, and Electric Load froms

* Single Grid Outage page for critical load, grid outage, and battery minimum SOC for grid outage inputs

* Revise and test conditional text to provide better feedback on what combinations of inputs are feasible
* Message about grid outage inputs moving to Grid Outage page

* Change PVWatts Battery for grid outage to "error" so message is red and revise message.
Add critical load UI variable defaults so we can use a single Electric Load Data form for all BTM configurations instead of maintaining two copies of the form.

Remove exclusive var for Critical Load panel on old Electric Load page.
Includes numerous other revisions that will be listed in a subsequent PR before the SAM 2021.12.02 update.
@brtietz

brtietz commented Jan 28, 2022

Copy link
Copy Markdown
Collaborator

Behavior on the fuel cell page is inconsistent. I specified a critical load without enabling the battery, and got the expected warning, but then I'm allowed to modify two variables but not the grid outage:

image

I'd prefer all three boxes below the critical load specification to be greyed out while the battery is disabled, but mostly just looking for consistency.

@brtietz

brtietz commented Jan 28, 2022

Copy link
Copy Markdown
Collaborator

Another bug with the enable/disable code. Steps to reproduce:

(1) Change to "use time series critical load data"
(2) Specify one or more non-zero hours of critical load
(3) Change back to "calculate critical load as percentage..."
(4) Boxes stay enabled when they should be disabled.
(5) If you specify a grid outage at step (3) or (4), you get the following error when simulating:

exec fail(battery): If grid_outage is specified in any time step, crit_load must have length > 0 and values > 0
Simulation battery failed :exec fail(battery): If grid_outage is specified in any time step, crit_load must have length > 0 and values > 0

@brtietz brtietz left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

The page looks good, help directs to the right places, and the electric load page suggests scaling factors and similar are still working.

The enable/disable functions need to handle a few more edge cases, plus the defaults issue we discussed over email.

Nice work!

Fix fuel cell widget enabling to require enabled battery.

Fix tab order on Grid Outage and Electric Load Data forms.

Fix enabling of inputs when time series critical load data exists with option is set to percentage input.

Fix Electric Load callback issue for non-batt BTM configs.
@dguittet

Copy link
Copy Markdown
Collaborator

@cpaulgilman I like this organization! However, the PV Battery - Single Owner config has a callback error now:

image

I adjusted the dimensions of a text box a little bit for display on Mac.

@sjanzou sjanzou left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@cpaulgilman, same issue as @dguittet reported

Steps to reproduce:

  1. Add Case
  2. Energy Storage -> Detailed PV-Battery
  3. Power Purchase Agreement -> Single Owner

image

Same issue with Detailed PV-Battery / Merchant Plant and all Detailed PV-Battery / Power Purchase Agreement markets

Also resize Grid Outage text boxes and revise label for battery min SOC during outage
@cpaulgilman cpaulgilman self-assigned this Jan 31, 2022
@cpaulgilman cpaulgilman added this to the 2021.12.02 Patch 1 milestone Jan 31, 2022
@cpaulgilman

Copy link
Copy Markdown
Collaborator Author

@dguittet, @sjanzou The issue with autographs for FOM PV Battery configs should be fixed after my latest commit. Thanks!

@brtietz brtietz left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Latest revision looks good on Windows, thanks!

@dguittet dguittet left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Looks great!

@sjanzou sjanzou left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Working good!

@cpaulgilman cpaulgilman merged commit 4e6279a into patch Feb 2, 2022
@cpaulgilman cpaulgilman added the added to release notes PR and/or issue has been added to release notes for a public release label Feb 21, 2022
@cpaulgilman cpaulgilman deleted the grid-outage-ui branch October 20, 2022 22:33
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 enhancement

Projects

None yet

4 participants