Enhance SAM with features tailored to your specific needs! We collaborate with companies, universities, and organizations to privately fund new capabilities or analyses. Your investment drives innovation while benefiting the broader energy community. Email us to learn more.

How to add a new subarray on a lk script and how to save the results

  • Gabriel Simões
  • Topic Author
More
27 Oct 2022 13:19 #11610 by Gabriel Simões
Hi SAM team.

First doubt:
I've generated a lk script from the system I've modeled  on SAM, and I wonder if it is possible to add a fifth subarray. I inserted the variables for this fifth subarray just copying the data from subarray 2 but the results didn't change.

Second doubt:
I would like to know if it is possible to save the hourly/sub-hourly results in a csv file. The aim of this lk script is simulate to many meteo files, but i would like to save the final results.

here's the part of the code with the fifth subarray:

var( 'subarray1_nstrings', 214 );
var( 'subarray1_modules_per_string', 36 );
var( 'subarray1_mppt_input', 1 );
var( 'subarray1_tilt', 0 );
var( 'subarray1_tilt_eq_lat', 0 );
var( 'subarray1_azimuth', 0 );
var( 'subarray1_track_mode', 1 );
var( 'subarray1_rotlim', 60 );
var( 'subarray1_shade_mode', 1 );
var( 'subarray1_gcr', 0.34999999999999998 );
var( 'subarray1_slope_tilt', 0 );
var( 'subarray1_slope_azm', 0 );
var( 'subarray1_monthly_tilt', [ 40, 40, 40, 20, 20, 20, 20, 20, 20, 40, 40, 40 ] );
var( 'subarray1_soiling', [ 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5 ] );
var( 'subarray1_rear_irradiance_loss', 3 );
var( 'subarray1_mismatch_loss', 0 );
var( 'subarray1_diodeconn_loss', 0 );
var( 'subarray1_dcwiring_loss', 2 );
var( 'subarray1_tracking_loss', 0 );
var( 'subarray1_nameplate_loss', 0 );
var( 'subarray2_rear_irradiance_loss', 3 );
var( 'subarray2_mismatch_loss', 0 );
var( 'subarray2_diodeconn_loss', 0 );
var( 'subarray2_dcwiring_loss', 2 );
var( 'subarray2_tracking_loss', 0 );
var( 'subarray2_nameplate_loss', 0 );
var( 'subarray3_rear_irradiance_loss', 0 );
var( 'subarray3_mismatch_loss', 2 );
var( 'subarray3_diodeconn_loss', 0.5 );
var( 'subarray3_dcwiring_loss', 2 );
var( 'subarray3_tracking_loss', 0 );
var( 'subarray3_nameplate_loss', 0 );
var( 'subarray4_rear_irradiance_loss', 0 );
var( 'subarray4_mismatch_loss', 2 );
var( 'subarray4_diodeconn_loss', 0.5 );
var( 'subarray4_dcwiring_loss', 2 );
var( 'subarray4_tracking_loss', 0 );
var( 'subarray4_nameplate_loss', 0 );

var( 'subarray5_rear_irradiance_loss', 3 );
var( 'subarray5_mismatch_loss', 0 );
var( 'subarray5_diodeconn_loss', 0 );
var( 'subarray5_dcwiring_loss', 2 );
var( 'subarray5_tracking_loss', 0 );
var( 'subarray5_nameplate_loss', 0 );

