-
Notifications
You must be signed in to change notification settings - Fork 203
PV User Interface (UI) Redesign #2135
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
Conversation
Includes copies of UI forms to be deleted before final merge
Add new row spacing variables: ``` gcr_option subarray2_ui_row_spacing subarray2_ui_row_spacing subarray3_ui_row_spacing subarray4_ui_row_spacing ``` Change variable names that start with `ui` so that `ui` follow subarray number for consistency (helps with UI callback FOR loops). Use `ui` instead of `ref` for variables that are not in SSC for consistency. Change MPPT input default value to one for all subarrays because of improved UI text. Delete unused variables: | Variable | Description | | --- | --- | | total_dc_inverter_capacity | UI for comparison with array DC capacity on old System Design page. Removed to reduce clutter. | | num_strings_total | UI for sizing summary on old System Design page. Removed to reduce clutter. | | num_enabled | Was needed for MPPT UI message boxes. Improved UI design eliminates these messages. Not used for simulation. | | offset | Was on old PV System Design form with Default UIObject and no widget and "row offset" label. Does not appear to be used. | | transformer_rating | Was on old PV Losses form with Numeric UIObject but no widget. Does not appear to be used | | pv_land_area_is_shown | Remove collapsible pane for land area inputs. Now on Tracking Layout Land page | | mismatch_shown | For subarray mismatch old collapsible pane, now part of Electrical Losses page. | Delete individual "number of MPPT" input on inverter UI forms and use single `inv_num_mppt` input on System Sizing Page. This eliminates the need for UI callback to assign value and puts inputj. ``` inv_snl_num_mppt inv_cec_cg_num_mppt inv_ds_num_mppt ``` Remove cross axis slope variables that are calculated in lib_irradproc.cpp.
Fix GCR and row spacing calculations
… for migration to new PV UI design Move `setup_grid_limits_page()` out of `setup_flat_plate_pv pages()` function
Fix bifacial mismatch check box
…n previous SAM version
For navigation menu, put PV pages in collapsible bin for PV battery configs
|
Thanks! This is much more streamlined and intuitive! Some notes on versions.lk:
I'll post more as I have a chance to run through some more tests. |
Fixed in latest commit. Thanks! |
Thanks for finding. Should be fixed now. |
brtietz
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome! You've fixed everything I could find: I tried a lot of weird electrical and subarray combinations and everything worked.
Probably best to wait for ~2 more people to test prior to merging in case they think of other test setups I missed.
|
@cpaulgilman I stumbled across another bug today: it looks like the new UI is incompatible with the simple efficiency module model. If you open detailed PV and change to that model, there's a callback error:
A similar error occurs for CEC performance model with user entered specifications. |
|
@brtietz Looks like I missed a couple of underscores there. Latest commit should fix those. |
|
I will make time for detailed review tomorrow. Sorry for the delay! |
mjprilliman
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the PV Battery default Row Dimensions should match Detailed PV (1 x 28) for consistency. Same for the Detailed PV hybrid configs.
Other than that this seems very well stress-tested as I can't find any issues. The information flow all feels intuitive to me.
I may get a chance to review more next week, but I'm also open to merging and making a revisions PR at a later point if that seems like a better plan. Not sure if we want to leave this open until Janine and others get to review.
@mjprilliman Good catch. Do you think the default modules along side of row should be set to 1 for all configurations, including the smaller Residential and Third Party Ownership systems? I'm leaning toward yes. |
@cpaulgilman I also lean towards yes, just for consistency. Self-Shading and land area are much less of a concern for those sets of defaults. |



Description
This PR reorganizes inputs for the Detailed PV (Flat Plate PV) model to improve usability.
Note Help will be updated in a separate pull request: Help pages for new UI forms do not work in this PR.
Fix Enable row spacing (pitch) as an input #2074 by adding an option to specify row spacing using either the GCR input or distance between rows as input.
Fix Loading Inverter Page resets custom inverter voltage ratings on System Design page #2082 by moving the "number of MPPTs" input from the inverter input page to the System Size page so that all of the MPPT inputs are in one place.
Add a new Set row dimensions when modules per string check box to the System Size page as an option to automatically set number of modules along bottom to the number of modules per string, and number of modules along side to 1. This avoids confusion about non-integer number of rows.
Variables
This PR includes new export_config files to account for variable changes that affect PySAM.
New Variables
These are for the new option to specify row spacing or GCR.
New option to automatically set modules along bottom of row to modules per string
Changed Variable Names
Move position of "ui" in variable names consistency in subarray variable names to facilitate UI callback FOR loops:
Replace "ref" with "ui" for consistency to indicate variables that are not used in SSC:
Rename GCR input (remove
refbecause this is an SSC variable). Therefvariables were UI only,_gcrdefaults do not change:Changed Default Values
For multiple MPPTs, set the initial state of each MPPT input to one when user changes number of MPPTs to a number greater than one. New UI messages help user assign correct value to each MPPT.
Deleted Variables
Delete individual "number of MPPT" input on inverter UI forms and use single
inv_num_mpptinput on System Sizing Page. This eliminates the need for UI callback to assign value and puts input:Cross axis slope appears to be calculated in lib_irradproc.cpp from terrain slope and terrain azimuth, so not needed in UI.
Defaults
All defaults should be updated, and "calculated value" inputs should have default values that correspond to default values of editable variables.
Remove High X Concentrating PV
inv_snl_num_mpptCorresponding branches and PRs:
The SAM/pv-ui-design branch goes with Develop branches of SAM-private, SSC, LK and WEX.
Unit Test Impact:
For configurations that have one-axis tracking as default, e.g., Detailed PV / Single Owner, the change in default number of modules along bottom and side changes the total annual energy, so this includes an updated test results file.
Checklist