var( 'dcoptimizer_loss', 0 );
var( 'acwiring_loss', 1 );
var( 'transmission_loss', 0 );
var( 'subarray1_mod_orient', 0 );
var( 'subarray1_nmodx', 36 );
var( 'subarray1_nmody', 2 );
var( 'subarray1_backtrack', 1 );
var( 'subarray2_enable', 1 );
var( 'subarray2_modules_per_string', 36 );
var( 'subarray2_nstrings', 214 );
var( 'subarray2_mppt_input', 1 );
var( 'subarray2_tilt', 0 );
var( 'subarray2_tilt_eq_lat', 0 );
var( 'subarray2_azimuth', 0 );
var( 'subarray2_track_mode', 1 );
var( 'subarray2_rotlim', 60 );
var( 'subarray2_shade_mode', 1 );
var( 'subarray2_gcr', 0.34999999999999998 );
var( 'subarray2_slope_tilt', 0 );
var( 'subarray2_slope_azm', 0 );
var( 'subarray2_monthly_tilt', [ 40, 40, 40, 20, 20, 20, 20, 20, 20, 40, 40, 40 ] );
var( 'subarray2_soiling', [ 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5 ] );
var( 'subarray2_mod_orient', 0 );
var( 'subarray2_nmodx', 36 );
var( 'subarray2_nmody', 2 );
var( 'subarray2_backtrack', 1 );
var( 'subarray3_enable', 0 );
var( 'subarray3_modules_per_string', 0 );
var( 'subarray3_nstrings', 0 );
var( 'subarray3_mppt_input', 1 );
var( 'subarray3_tilt', 20 );
var( 'subarray3_tilt_eq_lat', 0 );
var( 'subarray3_azimuth', 180 );
var( 'subarray3_track_mode', 0 );
var( 'subarray3_rotlim', 45 );
var( 'subarray3_shade_mode', 0 );
var( 'subarray3_gcr', 0.29999999999999999 );
var( 'subarray3_slope_tilt', 0 );
var( 'subarray3_slope_azm', 0 );
var( 'subarray3_monthly_tilt', [ 40, 40, 40, 20, 20, 20, 20, 20, 20, 40, 40, 40 ] );
var( 'subarray3_soiling', [ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 ] );
var( 'subarray3_mod_orient', 0 );
var( 'subarray3_nmodx', 9 );
var( 'subarray3_nmody', 2 );
var( 'subarray3_backtrack', 0 );
var( 'subarray4_enable', 0 );
var( 'subarray4_modules_per_string', 0 );
var( 'subarray4_nstrings', 0 );
var( 'subarray4_mppt_input', 1 );
var( 'subarray4_tilt', 20 );
var( 'subarray4_tilt_eq_lat', 0 );
var( 'subarray4_azimuth', 180 );
var( 'subarray4_track_mode', 0 );
var( 'subarray4_rotlim', 45 );
var( 'subarray4_shade_mode', 0 );
var( 'subarray4_gcr', 0.29999999999999999 );
var( 'subarray4_slope_tilt', 0 );
var( 'subarray4_slope_azm', 0 );
var( 'subarray4_monthly_tilt', [ 40, 40, 40, 20, 20, 20, 20, 20, 20, 40, 40, 40 ] );
var( 'subarray4_soiling', [ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 ] );
var( 'subarray4_mod_orient', 0 );
var( 'subarray4_nmodx', 9 );
var( 'subarray4_nmody', 2 );
var( 'subarray4_backtrack', 0 );

var( 'subarray5_enable', 1 );
var( 'subarray5_modules_per_string', 36 );
var( 'subarray5_nstrings', 214 );
var( 'subarray5_mppt_input', 1 );
var( 'subarray5_tilt', 0 );
var( 'subarray5_tilt_eq_lat', 0 );
var( 'subarray5_azimuth', 0 );
var( 'subarray5_track_mode', 1 );
var( 'subarray5_rotlim', 60 );
var( 'subarray5_shade_mode', 1 );
var( 'subarray5_gcr', 0.34999999999999998 );
var( 'subarray5_slope_tilt', 0 );
var( 'subarray5_slope_azm', 0 );
var( 'subarray5_monthly_tilt', [ 40, 40, 40, 20, 20, 20, 20, 20, 20, 40, 40, 40 ] );
var( 'subarray5_soiling', [ 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5 ] );
var( 'subarray5_mod_orient', 0 );
var( 'subarray5_nmodx', 36 );
var( 'subarray5_nmody', 2 );
var( 'subarray5_backtrack', 1 );


Best regards
Gabriel

Please Log in or Create an account to join the conversation.

  • Paul Gilman
More
31 Oct 2022 12:11 #11622 by Paul Gilman
Hi Gabriel,

SAM's Detailed PV model (pvsamv1) is limited to four subarrays. It is not possible to add a fifth subarray.

You can use the csvwrite() function to save time series data to CSV. See the csv-functions.lk example file on GitHub here github.com/NREL/SAM/tree/develop/samples/LK%20Scripts%20for%20SAM .

Best regards,
Paul.

Please Log in or Create an account to join the conversation.

  • Gabriel Simões
  • Topic Author
More
02 Nov 2022 12:06 #11633 by Gabriel Simões
Thks so much, Paul.

Best regards

Please Log in or Create an account to join the conversation.

Moderators: Paul Gilman
Powered by Kunena Forum