From 8e6e49797bff2d9b64c11c9f9d62982f2c1be12e Mon Sep 17 00:00:00 2001 From: Paul Gilman Date: Tue, 9 Jun 2026 10:15:27 -0700 Subject: [PATCH 1/2] Biopower Solar Information UI Form Load Error (#2206) * Fix check on rhum for biopower ambient conditions page * Fix solar resource enabling/disabling and UI text revisions --- .../runtime/ui/Solar Resource Download.json | 34 +++++++++++++------ .../ui/Solar Resource Information.json | 21 +++++------- deploy/runtime/ui/Solar Resource Library.json | 12 +++---- 3 files changed, 38 insertions(+), 29 deletions(-) diff --git a/deploy/runtime/ui/Solar Resource Download.json b/deploy/runtime/ui/Solar Resource Download.json index 19682c3d8d..7d2a26680e 100644 --- a/deploy/runtime/ui/Solar Resource Download.json +++ b/deploy/runtime/ui/Solar Resource Download.json @@ -32,11 +32,11 @@ }, "Caption": { "Type": 5.0, - "String": "Visit the SAM website Weather Page for links to other data sources." + "String": "Visit the SAM website Weather Page for links to other data sources" }, "URL": { "Type": 5.0, - "String": "https://sam.nrel.gov/weather-data" + "String": "https://sam.nlr.gov/weather-data" }, "TabOrder": { "Type": 3.0, @@ -110,7 +110,7 @@ }, "Caption": { "Type": 5.0, - "String": "Show download log" + "String": "Show Download Log" }, "TabOrder": { "Type": 3.0, @@ -643,7 +643,7 @@ "Callbacks": [ "on_load{'Solar Resource Download'} = define() {\r", "\t//msgbox('Debug\\non_load Solar Resource Download');", - "\tenable('in_location_list', value('in_location_options') == 1 );\r", + "\tenable_options();\r", "\tshow_hide_advanced();\r", "};", "\r", @@ -668,31 +668,37 @@ "};\r", "\r", "on_change{ 'in_nsrdb_options' } = define() {\r", - "\tenable('in_location_list', value('in_location_options') == 1 && !value('is_advanced'));\r", - "\tenable('in_location', value('in_location_options') == 0 && !value('is_advanced'));\r", - "\tenable('in_location_options', !value('is_advanced') );\r", - "\t// 30-minute data not available for tmy\r", - "\tshow('in_time_step', value('in_nsrdb_options') != 0 && !value('is_advanced')); \r", - "\trefresh();\r", + "\tenable_options();\r", "};\r", "\r", "on_change{ 'is_advanced' } = define() {\r", "\tshow_hide_advanced();\r", "};\r", "\r", + "function enable_options() {\r", + "\tenable('in_location_list', value('in_location_options') == 1 && !value('is_advanced'));\r", + "\tenable('in_location', value('in_location_options') == 0 && !value('is_advanced'));\r", + "\tenable('in_location_options', !value('is_advanced') );\r", + "\t// 30-minute data not available for tmy\r", + "\tenable('in_time_step', value('in_nsrdb_options') != 0 && !value('is_advanced')); \r", + "}\r", + "\r", "function show_hide_advanced() {\r", "\tif ( value('is_advanced') ) {\r", "\t\tproperty( 'download_weather_caption' , 'Caption' , 'Click the Download button to choose files from a complete list of files available from the NSRDB, including TMY, TGY, TDY for different years and subhourly data.');\r", "\t\tproperty( 'download_weather_caption' , 'TextColour', 'black' );\r", + "\t\tproperty( 'btn_download', 'Caption', 'Advanced NSRDB Options...');\r", "\t}\r", "\telse {\r", "\t\tproperty( 'download_weather_caption' , 'Caption' , 'The NSRDB is a database of weather files that you can download and add to your to your solar resource library: Download a default typical-year (TMY) file for most long-term cash flow analyses, or choose files for single-year or P50/P90 analyses. See Help for details.' );\r", "\t\tproperty( 'download_weather_caption' , 'TextColour', 'black' );\r", + "\t\tproperty( 'btn_download', 'Caption', 'Download');\r", + "\r", "\t}\r", "\tshow('options_divider', !value('is_advanced') );\r", "\tshow('in_location_options', !value('is_advanced') );\r", "\tshow('in_nsrdb_options', !value('is_advanced') );\r", - "\tshow('in_time_step', value('in_nsrdb_options') != 0 && !value('is_advanced')); \r", + "\tshow('in_time_step', !value('is_advanced')); \r", "\tshow('in_location_list', !value('is_advanced') );\r", "\tshow('in_location', !value('is_advanced') );\r", "\trefresh();\r", @@ -914,6 +920,12 @@ "}\r", "\r", "function nsrdb_get() {\r", + "\r", + "\tif (value('in_location') == '' ) {\r", + "\t\tmsgbox('Weather File Download Error!\\nPlease type a location name, street address, or coordinates before clicking Download.');\r", + "\t\texit;\r", + "\t}\r", + "\t\r", "\tenum { ADDRESS, COORDINATES };\r", "\tenum { TMY, SINGLE_YEAR, ALL_YEARS };\r", "\tenum { ONE_LOCATION, MULTIPLE_LOCATIONS };\r", diff --git a/deploy/runtime/ui/Solar Resource Information.json b/deploy/runtime/ui/Solar Resource Information.json index 90724d96a0..87f91f0316 100644 --- a/deploy/runtime/ui/Solar Resource Information.json +++ b/deploy/runtime/ui/Solar Resource Information.json @@ -1511,7 +1511,7 @@ }, "Caption": { "Type": 5.0, - "String": "" + "String": "Caption set by update_info()" }, "TextColour": { "Type": 4.0, @@ -2026,7 +2026,6 @@ "on_load{'Solar Resource Information'} = define() {", "\t//msgbox('Debug\\non_load Solar Resource Information');", "\tupdate_info( 'on_load Solar Resource Information');\r", - "\tdisplay_tech_message();\r", "};", "", "on_change{'btn_view_data'} = define() {", @@ -2110,10 +2109,10 @@ "\t\t\tvalue( 'annual_snow', ssc_var(obj, 'annual_snow') );\r", "\t\t\tvalue( 'annual_albedo', ssc_var(obj, 'annual_albedo') );\r", "\t\t\tvalue( 'step', ssc_var(obj, 'step') );\r", - "\t\t\t\r", + "\r", "\t\t\trhum = ssc_var(obj, 'rhum');\r", "\t\t\trhum_ok = true;\r", - "\t\t\tif ( isnan( rhum[0] ) ) { rhum_ok = false; }\r", + "\t\t\t\r", "\t\t\t// used for timestep calculation in editscene3d\r", "\t\t\tvalue( 'wf_nrecords', ssc_var(obj, 'nrecords') );\r", "\t\t}\r", @@ -2126,10 +2125,8 @@ "\t\t}\r", "\t\tssc_free( obj );\r", "\t}\r", - "}\r", - "", - "function display_tech_message() \r", - "{\r", + "\r", + "\t// display tech-specific messages\r", "\tstr = '';\r", "\tstr_and = '';\r", "\ttech = technology();\r", @@ -2143,6 +2140,9 @@ "\t}\r", "\tif ( tech == 'Biopower' )\r", "\t{ \r", + "\r", + "\t\tif ( isnan( rhum[0] ) ) { rhum_ok = false; }\r", + "\t\r", "\t\tif ( isnan( value('annual_global') ) || !rhum_ok )\r", "\t\t{\r", "\t\t\tstr = 'The Biopower model requires ';\r", @@ -2159,11 +2159,8 @@ "\t}\r", "\tproperty( 'caption_techs' , 'Caption', str );\t\t\r", "\tproperty( 'caption_techs' , 'TextColour', 'red' );\r", - "}\r", - "\r", - "\r", - "\r", "\r", + "}\r", "\r", "" ] diff --git a/deploy/runtime/ui/Solar Resource Library.json b/deploy/runtime/ui/Solar Resource Library.json index 1bbc4ea5d8..4f89eddce2 100644 --- a/deploy/runtime/ui/Solar Resource Library.json +++ b/deploy/runtime/ui/Solar Resource Library.json @@ -73,7 +73,7 @@ }, "TabOrder": { "Type": 3.0, - "Integer": 2.0 + "Integer": 1.0 } } }, @@ -106,11 +106,11 @@ }, "Caption": { "Type": 5.0, - "String": "Browse" + "String": "Browse..." }, "TabOrder": { "Type": 3.0, - "Integer": -1.0 + "Integer": 5.0 } } }, @@ -147,7 +147,7 @@ }, "TabOrder": { "Type": 3.0, - "Integer": 3.0 + "Integer": 2.0 } } }, @@ -525,7 +525,7 @@ }, "Caption": { "Type": 5.0, - "String": "Choose a weather file from the library or from a folder." + "String": "Choose a weather file from the library, or disable the library and choose a file directly." }, "TextColour": { "Type": 4.0, @@ -691,7 +691,7 @@ }, "TabOrder": { "Type": 3.0, - "Integer": -1.0 + "Integer": 3.0 } } }, From 47604385a5b8065cfaff6df58e8b263ec5190abf Mon Sep 17 00:00:00 2001 From: Paul Gilman Date: Tue, 9 Jun 2026 10:17:04 -0700 Subject: [PATCH 2/2] Help revisions for closed PRs marked "requires SAM Help revision" for 2026 release (#2207) * Remove wind cost model descriptions for https://github.com/NatLabRockies/SAM/pull/2154 * Fix help build issues * Revise PV sizing topics for new PV UI design for https://github.com/NatLabRockies/SAM/pull/2135 * Clean up battery dispatch Help topics for https://github.com/NatLabRockies/SAM/pull/2115 * Revise Help for PVWatts detailed battery for https://github.com/NatLabRockies/SAM/pull/2113 * Update Help build instructions * Consolidate battery Help topics * Add description of load day of week input for https://github.com/NatLabRockies/SAM/pull/2109 Also fix Belpe annual growth rate widget overlap * Revise degradation save lifetime outputs in Help for https://github.com/NatLabRockies/SAM/pull/2087 Also fix broken references in Electricity Load topic. * Emphasis SRW is obsolete and fix format of weather file Help topics * Add description of calculation to capacity payment Help topic. * Revise Help for solar resource UI updates in https://github.com/NatLabRockies/SAM/pull/2120 * Clean up misc headings and broken links in Help * Revise Help build instructions * Fix broken welcome page Help link * Revise Help for IPH system control copy TOD factors for https://github.com/NatLabRockies/SAM/pull/2024 Also fix TOU output fractions widget label for IPH "turbine output" to "heat sink output". * Custom generation Help revisions for https://github.com/NatLabRockies/ssc/pull/1384 * Clean up Help rates and load topics for https://github.com/NatLabRockies/ssc/pull/1352 --- deploy/runtime/startup.lk | 22 +- .../ui/Electric Building Load Calculator.json | 6 +- .../runtime/ui/MSPT IPH Dispatch Control.json | 2 +- doc/readme.md | 39 +- .../battery_cell_and_system.rst | 647 ++++++++++++++++++ .../battery-storage/battery_dispatch_btm.rst | 279 +++++++- .../battery-storage/battery_dispatch_fom.rst | 264 ++++++- doc/source/battery-storage/battery_life.rst | 88 ++- .../battery-storage/battery_results.rst | 4 +- .../battery-storage/battery_storage.rst | 6 +- .../battery-storage/battery_storage_btm.rst | 111 --- .../battery-storage/battery_storage_fom.rst | 100 --- doc/source/battery-storage/index.rst | 3 +- .../biopower_location_ambient_conditions.rst | 122 +--- .../troughempirical_location_and_resource.rst | 17 + .../gss_location_and_resource.rst | 16 + .../dslf_location_and_resource.rst | 16 + .../mslf_location_and_resource.rst | 16 + .../troughphysical_location_and_resource.rst | 16 + .../mspt_location_and_resource.rst | 16 + .../custom_generation_profile.rst | 14 +- doc/source/degradation/degradation.rst | 9 +- doc/source/degradation/degradation_ac.rst | 3 +- doc/source/degradation/degradation_dc.rst | 7 +- .../pv_inverter.rst | 8 +- .../pv_location_and_resource.rst | 67 +- .../pv_sizing_instructions.rst | 134 ++-- .../pv_system_size.rst | 4 +- .../electricity_bill_results.rst | 31 +- .../electricity_load.rst | 56 +- .../electricity_purchases.rst | 35 +- .../electricity_rates.rst | 54 +- .../electricity_rates_load.rst | 12 - .../electricity-rates-and-load/index.rst | 11 +- doc/source/fuel-cell/fuelcell.rst | 2 +- doc/source/fuel-cell/fuelcell_dispatch.rst | 13 +- doc/source/fuel-cell/fuelcell_pv_system.rst | 7 - doc/source/fuel-cell/index.rst | 1 - .../geothermal/geo_ambient_conditions.rst | 21 +- .../getting-started/getting_started.rst | 19 +- doc/source/getting-started/welcome_page.rst | 2 +- .../hcpv_location_and_resource.rst | 143 +--- doc/source/hybrid-systems/hybrid_system.rst | 8 +- doc/source/images/IMG_BATT-configurations.png | Bin 0 -> 73042 bytes doc/source/images/IMG_NSRDB-map.png | Bin 130662 -> 0 bytes .../images/SS_PV-ArraySizingMessages.png | Bin 5792 -> 3791 bytes .../images/SS_SolarResource-choose-year.png | Bin 2834 -> 0 bytes .../images/SS_SolarResource-download.png | Bin 42726 -> 0 bytes .../images/SS_SolarResource-information.png | Bin 94311 -> 0 bytes .../images/SS_SolarResource-library.png | Bin 108712 -> 0 bytes .../SS_SolarResource-multiple-locations.png | Bin 13181 -> 0 bytes .../images/SS_SolarResource-option-list.png | Bin 1860 -> 0 bytes .../cash_incentives.rst | 12 +- .../tax_credits_depreciation.rst | 2 +- doc/source/includes/snip_annual_values.rst | 6 +- .../includes/snip_battery_bank_sizing.rst | 60 -- .../snip_battery_charge_limits_priority.rst | 20 - .../includes/snip_battery_chemistry.rst | 91 --- .../snip_battery_current_capacity.rst | 178 ----- .../includes/snip_battery_dispatch_btm.rst | 280 -------- .../includes/snip_battery_dispatch_fom.rst | 268 -------- doc/source/includes/snip_battery_lifetime.rst | 71 -- doc/source/includes/snip_battery_losses.rst | 61 -- .../snip_battery_power_converters.rst | 38 - doc/source/includes/snip_battery_reopt.rst | 57 -- .../includes/snip_battery_replacement.rst | 17 - doc/source/includes/snip_battery_thermal.rst | 82 --- doc/source/includes/snip_battery_voltage.rst | 75 -- .../includes/snip_choose_weather_file.rst | 31 + .../includes/snip_csp_system_control.rst | 22 +- .../includes/snip_download_weather_files.rst | 69 ++ .../snip_financing_depreciation_adv.rst | 52 -- .../snip_financing_depreciation_basic.rst | 30 - .../includes/snip_installation_costs.rst | 5 +- .../includes/snip_load_annual_adjustment.rst | 8 - .../includes/snip_location_resource.rst | 172 +---- .../includes/snip_pvwatts_system_design.rst | 308 --------- .../snip_revenue_capacity_payments.rst | 2 + doc/source/includes/snip_solar_download.rst | 134 ---- .../snip_weather_data_information.rst | 39 ++ doc/source/index.rst | 2 +- .../installation-costs/cc_fuel_cell.rst | 8 +- doc/source/installation-costs/cc_wind.rst | 136 +--- .../introduction/technology_options.rst | 54 +- .../iph_linear_ds_location_and_resource.rst | 16 + .../iph_mslf_location_and_resource.rst | 16 + .../iph_trough_location_and_resource.rst | 16 + .../iph_mspt_location_and_resource.rst | 16 + .../iph_mspt_system_design.rst | 6 +- doc/source/operating-costs/oc_battery.rst | 1 + doc/source/operating-costs/oc_fuel_cell.rst | 12 +- doc/source/operating-costs/oc_operating.rst | 1 + doc/source/operating-costs/oc_pv-battery.rst | 7 +- .../ptes_location_and_resource.rst | 14 + doc/source/pvwatts/pvwatts.rst | 4 +- .../pvwatts/pvwatts_location_and_resource.rst | 14 + doc/source/pvwatts/pvwatts_system_design.rst | 304 +++++++- doc/source/reference/file_formats.rst | 2 +- .../swh_location_and_resource.rst | 14 + doc/source/thermal-rates-and-load/index.rst | 1 - .../thermal-rates-and-load/thermal_load.rst | 11 +- .../thermal_rates_load.rst | 4 - doc/source/weather-data/weather_data.rst | 7 +- .../weather-data/weather_manage_folders.rst | 7 +- .../weather-data/weather_time_convention.rst | 8 +- .../weather-data/weather_typical_single.rst | 4 +- .../weather-file-formats/weather_format.rst | 13 +- .../weather_format_csv_marine_energy.rst | 101 ++- .../weather_format_csv_wind.rst | 36 +- .../weather_format_sam_csv_solar.rst | 22 +- .../weather_format_srw_wind.rst | 20 +- doc/source/wind-power/wind_power.rst | 2 +- doc/source/wind-power/wind_resource.rst | 17 +- src/welcome.cpp | 2 +- 114 files changed, 2457 insertions(+), 3082 deletions(-) create mode 100644 doc/source/battery-storage/battery_cell_and_system.rst delete mode 100644 doc/source/battery-storage/battery_storage_btm.rst delete mode 100644 doc/source/battery-storage/battery_storage_fom.rst delete mode 100644 doc/source/electricity-rates-and-load/electricity_rates_load.rst delete mode 100644 doc/source/fuel-cell/fuelcell_pv_system.rst create mode 100644 doc/source/images/IMG_BATT-configurations.png delete mode 100644 doc/source/images/IMG_NSRDB-map.png delete mode 100644 doc/source/images/SS_SolarResource-choose-year.png delete mode 100644 doc/source/images/SS_SolarResource-download.png delete mode 100644 doc/source/images/SS_SolarResource-information.png delete mode 100644 doc/source/images/SS_SolarResource-library.png delete mode 100644 doc/source/images/SS_SolarResource-multiple-locations.png delete mode 100644 doc/source/images/SS_SolarResource-option-list.png delete mode 100644 doc/source/includes/snip_battery_bank_sizing.rst delete mode 100644 doc/source/includes/snip_battery_charge_limits_priority.rst delete mode 100644 doc/source/includes/snip_battery_chemistry.rst delete mode 100644 doc/source/includes/snip_battery_current_capacity.rst delete mode 100644 doc/source/includes/snip_battery_dispatch_btm.rst delete mode 100644 doc/source/includes/snip_battery_dispatch_fom.rst delete mode 100644 doc/source/includes/snip_battery_lifetime.rst delete mode 100644 doc/source/includes/snip_battery_losses.rst delete mode 100644 doc/source/includes/snip_battery_power_converters.rst delete mode 100644 doc/source/includes/snip_battery_reopt.rst delete mode 100644 doc/source/includes/snip_battery_replacement.rst delete mode 100644 doc/source/includes/snip_battery_thermal.rst delete mode 100644 doc/source/includes/snip_battery_voltage.rst create mode 100644 doc/source/includes/snip_choose_weather_file.rst create mode 100644 doc/source/includes/snip_download_weather_files.rst delete mode 100644 doc/source/includes/snip_financing_depreciation_adv.rst delete mode 100644 doc/source/includes/snip_financing_depreciation_basic.rst delete mode 100644 doc/source/includes/snip_load_annual_adjustment.rst delete mode 100644 doc/source/includes/snip_pvwatts_system_design.rst delete mode 100644 doc/source/includes/snip_solar_download.rst create mode 100644 doc/source/includes/snip_weather_data_information.rst delete mode 100644 doc/source/thermal-rates-and-load/thermal_rates_load.rst diff --git a/deploy/runtime/startup.lk b/deploy/runtime/startup.lk index 4969819311..792082d868 100644 --- a/deploy/runtime/startup.lk +++ b/deploy/runtime/startup.lk @@ -159,7 +159,7 @@ function setup_pages_battery_cell_and_system(is_reopt,is_btm) {'name'='Battery Losses', 'caption'='Battery Losses', 'collapsible'=true, 'collapsible_var'='battery_losses_shown'}, {'name'='Battery Thermal', 'caption'='Battery Thermal', 'collapsible'=true, 'collapsible_var'='battery_thermal_shown'}, 'Battery Standalone Enable', - ]], { 'sidebar'='Battery Cell and System', 'help'='battery-storage/battery_storage_btm', 'bin_name'='Battery' } ); + ]], { 'sidebar'='Battery Cell and System', 'help'='battery-storage/battery_storage', 'bin_name'='Battery' } ); } elseif( is_btm ) { @@ -171,7 +171,7 @@ function setup_pages_battery_cell_and_system(is_reopt,is_btm) {'name'='Battery Losses', 'caption'='Battery Losses', 'collapsible'=true, 'collapsible_var'='battery_losses_shown'}, {'name'='Battery Thermal', 'caption'='Battery Thermal', 'collapsible'=true, 'collapsible_var'='battery_thermal_shown'}, 'Battery Standalone Enable', - ]], { 'sidebar'='Battery Cell and System', 'help'='battery-storage/battery_storage_btm', 'bin_name'='Battery' } ); + ]], { 'sidebar'='Battery Cell and System', 'help'='battery-storage/battery_storage', 'bin_name'='Battery' } ); } else // fom has different help id { @@ -183,7 +183,7 @@ function setup_pages_battery_cell_and_system(is_reopt,is_btm) {'name'='Battery Losses', 'caption'='Battery Losses', 'collapsible'=true, 'collapsible_var'='battery_losses_shown'}, {'name'='Battery Thermal', 'caption'='Battery Thermal', 'collapsible'=true, 'collapsible_var'='battery_thermal_shown'}, 'Battery Standalone Enable', - ]], { 'sidebar'='Battery Cell and System', 'help'='battery-storage/battery_storage_fom', 'bin_name'='Battery' } ); + ]], { 'sidebar'='Battery Cell and System', 'help'='battery-storage/battery_storage', 'bin_name'='Battery' } ); } } @@ -1542,7 +1542,7 @@ addpage( [[ { 'name'='Battery None', 'caption'='No Battery'}], { 'name'='Battery Losses', 'caption'='Battery Losses', 'collapsible'=true, 'collapsible_var'='battery_losses_shown'}, { 'name'='Battery Thermal', 'caption'='Battery Thermal', 'collapsible'=true, 'collapsible_var'='battery_thermal_shown'}, 'Battery Standalone Enable' ]], - { 'sidebar'='Battery Storage', 'help'='battery-storage/battery_storage_btm', 'exclusive_var'='en_batt'} ); + { 'sidebar'='Battery Storage', 'help'='battery-storage/battery_storage', 'exclusive_var'='en_batt'} ); addpage( [[ {'name'='Battery Dispatch Peak Shaving BTM', 'caption'='Peak Shaving'} ], [ {'name'='Battery Dispatch Grid Power Targets', 'caption'='Grid Power Targets'} ], [ {'name'='Battery Dispatch Battery Power Targets', 'caption'='Battery Power Targets'}], @@ -1604,7 +1604,7 @@ addpage( [[ { 'name'='Battery None','caption'='No Battery'}], { 'name'='Battery Losses', 'caption'='Battery Losses', 'collapsible'=true, 'collapsible_var'='battery_losses_shown'}, { 'name'='Battery Thermal', 'caption'='Battery Thermal', 'collapsible'=true, 'collapsible_var'='battery_thermal_shown'}, 'Battery Standalone Enable' ]], - { 'sidebar'='Battery Storage', 'help'='battery-storage/battery_storage_fom', 'exclusive_var'='en_batt'} ); + { 'sidebar'='Battery Storage', 'help'='battery-storage/battery_storage', 'exclusive_var'='en_batt'} ); addpage( [[ { 'name'='Battery Dispatch Automated FOM', 'caption'='Automated'} ], [ { 'name'='Battery Dispatch PV Smoothing', 'caption'='PV Smoothing'} ], [ { 'name'='Battery Dispatch Custom Time Series', 'caption'='Custom Time Series'} ], @@ -3214,7 +3214,7 @@ addpage( [[{'name'='AA Empty', 'caption'='Fixed Output'}], [{'name'='Fuel Cell D addpage( [[ 'Fuel Cell Costs Hybrid' ]], { 'sidebar'='Fuel Cell Installation Costs', 'help'='installation-costs/cc_fuel_cell', 'bin_name'='FuelCell' } ); addpage( [[ 'Operating Costs Fuel Cell Hybrid' ]], { 'sidebar'='Fuel Cell Operating Costs', 'help'='operating-costs/oc_fuel_cell', 'bin_name'='FuelCell' } ); // battery -addpage( [['Battery Model', 'Battery Bank Sizing', 'Battery Current and Capacity', 'Battery Configuration', {'name'='Battery Voltage', 'caption'='Battery Voltage', 'collapsible'=true, 'collapsible_var'='battery_voltage_shown'}, {'name'='Battery Losses', 'caption'='Battery Losses', 'collapsible'=true, 'collapsible_var'='battery_losses_shown'}, {'name'='Battery Thermal', 'caption'='Battery Thermal', 'collapsible'=true, 'collapsible_var'='battery_thermal_shown'}, 'Battery Standalone Enable', ]], { 'sidebar'='Battery Cell and System', 'help'='battery-storage/battery_storage_fom', 'bin_name'='Battery' } ); +addpage( [['Battery Model', 'Battery Bank Sizing', 'Battery Current and Capacity', 'Battery Configuration', {'name'='Battery Voltage', 'caption'='Battery Voltage', 'collapsible'=true, 'collapsible_var'='battery_voltage_shown'}, {'name'='Battery Losses', 'caption'='Battery Losses', 'collapsible'=true, 'collapsible_var'='battery_losses_shown'}, {'name'='Battery Thermal', 'caption'='Battery Thermal', 'collapsible'=true, 'collapsible_var'='battery_thermal_shown'}, 'Battery Standalone Enable', ]], { 'sidebar'='Battery Cell and System', 'help'='battery-storage/battery_storage', 'bin_name'='Battery' } ); addpage( [[ {'name'='Battery Life Cycle Calendar', 'caption'='Calendar and Cycle Degradation'}], [{'name'='Battery Life Empty 1','caption'='Li-on NMC/Graphite Degradation'}], [{'name'='Battery Life Empty 2','caption'='Li-ion LMO/LTO Degradation'}]], {'sidebar'='Battery Life', 'help'='battery-storage/battery_life' , 'exclusive_var' = 'batt_life_excl', 'exclusive_header_pages' = ['Battery Replacements','Battery Life Options' ], 'exclusive_tabs' = true, 'exclusive_hide' = true, 'bin_name'='Battery' } ); addpage( [[ {'name'='Battery Dispatch Automated FOM', 'caption'='Automated'} ], [{'name'='Battery Dispatch PV Smoothing', 'caption'='System Smoothing'}], [ {'name'='Battery Dispatch Custom Time Series', 'caption'='Custom Time Series'} ], [ {'name'='Battery Dispatch Manual', 'caption'='Manual'}] ], { 'sidebar'='Battery Dispatch', 'help'='battery-storage/battery_dispatch_fom', 'exclusive_var' = 'batt_dispatch_excl', 'exclusive_header_pages' = ['Battery Dispatch Common', 'Battery Dispatch Options FOM'], 'exclusive_tabs'=true, 'exclusive_hide'=true, 'bin_name'='Battery'} ); addpage( [[ 'Standalone Battery Costs'/*, 'Battery Enable' set on battery dispatch automated fom*/ ]], { 'sidebar'='Battery Installation Costs', 'help'='installation-costs/cc_standalone_battery', 'bin_name'='Battery' } ); @@ -3287,7 +3287,7 @@ addpage( [[ {'name'='AA Empty', 'caption'='Fixed Output'} ], [ {'name'='AA Empty addpage( [[ 'Fuel Cell Costs Hybrid' ]], { 'sidebar'='Fuel Cell Installation Costs', 'help'='installation-costs/cc_fuel_cell', 'bin_name'='FuelCell' } ); addpage( [[ 'Operating Costs Fuel Cell Hybrid' ]], { 'sidebar'='Fuel Cell Operating Costs', 'help'='operating-costs/oc_fuel_cell', 'bin_name'='FuelCell' } ); // battery -addpage( [[ 'Battery Model', 'Battery Bank Sizing', 'Battery Current and Capacity', 'Battery Configuration', {'name'='Battery Voltage', 'caption'='Battery Voltage', 'collapsible'=true, 'collapsible_var'='battery_voltage_shown'}, {'name'='Battery Losses', 'caption'='Battery Losses', 'collapsible'=true, 'collapsible_var'='battery_losses_shown'}, {'name'='Battery Thermal', 'caption'='Battery Thermal', 'collapsible'=true, 'collapsible_var'='battery_thermal_shown'}, 'Battery Standalone Enable', ]], { 'sidebar'='Battery Cell and System', 'help'='battery-storage/battery_storage_btm', 'bin_name'='Battery' } ); +addpage( [[ 'Battery Model', 'Battery Bank Sizing', 'Battery Current and Capacity', 'Battery Configuration', {'name'='Battery Voltage', 'caption'='Battery Voltage', 'collapsible'=true, 'collapsible_var'='battery_voltage_shown'}, {'name'='Battery Losses', 'caption'='Battery Losses', 'collapsible'=true, 'collapsible_var'='battery_losses_shown'}, {'name'='Battery Thermal', 'caption'='Battery Thermal', 'collapsible'=true, 'collapsible_var'='battery_thermal_shown'}, 'Battery Standalone Enable', ]], { 'sidebar'='Battery Cell and System', 'help'='battery-storage/battery_storage', 'bin_name'='Battery' } ); addpage( [[ {'name'='Battery Life Cycle Calendar', 'caption'='Calendar and Cycle Degradation'}], [{'name'='Battery Life Empty 1','caption'='Li-on NMC/Graphite Degradation'}], [{'name'='Battery Life Empty 2','caption'='Li-ion LMO/LTO Degradation'}]], {'sidebar'='Battery Life', 'help'='battery-storage/battery_life' , 'exclusive_var' = 'batt_life_excl', 'exclusive_header_pages' = ['Battery Replacements','Battery Life Options' ], 'exclusive_tabs' = true, 'exclusive_hide' = true, 'bin_name'='Battery' } ); addpage( [[ {'name'='Battery Dispatch Peak Shaving BTM', 'caption'='Peak Shaving'} ], [ {'name'='Battery Dispatch Grid Power Targets', 'caption'='Grid Power Targets'} ], [ {'name'='Battery Dispatch Battery Power Targets', 'caption'='Battery Power Targets'}], [ {'name'='Battery Dispatch Manual', 'caption'='Manual'}], [ {'name'='Battery Dispatch Retail Rate', 'caption'='Retail Rate'} ], [ {'name'='Battery Dispatch Self Consumption', 'caption'='Self Consumption'} ]], { 'sidebar'='Battery Dispatch', 'help'='battery-storage/battery_dispatch_btm', 'exclusive_var' = 'batt_dispatch_excl', 'exclusive_header_pages' = ['Battery Dispatch Common', 'Battery Dispatch Options BTM'], 'exclusive_tabs'=true, 'exclusive_hide'=true, 'bin_name'='Battery' } ); addpage( [[ 'Standalone Battery Costs', 'Battery Enable' ]],{ 'sidebar'='Battery Installation Costs', 'help'='installation-costs/cc_standalone_battery', 'bin_name'='Battery' } ); @@ -3501,7 +3501,7 @@ addpage( [[{'name'='AA Empty', 'caption'='Fixed Output'}], [{'name'='Fuel Cell D addpage( [[ 'Fuel Cell Costs Hybrid' ]], { 'sidebar'='Fuel Cell Installation Costs', 'help'='installation-costs/cc_fuel_cell', 'bin_name'='FuelCell' } ); addpage( [[ 'Operating Costs Fuel Cell Hybrid' ]], { 'sidebar'='Fuel Cell Operating Costs', 'help'='operating-costs/oc_fuel_cell', 'bin_name'='FuelCell' } ); // battery -addpage( [['Battery Model', 'Battery Bank Sizing', 'Battery Current and Capacity', 'Battery Configuration', {'name'='Battery Voltage', 'caption'='Battery Voltage', 'collapsible'=true, 'collapsible_var'='battery_voltage_shown'}, {'name'='Battery Losses', 'caption'='Battery Losses', 'collapsible'=true, 'collapsible_var'='battery_losses_shown'}, {'name'='Battery Thermal', 'caption'='Battery Thermal', 'collapsible'=true, 'collapsible_var'='battery_thermal_shown'}, 'Battery Standalone Enable', ]], { 'sidebar'='Battery Cell and System', 'help'='battery-storage/battery_storage_fom', 'bin_name'='Battery' } ); +addpage( [['Battery Model', 'Battery Bank Sizing', 'Battery Current and Capacity', 'Battery Configuration', {'name'='Battery Voltage', 'caption'='Battery Voltage', 'collapsible'=true, 'collapsible_var'='battery_voltage_shown'}, {'name'='Battery Losses', 'caption'='Battery Losses', 'collapsible'=true, 'collapsible_var'='battery_losses_shown'}, {'name'='Battery Thermal', 'caption'='Battery Thermal', 'collapsible'=true, 'collapsible_var'='battery_thermal_shown'}, 'Battery Standalone Enable', ]], { 'sidebar'='Battery Cell and System', 'help'='battery-storage/battery_storage', 'bin_name'='Battery' } ); addpage( [[ {'name'='Battery Life Cycle Calendar', 'caption'='Calendar and Cycle Degradation'}], [{'name'='Battery Life Empty 1','caption'='Li-on NMC/Graphite Degradation'}], [{'name'='Battery Life Empty 2','caption'='Li-ion LMO/LTO Degradation'}]], {'sidebar'='Battery Life', 'help'='battery-storage/battery_life' , 'exclusive_var' = 'batt_life_excl', 'exclusive_header_pages' = ['Battery Replacements','Battery Life Options' ], 'exclusive_tabs' = true, 'exclusive_hide' = true, 'bin_name'='Battery' } ); addpage( [[ {'name'='Battery Dispatch Automated FOM', 'caption'='Automated'} ], [{'name'='Battery Dispatch PV Smoothing', 'caption'='PV Smoothing'}], [ {'name'='Battery Dispatch Custom Time Series', 'caption'='Custom Time Series'} ], [ {'name'='Battery Dispatch Manual', 'caption'='Manual'}] ], { 'sidebar'='Battery Dispatch', 'help'='battery-storage/battery_dispatch_fom', 'exclusive_var' = 'batt_dispatch_excl', 'exclusive_header_pages' = ['Battery Dispatch Common', 'Battery Dispatch Options FOM'], 'exclusive_tabs'=true, 'exclusive_hide'=true, 'bin_name'='Battery'} ); addpage( [[ 'Standalone Battery Costs'/*, 'Battery Enable' set on battery dispatch automated fom*/ ]], { 'sidebar'='Battery Installation Costs', 'help'='installation-costs/cc_standalone_battery', 'bin_name'='Battery' } ); @@ -3585,7 +3585,7 @@ addpage( [[ {'name'='AA Empty', 'caption'='Fixed Output'} ], [ {'name'='AA Empty addpage( [[ 'Fuel Cell Costs Hybrid' ]], { 'sidebar'='Fuel Cell Installation Costs', 'help'='installation-costs/cc_fuel_cell', 'bin_name'='FuelCell' } ); addpage( [[ 'Operating Costs Fuel Cell Hybrid' ]], { 'sidebar'='Fuel Cell Operating Costs', 'help'='operating-costs/oc_fuel_cell', 'bin_name'='FuelCell' } ); // battery -addpage( [[ 'Battery Model', 'Battery Bank Sizing', 'Battery Current and Capacity', 'Battery Configuration', {'name'='Battery Voltage', 'caption'='Battery Voltage', 'collapsible'=true, 'collapsible_var'='battery_voltage_shown'}, {'name'='Battery Losses', 'caption'='Battery Losses', 'collapsible'=true, 'collapsible_var'='battery_losses_shown'}, {'name'='Battery Thermal', 'caption'='Battery Thermal', 'collapsible'=true, 'collapsible_var'='battery_thermal_shown'}, 'Battery Standalone Enable', ]], { 'sidebar'='Battery Cell and System', 'help'='battery-storage/battery_storage_btm', 'bin_name'='Battery' } ); +addpage( [[ 'Battery Model', 'Battery Bank Sizing', 'Battery Current and Capacity', 'Battery Configuration', {'name'='Battery Voltage', 'caption'='Battery Voltage', 'collapsible'=true, 'collapsible_var'='battery_voltage_shown'}, {'name'='Battery Losses', 'caption'='Battery Losses', 'collapsible'=true, 'collapsible_var'='battery_losses_shown'}, {'name'='Battery Thermal', 'caption'='Battery Thermal', 'collapsible'=true, 'collapsible_var'='battery_thermal_shown'}, 'Battery Standalone Enable', ]], { 'sidebar'='Battery Cell and System', 'help'='battery-storage/battery_storage', 'bin_name'='Battery' } ); addpage( [[ {'name'='Battery Life Cycle Calendar', 'caption'='Calendar and Cycle Degradation'}], [{'name'='Battery Life Empty 1','caption'='Li-on NMC/Graphite Degradation'}], [{'name'='Battery Life Empty 2','caption'='Li-ion LMO/LTO Degradation'}]], {'sidebar'='Battery Life', 'help'='battery-storage/battery_life' , 'exclusive_var' = 'batt_life_excl', 'exclusive_header_pages' = ['Battery Replacements','Battery Life Options' ], 'exclusive_tabs' = true, 'exclusive_hide' = true, 'bin_name'='Battery' } ); addpage( [[ {'name'='Battery Dispatch Peak Shaving BTM', 'caption'='Peak Shaving'} ], [ {'name'='Battery Dispatch Grid Power Targets', 'caption'='Grid Power Targets'} ], [ {'name'='Battery Dispatch Battery Power Targets', 'caption'='Battery Power Targets'}], [ {'name'='Battery Dispatch Manual', 'caption'='Manual'}], [ {'name'='Battery Dispatch Retail Rate', 'caption'='Retail Rate'} ], [ {'name'='Battery Dispatch Self Consumption', 'caption'='Self Consumption'} ]], { 'sidebar'='Battery Dispatch', 'help'='battery-storage/battery_dispatch_btm', 'exclusive_var' = 'batt_dispatch_excl', 'exclusive_header_pages' = ['Battery Dispatch Common', 'Battery Dispatch Options BTM'], 'exclusive_tabs'=true, 'exclusive_hide'=true, 'bin_name'='Battery' } ); addpage( [[ 'Standalone Battery Costs', 'Battery Enable' ]],{ 'sidebar'='Battery Installation Costs', 'help'='installation-costs/cc_standalone_battery', 'bin_name'='Battery' } ); @@ -3691,7 +3691,7 @@ addpage( [[ 'MSPT System Control' , addpage( [[ 'Tower SolarPilot Capital Costs' ]],{ 'sidebar'='MSPT Installation Costs', 'help'='cc_tower','bin_name'='CSPTowerMoltenSalt' } ); addpage( [[ 'Operating Costs', 'Operating Costs Land Lease' ]], {'sidebar' = 'MSPT Operating Costs', 'help'='oc_operating', 'bin_name'='CSPTowerMoltenSalt'} ); // battery -addpage( [['Battery Model', 'Battery Bank Sizing', 'Battery Current and Capacity', 'Battery Configuration', {'name'='Battery Voltage', 'caption'='Battery Voltage', 'collapsible'=true, 'collapsible_var'='battery_voltage_shown'}, {'name'='Battery Losses', 'caption'='Battery Losses', 'collapsible'=true, 'collapsible_var'='battery_losses_shown'}, {'name'='Battery Thermal', 'caption'='Battery Thermal', 'collapsible'=true, 'collapsible_var'='battery_thermal_shown'}, 'Battery Standalone Enable', ]], { 'sidebar'='Battery Cell and System', 'help'='battery_storage_fom', 'bin_name'='Battery' } ); +addpage( [['Battery Model', 'Battery Bank Sizing', 'Battery Current and Capacity', 'Battery Configuration', {'name'='Battery Voltage', 'caption'='Battery Voltage', 'collapsible'=true, 'collapsible_var'='battery_voltage_shown'}, {'name'='Battery Losses', 'caption'='Battery Losses', 'collapsible'=true, 'collapsible_var'='battery_losses_shown'}, {'name'='Battery Thermal', 'caption'='Battery Thermal', 'collapsible'=true, 'collapsible_var'='battery_thermal_shown'}, 'Battery Standalone Enable', ]], { 'sidebar'='Battery Cell and System', 'help'='battery_storage', 'bin_name'='Battery' } ); addpage( [[ {'name'='Battery Life Cycle Calendar', 'caption'='Calendar and Cycle Degradation'}], [{'name'='Battery Life Empty 1','caption'='Li-on NMC/Graphite Degradation'}], [{'name'='Battery Life Empty 2','caption'='Li-ion LMO/LTO Degradation'}]], {'sidebar'='Battery Life', 'help'='battery_life' , 'exclusive_var' = 'batt_life_excl', 'exclusive_header_pages' = ['Battery Replacements','Battery Life Options' ], 'exclusive_tabs' = true, 'exclusive_hide' = true, 'bin_name'='Battery' } ); addpage( [[ {'name'='Battery Dispatch Automated FOM', 'caption'='Automated'} ], [{'name'='Battery Dispatch PV Smoothing', 'caption'='System Smoothing'}], [ {'name'='Battery Dispatch Custom Time Series', 'caption'='Custom Time Series'} ], [ {'name'='Battery Dispatch Manual', 'caption'='Manual'}] ], { 'sidebar'='Battery Dispatch', 'help'='battery_dispatch_fom', 'exclusive_var' = 'batt_dispatch_excl', 'exclusive_header_pages' = ['Battery Dispatch Common', 'Battery Dispatch Options FOM'], 'exclusive_tabs'=true, 'exclusive_hide'=true, 'bin_name'='Battery'} ); */ @@ -3755,7 +3755,7 @@ addpage( [[ 'Operating Costs', 'Operating Costs Land Lease' ]], {'sidebar' = 'MS // battery */ -//addpage( [['Battery Model', 'Battery Bank Sizing', 'Battery Current and Capacity', 'Battery Configuration', {'name'='Battery Voltage', 'caption'='Battery Voltage', 'collapsible'=true, 'collapsible_var'='battery_voltage_shown'}, {'name'='Battery Losses', 'caption'='Battery Losses', 'collapsible'=true, 'collapsible_var'='battery_losses_shown'}, {'name'='Battery Thermal', 'caption'='Battery Thermal', 'collapsible'=true, 'collapsible_var'='battery_thermal_shown'}, 'Battery Standalone Enable', ]], { 'sidebar'='Battery Cell and System', 'help'='battery_storage_fom', 'bin_name'='Battery' } ); +//addpage( [['Battery Model', 'Battery Bank Sizing', 'Battery Current and Capacity', 'Battery Configuration', {'name'='Battery Voltage', 'caption'='Battery Voltage', 'collapsible'=true, 'collapsible_var'='battery_voltage_shown'}, {'name'='Battery Losses', 'caption'='Battery Losses', 'collapsible'=true, 'collapsible_var'='battery_losses_shown'}, {'name'='Battery Thermal', 'caption'='Battery Thermal', 'collapsible'=true, 'collapsible_var'='battery_thermal_shown'}, 'Battery Standalone Enable', ]], { 'sidebar'='Battery Cell and System', 'help'='battery_storage', 'bin_name'='Battery' } ); //addpage( [[ {'name'='Battery Life Cycle Calendar', 'caption'='Calendar and Cycle Degradation'}], [{'name'='Battery Life Empty 1','caption'='Li-on NMC/Graphite Degradation'}], [{'name'='Battery Life Empty 2','caption'='Li-ion LMO/LTO Degradation'}]], {'sidebar'='Battery Life', 'help'='battery_life' , 'exclusive_var' = 'batt_life_excl', 'exclusive_header_pages' = ['Battery Replacements','Battery Life Options' ], 'exclusive_tabs' = true, 'exclusive_hide' = true, 'bin_name'='Battery' } ); //addpage( [[ {'name'='Battery Dispatch Automated FOM', 'caption'='Automated'} ], [{'name'='Battery Dispatch PV Smoothing', 'caption'='System Smoothing'}], [ {'name'='Battery Dispatch Custom Time Series', 'caption'='Custom Time Series'} ], [ {'name'='Battery Dispatch Manual', 'caption'='Manual'}] ], { 'sidebar'='Battery Dispatch', 'help'='battery_dispatch_fom', 'exclusive_var' = 'batt_dispatch_excl', 'exclusive_header_pages' = ['Battery Dispatch Common', 'Battery Dispatch Options FOM'], 'exclusive_tabs'=true, 'exclusive_hide'=true, 'bin_name'='Battery'} ); //addpage( [[ 'Standalone Battery Costs'/*, 'Battery Enable' set on battery dispatch automated fom*/ ]], { 'sidebar'='Battery Installation Costs', 'help'='cc_standalone_battery', 'bin_name'='Battery' } ); diff --git a/deploy/runtime/ui/Electric Building Load Calculator.json b/deploy/runtime/ui/Electric Building Load Calculator.json index 2eb04be587..e924c54379 100644 --- a/deploy/runtime/ui/Electric Building Load Calculator.json +++ b/deploy/runtime/ui/Electric Building Load Calculator.json @@ -12,11 +12,11 @@ }, "X": { "Type": 3.0, - "Integer": 9.0 + "Integer": 6.0 }, "Y": { "Type": 3.0, - "Integer": 510.0 + "Integer": 516.0 }, "Width": { "Type": 3.0, @@ -90,7 +90,7 @@ }, "Y": { "Type": 3.0, - "Integer": 522.0 + "Integer": 531.0 }, "Width": { "Type": 3.0, diff --git a/deploy/runtime/ui/MSPT IPH Dispatch Control.json b/deploy/runtime/ui/MSPT IPH Dispatch Control.json index 28f838de81..03d3c4bf26 100644 --- a/deploy/runtime/ui/MSPT IPH Dispatch Control.json +++ b/deploy/runtime/ui/MSPT IPH Dispatch Control.json @@ -352,7 +352,7 @@ }, "ColLabels": { "Type": 5.0, - "String": "Turbine output fraction" + "String": "Heat sink output fraction" }, "NumRowsLabel": { "Type": 5.0, diff --git a/doc/readme.md b/doc/readme.md index d029313034..0cfacb4db7 100644 --- a/doc/readme.md +++ b/doc/readme.md @@ -237,7 +237,7 @@ If possible, avoid using headings in snippet files to avoid inconsistencies betw ## Headings -Limit section headings to three levels, plus Level 4 for procedure titles. +Limit section headings to three levels. In reStructuredText, headings are identified by underline characters (https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#sections). The character used to underline the text determines the heading level based on the "succession of headings" in each file. This means that each file can use different characters to represent heading levels. @@ -269,9 +269,10 @@ The "~" character now represents Heading 2 because of the order above. Use `#` to automatically number lists. Use `*` for bulleted lists. Lines in a list can be separated by a blank line or not. +For the title of step-by-step instructions, use **bold** text (`**bold**`) instead of a heading so that the format is consistent across all documents. + ``` -Heading 4: Step-by-step instructions: -..................................... +**Step-by-step instructions:** #. This is Step 1 with automatically numbered lines. @@ -305,13 +306,13 @@ When creating and editing cross references, you may need to clean and rebuild th Use `:doc:` for a cross reference to a topic file to create a hyperlink that points to the beginning of the file. -Use the file's title as the hyperlink text: +To use the file's title as the hyperlink text: ``` This is a reference to :doc:`path/to/filename` ``` -Use custom hyperlink text: +To use custom hyperlink text: ``` This is a reference to :doc:`hyperlink text ` @@ -459,3 +460,31 @@ You can also use `topic` to create a text box with a custom title. This can be u An AC degradation rate of 1% for a system with a net annual AC output of 100,000 kWh in Year one results in annual output values of 100,000 kWh in year 1, 99,000 kWh in year 2, 98,010 kWh in year 3, 97,029.9 kWh in year 4, etc. ``` + +## Literal Blocks + +A literal or code block is indented and preceded by `::`. + +This results in "This is some code:" (colon is appended to end of line): + +``` +This is some code:: + + One line of code. + Another line of code. + And so on. +``` + +This is just a literal block: + +``` +:: + First line. + Second line. + Third line. +``` + +## File Names and Paths + +Use backticks (\`) to enclose file names or paths like `C:\SAM\2025.4.16`. + diff --git a/doc/source/battery-storage/battery_cell_and_system.rst b/doc/source/battery-storage/battery_cell_and_system.rst new file mode 100644 index 0000000000..4d476c7af1 --- /dev/null +++ b/doc/source/battery-storage/battery_cell_and_system.rst @@ -0,0 +1,647 @@ +Battery Cell and System +======================= + +The Battery Cell and System page displays inputs describing the battery's performance characteristics. + +Behind-the-meter (BTM) and Front-of-meter (FOM) Batteries +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The financial model determines whether you are modeling a behind-the-meter (BTM) or front-of-meter (FOM) battery. + +A BTM battery can discharge to the grid or to meet a building or facility's electricity load. A BTM battery may be standalone or installed with on-site power generating equipment to reduce a residential or commercial building or facility owner's electricity bill. SAM assumes the battery is BTM for the Distributed financial models (Residential, Commercial, and Third Party Ownership). + +A FOM battery can only discharge to the grid. It may be standalone or installed as part of a power generation project to maximize revenue for a power generation project. The battery is FOM for the PPA financial models (Single Owner, Partnership Flip, Sale Leaseback) and for the Merchant Plant model. + +The battery in a PV-battery application may be connected either to the AC or DC side of the inverter. + +.. image:: ../images/IMG_BATT-configurations.png + :align: center + :alt: IMG_BATT-BTM-configurations.png + +Figure 1: Battery Configurations. Standalone battery is the same as Custom Generation Profile but with no system. + +.. note:: For a DC-connected PV-storage system, SAM assumes that the inverter on the Inverter page is a bidirectional or hybrid inverter that converts both DC power to AC and AC power to DC whether or not the inverter actually supports bidirectional conversion. You can use the "CEC hybrid" field in the inverter library to help identify bidirectional inverters. + +Chemistry +~~~~~~~~~ + +The battery type defines the battery chemistry for (lithium ion, lead acid, or flow battery), and the type of battery for each chemistry. When you choose a battery type, SAM automatically changes the battery property input variables to default values for that type. These default values were drawn from DiOrio (2015) "Technoeconomic Modeling of Battery Energy Storage in SAM" available `here `__, which also includes more details on how SAM calculates battery capacity. + +**Battery type** + Choose the battery chemistry and battery type for the batteries in your system. + + When you choose a battery type, SAM replaces the values of **Voltage Properties** and **Current and Capacity** input variables as appropriate with values for each battery type. + + When you choose a custom battery type for either the lead acid or lithium ion chemistry, SAM does not replace the input variable values. + +To model a battery type not included in the list, choose either **Lead Acid: Custom** or **Lithium Ion: Custom**, and specify your voltage, current, and capacity properties appropriate for the battery. +When you choose the custom lead acid battery type, SAM retains the capacity and discharge rate values from the table below from the previous state. For example, if you change the battery type from flooded lead acid to custom lead acid, SAM will apply the capacity/discharge rate table for flooded batteries to your custom battery. + +Lead Acid +--------- + +The three lead acid battery types use the lead acid battery capacity model described in DiOrio (2015), cited above: + +* Flooded lead acid batteries with a liquid electrolyte. + +* Valve Regulated (VRLA) batteries are sealed, and the electrolyte is bound in a gel. + +* VRLA Absorptive Glass Mat (AGM) batteries are sealed, and the electrolyte is immobilized in porous separators. + +Lead acid battery capacity is dependent on the discharge rate. When you choose different lead-acid battery types from the list, SAM changes internal variable values that define the relationship between capacity and discharge rate as shown in the table below. It is not possible to change these values from the Battery Storage input page. These values are based on analysis of information for batteries from different manufacturers. SAM considers the 20-hour discharge rate to be the nominal capacity of a lead-acid battery and scales the capacity at faster discharge rates as a percent of the that 20-hour capacity. + +.. list-table:: + :width: 100% + :align: center + :header-rows: 1 + + * - Discharge Rate + - Flooded Capacity % + - VRLA Gel Capacity % + - VRLA AGM Capacity % + * - 20-hr ( 0.05 C ) + - 100 + - 100 + - 100 + * - 10-hr ( 0.1C ) + - 87 + - 84.9 + - 93.2 + * - 1-hr ( C ) + - 47 + - 63.1 + - 58.1 + +Lithium Ion +----------- + +The six lithium ion battery types use of the lithium-ion battery capacity model described in DiOrio (2015) "Technoeconomic Modeling of Battery Energy Storage in SAM" cited above: + +* LMO: Lithium Manganese Oxide (|EQ_BATT_lmo|) – An inexpensive high-voltage cathode material with high power capabilities but potentially lower lifespan. + +* LFP: Lithium Iron Phosphate (|EQ_BATT_lfp| – A lower voltage cathode material with excellent safety properties but lower volumetric energy. + +* LCO: Lithium Cobalt Oxide (|EQ_BATT_lco| – Among the first and still a common cathode material with high specific energy, but potentially costly and toxic. + +* LTO: Lithium Titanate (|EQ_BATT_lto| – A promising anode material with excellent lifetime properties but lower specific capacity and important cost considerations. + +* NMC: Nickel Manganese Cobalt (|EQ_BATT_nmc| – A less expensive cathode material than LCO with potentially improved safety characteristics + +* NCA: Nickel Cobalt Aluminum (|EQ_BATT_nca| – Similar in respects to NMC as a cathode material with high specific energy + +When you choose a lithium ion battery, SAM assigns values to voltage, lifetime, and thermal properties as appropriate from Reddy (2011), available `here `__, and from manufacturer data sheets. SAM does not change any internal variables or calculations. + +Flow Batteries +-------------- + +Flow battery designers can decouple power output (kW) from energy capacity (kWh) when sizing systems. Flow batteries may be able to cycle more deeply and operate for more total cycles than lithium ion or lead acid batteries, but flow batteries also have pumps, which should be considered when calculating **Ancillary Equipment Losses**. + +**Vanadium Redox Flow** + The vanadium redox flow battery model available in SAM comes from R. D’Agnostino et. al, (2014) "A Vanadium-Redox Flow-Battery Model for Evaluation of Distributed Storage Implementation in Residential Energy Systems" + + VRFB: Vanadium Redox Flow (V \ :sup:`2+`\ ,V \ :sup:`3+`\ *anolyte* ), (VO \ :sup:`2+`\ , VO \ :sup:`2+`\ , *catholyte* ) + +**All Iron Redox Flow** + The all iron redox flow battery model available in SAM shares the same input field framework as the vanadium flow battery, but relies on tabular voltage vs. depth-of-discharge in place of a voltage model. Default iron flow battery values are based on preliminary manufacturer data and feedback for an all-iron hybrid-redox flow battery. + + AIFB: All Iron Redox Flow (Fe \ :sup:`2+`\ , Fe \ :sup:`3+`\ ) + +Battery Bank Sizing +~~~~~~~~~~~~~~~~~~~ + +The two battery bank sizing options allow you to either automatically size the battery bank based on desired size, or to manually specify the number of cells per string and strings in parallel. + +The automatic option uses the basic equations described below to determine numbers of cells and strings or stacks, which may not always result in realistic values. If you use the automatic sizing option, be sure to check the **Computed Properties** values to be sure they are what you expect. + +Set Desired Bank Size: Automatic Sizing +--------------------------------------- + +For automatic sizing choose **Set desired bank size**. + +**Desired bank power, kW** + The battery's maximum discharge rate in kW. Compare this to **Maximum discharge power** under **Computed Properties** to verify that SAM calculated a discharge power close enough to the desired value to meet your requirements. + + The desired bank power can be in either DC kW or AC kW depending on whether you choose **DC units** or **AC units**. If you use AC units, SAM calculates the nominal bank power in DC kW using the appropriate conversion efficiency from the **Power Converters** section for either an AC- or DC-connected battery. + +**Desired bank capacity, h or kWh** + The nominal size of the battery bank. Choose h to specify the size in hours of storage at the nominal discharge rate, or choose kWh to specify the size in kWh of available energy. Compare this to **Nominal bank capacity** under **Computed Properties** to verify that SAM calculated a nominal value close enough to the desired value to meet your requirements. + +.. note:: Some battery data sheets provide both a nominal battery capacity and an available or usable battery capacity that is less than the nominal capacity. Use the higher nominal capacity value for the desired bank size, and then use the inputs under **Charge Limits and Priority** on the Battery Dispatch page to limit the battery to the available capacity. This will ensure that SAM calculates costs in $/kWh based on the nominal capacity. + +Specify Cells: Manual Sizing +---------------------------- + +For manual sizing choose **Specify cells**. + +**Number of cells in series** + The number of cells in series in each string of the battery bank. The number of cells in series determines the maximum discharge power and the nominal bank voltage. + +**Number of strings in parallel** + The number of strings of cells in parallel in the battery bank. The number of strings in parallel determines the nominal bank capacity. + +**Max C-rate of charge, per/hour** + The maximum charge rate as a fraction of the battery bank capacity. For example, a 10 kWh battery with C-rate of charge of 0.5 can charge at a maximum rate 10 kWh × 0.5/h = 5 kW. + +**Max C-rate of discharge, per/hour** + The maximum discharge rate as a fraction of the battery bank capacity. For example, a 10 kWh battery with C-rate of discharge of 0.5 can discharge at a maximum rate 10 kWh × 0.5/h = 5 kW. + +.. note:: For flow batteries, the capacity and power are decoupled so the the C-rate is a calculated value rather than an input. + +Calculations for Automatic Bank Sizing +-------------------------------------- + +SAM's bank sizing calculations use basic equations using the cell property information you specify. The calculated values are designed to help you get started with your system design. They do not account for many real-life design factors. You should use these values for an initial preliminary analysis and then use **Specify cells** for conventional batteries or **Specify capacity and stack configuration** for flow batteries to refine your analysis. + +**Number of cells in series, Number of cells per stack** + SAM calculates a number of cells in series for a conventional battery, or cells per stack for a flow battery assuming one stack, that either meets exactly or slightly exceeds the desired bank voltage based on the cell nominal voltage. For example, for a desired bank voltage of 24 V with a nominal cell voltage of 3.6 V, SAM calculates *24 V ÷ 3.6 V/cell = 6.7*, or 7 cells in series. The actual nominal bank voltage is *3.6 V/cell × 7 cells = 25.2 V*. SAM displays the actual battery bank properties as calculated values under Current and Capacity. + +**Number Strings in parallel (Lithium-ion and Lead-acid Batteries)** + SAM calculates the bank capacity by determining the number of strings of cells in parallel required to ensure that the actual capacity is as close as possible to the desired value given the cell capacity that you specify under **Current and Capacity**. For the example above, if the desired bank capacity is 3 kWh, and the cell capacity is 1.5 Ah, the calculated bank voltage would be 25.2 V, and one string of cells has a capacity of *25.2 V × 1.5 Ah = 37.8 Wh*, or 0.0378 kWh. To reach the desired bank capacity of 3 kWh: *3 kWh ÷ 0.0378 kWh/string = 79.4*, or 80 strings. + + The calculated C-rates of charge and discharge are the desired bank power divided by the computed bank capacity. + +**Capacity and Stack Configuration (Flow Batteries)** + For flow batteries, the capacity is independent of the power block and can be specified exactly by the amount of electrolyte in the tanks. SAM sets nominal bank capacity to the desired capacity you specify. SAM calculates the nominal power ratings using the desired stack (bank) voltage and other properties in the **Current and Capacity** group. The number of stacks in parallel is depends on whether the cells are power limited or current limited. + + For the **Power limited** option, the number of stacks in parallel is the ceiling of the desired bank power divided by the product of **Cell max power discharge** and the number of cells in the stack (assuming one stack in series). For example, consider a flow battery with a desired bank capacity of 100 kWh, bank power of 50 kW, and bank voltage of 48V with 1.4V cells and a cell power discharge max of 2W. The number of cells in the stack is *ceiling(48V ÷ 1.4V/cell) = ceiling(34.2 cells) = 35 cells* . The bank voltage is *35 cells × 1.4V/cell = 49V* . To achieve 50KW with limitations of 2W/cell, there must be *ceiling(50 kW / (0.002 kW/cell * 35 cells)) = 715 stacks in parallel*. + + For the **Current limited** option, the number of stacks in parallel is the ceiling of the desired bank power divided by the product of the battery bank voltage and **Cell max current discharge**. In the example above, if all properties are the same except the battery is current limited with 10A per cell (and consequently per stack), the number of stacks in parallel must be: *ceiling(50 kW / (49V * 10 A * 0.001) ) = 103 stacks in parallel*. + + For the **Limit both current and power** option, the stacks are sized by using the current limit, and within the model at each time step the current and power through the cells are checked and reduced if necessary. + +Current and Capacity +~~~~~~~~~~~~~~~~~~~~ + +The Current and Capacity parameters depend on the battery chemistry: + +* For lead acid and Lithium-ion batteries, you specify a cell capacity value, and SAM displays the computed properties based on the battery bank sizing parameters. + +* For flow batteries, you choose whether the battery is power- or current-limited and specify minimum and maximum rates. + +Lead Acid and Lithium-ion Battery Parameters +-------------------------------------------- + +**Desired bank voltage** + The battery bank voltage you are trying to achieve in your design. This input is only enabled when you choose **Set desired bank size**. SAM calculates the number of cells in series based on the desired bank voltage and cell nominal voltage: + + *Number of Cells in Series = ROUND UP ( Desired Bank Voltage ÷ Cell Nominal Voltage )* + +**Cell nominal voltage** + The reference voltage of a single, fully charged cell in the battery as reported by the manufacturer. The typical nominal voltage for a lead acid cell is 2 V, and for lithium ion cell is 3.7 V. + + SAM uses the nominal voltage to size the battery bank and compute the battery bank's nominal voltage. + +**Cell capacity** + The capacity of a single cell when the battery is fully charged. SAM sets this value to a default value when you choose a battery chemistry, but you can change its value. + +Flow Battery Parameters +----------------------- + +**Desired bank voltage** + The battery bank voltage you are trying to achieve in your design. This input is only enabled when you choose **Set desired bank size**. SAM calculates the number of cells in series based on the desired bank voltage and cell nominal voltage: + + *Number of Cells in Series = ROUND UP ( Desired Bank Voltage ÷ Cell Nominal Voltage )* + +**Cell nominal voltage** + The reference voltage of a single, fully charged cell in the battery as reported by the manufacturer. + + SAM uses the nominal voltage to size the battery bank and compute the battery bank's nominal voltage.**Power limited with Cell max power charge and discharge** + Limit the maximum charge and discharge power. + +**Current limited with Cell max current charge and discharge** + Limit the maximum charge and discharge current. + +**Limit both current and power** + Limit both the charge limits by both power and current. + +Computed Properties +------------------- + +The computed properties are a summary of the battery bank system design. The values may either be ones that you specify or that SAM calculates depending on whether you choose the **Set desired bank size** or **Specify cells** option. + +**Nominal bank capacity, DC kWh** + The nominal size of the battery. SAM uses this value in battery cost calculations with $/kWh units, and to determine the battery state of charge and capacity reduction over the battery life. + + *Nominal Bank Capacity (DC kWh) = Cell Capacity (Ah) × Cell Voltage (VDC) × Total Number of Cells* + + The cell voltage is shown under **Battery Voltage**. + +**Nominal bank power, DC kW** + The nominal maximum discharge power in DC kW. SAM uses this value in battery cost calculations with $/kW units. + +**Time at maximum power** + The number of hours the battery could discharge continuously at its maximum discharge power. This is either the input value you provide under **Battery Bank Sizing**, or calculated as: + + *Time at Maximum Power (h) = Nominal Bank Capacity (kWh) ÷ Maximum Discharge Power (kW)* + +**Nominal bank voltage, VDC** + The nominal voltage of the battery bank. + + *Nominal Bank Voltage (VDC) = Cell Voltage (VDC) × Cells in Series* + +**Total number of cells** + The product of cells (stacks) in series and strings (stacks) in parallel. + +**Cells in series / Cells per stack** + The number of cells in series in each string. + + If you choose **Set desired bank size** under **Battery Bank Sizing**: + + *Cells in Series = Nominal Bank Voltage (VDC) ÷ Nominal Cell Voltage (VDC)* + + If you choose **Specify cells**, then this is the value you entered for **Number of cells in series** under **Battery Bank Sizing**. + +**Strings in parallel / Stacks in parallel** + The number of strings of battery cells in series in the battery bank. + + If you choose **Set desired bank size** under **Battery Bank Sizing**: + + *Strings in Parallel = Nominal Bank Capacity (kWh) ÷ ( Cell Capacity (Ah) × Nominal Cell Voltage (VDC) )* + + If you choose **Specify cells**, then this is the value you entered for **Number of strings in parallel** under **Battery Bank Sizing**. + +**Stacks in series** + For flow batteries, the number of stacks in series. + +**Max C-rate of discharge, per/h** + If you choose **Set desired bank size** under **Battery Bank Sizing**, SAM calculates the value as: + + *Max C-rate of Discharge (per/h) = Maximum Discharge Power (DC kW) ÷ Nominal Bank Capacity (DC kWh)* + + If you choose **Specify cells**, then this is the value you entered for **Max C-rate of discharge** under **Battery Bank Sizing**. + +**Max C-rate of charge, per/h** + If you choose **Set desired bank size** under **Battery Bank Sizing**, SAM calculates the value as: + + *Max C-rate of Charge (per/h) = Maximum Charge Power (DC kW) ÷ Nominal Bank Capacity (DC kWh)* + + If you choose **Specify cells**, then this is the value you entered for **Max C-rate of charge** under **Battery Bank Sizing**. + +**Maximum discharge current, A** + The battery's maximum discharge current. The battery may discharge at a rate up to the maximum. + + *Maximum Discharge Current (A) = Nominal Bank Capacity (DC kWh) ÷ Nominal Bank Voltage (VDC) × Max C-rate of Discharge (1/h) × 1000 Wh/kWh* + +**Maximum charge current, A** + The battery's maximum charge current. The battery may charge at a rate up to the maximum. + + *Maximum Discharge Current (A) = Nominal Bank Capacity (DC kWh) ÷ Nominal Bank Voltage (VDC) × Max C-rate of Charge (1/h) × 1000 Wh/kWh* + +**Maximum discharge power, DC kW** + The battery can discharge at up to the maximum discharge power. The maximum discharge power is also the nominal DC power of the battery bank used for $/kW-based battery cost calculations. + + When the units for **Desired bank power** are DC kW: + + *Maximum Discharge Power (DC kW) = Cell Capacity (Ah) × Cell Nominal Voltage (VDC) × Max C-rate of Discharge (1/h) × Total Number of Cells ÷ 1000 W/kW* + + When the units for **Desired bank power** are AC kW, the discharge power in DC kW depends on whether the battery is AC-connected or DC-connected. + + AC-connected: + + *Maximum Discharge Power (DC kW) = Desired Bank Power (AC kW) ÷ DC to AC Conversion Efficiency* + + DC-connected: + + *Maximum Discharge Power (DC kW) = Desired Bank Power (AC kW) ÷ ( DC to AC Conversion Efficiency × Inverter Nominal Efficiency )* + +**Maximum charge power, DC kW** + The maximum charge power, calculated from the nominal bank capacity and maximum C-rate of charge. + + When the units for **Desired bank power** are DC kW: + + *Maximum Charge Power (DC kW) = Cell Capacity (Ah) × Cell Nominal Voltage (VDC) × Max C-rate of Charge (1/h) × Total Number of Cells ÷ 1000 W/kW* + + When the units for **Desired bank power** are AC kW, the discharge power in DC kW depends on whether the battery is AC- or DC-connected. + + AC-connected: + + *Maximum Charge Power (DC kW) = Desired Bank Power (AC kW) ÷ DC to AC Conversion Efficiency* + + DC-connected: + + *Maximum Charge Power (DC kW) = Desired Bank Power (AC kW) ÷ ( DC to DC Conversion Efficiency × Inverter Nominal Efficiency )* + +**Maximum discharge power, AC kW** + The AC equivalent of the discharge power in DC kW. + + For the **Set desired bank size** option, if the **Desired bank power** units are AC kW, SAM sets the maximum discharge power to the desired value. + + Otherwise, it is calculated from the DC value: + + AC-connected: + + *Maximum Discharge Power (AC kW) = Maximum Discharge Power (DC kW) × DC to AC Conversion Efficiency* + + DC-connected: + + *Maximum Discharge Power (AC kW) = Maximum Discharge Power (DC kW) × ( DC to DC Conversion Efficiency × Inverter Nominal Efficiency )* + +**Maximum charge power, AC kW** + The AC equivalent of the charge power in DC kW. + + For the **Set desired bank size** option, if the **Desired bank power** units are AC kW, SAM sets the maximum charge power to the desired value. + + Otherwise, it is calculated from the DC value: + + AC-connected: + + *Maximum Charge Power (AC kW) = Maximum Charge Power (DC kW) × DC to AC Conversion Efficiency* + + DC-connected: + + *Maximum Charge Power (AC kW) = Maximum Charge Power (DC kW) × ( DC to DC Conversion Efficiency × Inverter Nominal Efficiency )* + +Power Converters +~~~~~~~~~~~~~~~~ + +For photovoltaic-battery systems, SAM can model a battery that is connected to either the DC or AC side of the photovoltaic inverter. + +.. note:: The DC connected option is only available with the PV Battery configuration. The Standalone and Custom Generation Profile - Battery configurations assume that the battery is the only DC component in the system. + + The Power Converters conversion efficiency inputs account for electrical losses associated with any battery power converter equipment except for the photovoltaic inverter. SAM models each battery converter as a fixed conversion efficiency. + + The photovoltaic inverter is a separate component from the battery power converters specified here and uses a more sophisticated model with an efficiency curve that varies with the inverter load. You specify the photovoltaic inverter model and parameters on the :doc:`Inverter <../detailed-photovoltaic-model/pv_inverter>` page. SAM models the inverter as a hybrid inverter with inputs for both a photovoltaic array and battery, regardless of whether the inverter you choose is actually a hybrid inverter. You can use the cec_hybrid column in the inverter library to find inverters that are specified as hybrid inverters. + +DC Connected (PV Battery Only) +------------------------------ + +Choose **DC Connected** for a battery connected to the DC side of a hybrid photovoltaic inverter as shown in the diagram above. + +To account for electrical losses from a DC-DC converter between the photovoltaic array and inverter, be sure to assign an appropriate value to the **DC power optimizer loss** on the :doc:`Losses <../detailed-photovoltaic-model/pv_electrical_losses>` page. + +For a DC-connected battery, during time steps when the total power from the photovoltaic array and battery is greater than the inverter's nameplate capacity, the inverter limits its output power to the nameplate capacity. For the dispatch options with **Battery can charge from clipped system power** enabled on the Battery Dispatch page, if the battery is not fully charged and is not discharging, the array power in excess of the inverter's nominal capacity charges the battery. + +**DC to DC conversion efficiency, %** + For the DC-connected option, the electrical conversion efficiency of the battery management system (BMS). SAM applies this loss to power into or out of the battery to account for power consumed by the BMS. SAM disables this input for the AC Connected option. + +**Inverter efficiency cutoff, %** + For the DC-connected option, the inverter efficiency cutoff is the photovoltaic inverter operating efficiency threshold below which the battery is not allowed to charge from the grid, or to discharge when the discharge power is greater than the inverter's maximum rated power. SAM reports the inverter operating efficiency in the time series results. + +AC Connected +------------ + +Choose **AC Connected** for a battery connected to the grid interconnection point as shown in the diagram above. Power conversion equipment is required to convert DC power from the battery to AC power before it can serve the load or be sent to the grid, and to convert AC power from the grid or pvhotovoltaic inverter before it can charge the battery. + +**AC to DC conversion efficiency, %** + For the AC-connected option, the electrical conversion efficiency associated with the equipment that converts AC power from either the photovoltaic inverter output or grid to DC power for the battery. SAM disables this input for the DC Connected option. + +**DC to AC conversion efficiency, %** + For the AC-connected option, the electrical conversion efficiency associated with the equipment that converts DC power from the battery to AC power for either the AC load or grid, or both. SAM disables this input for the DC Connected option. + +Charge Limits and Priority +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The Charge Limits and Priority inputs are constraints on the battery dispatch calculations. + +The limits on minimum and maximum state of charge affect both the amount of energy available for battery dispatch calculations, and the depth of charge-discharge cycles for battery life calculations. Choose values appropriate for the type of battery you are modeling. The default values state of charge range of 15% to 95% is reasonable for most Li-ion battery types. + +**Minimum state of charge, %** + A limit on the quantity of energy that can be drained from the battery as a percentage of available capacity. For example, a value of 15% would prevent the battery from discharging below 15% of the battery's available capacity in a given time step. + +.. note:: The minimum and maximum state of charge are both as a percentage of available battery capacity, which changes over time as the batteries degrade and are replaced. The available capacity in a given time step is likely to be less than the battery's nominal capacity shown on the Battery Cell and System page. + +**Maximum state of charge, %** + A limit on the quantity of energy that can be sent to the battery as a percentage of available capacity. For example a value of 95% would prevent the battery from charging above 95% state of charge. + +**Initial state of charge, %** + The state of charge of the battery at the beginning of the simulation. A value of 100% would be for a fully charged battery, 0% would be for a fully discharged battery. + +**Minimum time at charge state, min** + There may be periods of time where the photovoltaic or other power system output varies above and below the load causing rapid cycling of the battery. Rapid cycling may also result for dispatch options that respond to power prices when prices change rapidly from time step to time step. This kind of cycling, especially if the cycles are deep, may degrade battery performance over time. The minimum time at charge state prevents the battery from changing between charging and discharging within the number of minutes that you specify. + +.. note:: The minimum time at charge state only applies when the simulation time step is smaller than the minimum time at charge state. For example, the default value of 10 minutes would only apply for 5-minute or 1-minute simulation time steps; It has no effect for hourly simulations. + +Battery Voltage +~~~~~~~~~~~~~~~ + +The voltage properties are technical specifications available on most battery manufacturer data sheets. + +.. note:: When you change the battery type, SAM changes the voltage properties inputs to default values appropriate for the battery chemistry you selected. You can use these default values unless you have better information from a manufacturer's data sheet or other source. + +Battery voltage varies with state of charge as the internal open circuit potential decreases or increases. Voltage variations in charging and discharging affect the battery's round-trip efficiency reported in the results. During charging, voltage increases, requiring more power to charge the cell. During discharge the voltage decreases and less power can be extracted. The round-trip efficiency is computed as the net amount of energy discharged from a cell divided by how much energy it took to charge the cell. + +**Cell Internal resistance, Ohm** + The cell internal resistance for each cell in the battery in Ohms. SAM assumes that this is a constant value and uses it in voltage and thermal calculations by scaling the cell internal resistance to a total battery resistance based on the cell configuration. + +**Nominal bank voltage, VDC** + The battery bank voltage from the **Computed Properties** on the Battery Cell and System page. + +**Nominal cell voltage, VDC** + The nominal voltage of a single cell from the **Current and Capacity** inputs on the Battery Cell and System page. + +Electrochemical Model +--------------------- + +The electrochemical voltage model can be used for Lithium-ion and lead acid batteries and provides a way to characterize the battery's voltage curve using data provided on some battery manufacturer data sheets. It is disabled for flow batteries. The model is described in Section 2.1 of `DiOrio (2015) Technoeconomic Modeling of Battery Energy Storage in SAM `__. + +**C-rate of discharge curve** + Battery manufacturer data sheets typically include a set of curves like the one below that show cell voltage as a function of charge removed for different discharge rates. The "C-rate" is the current used to discharge the battery. It is defined as the current divided by the rated capacity. + + In this example, if the discharge current is given at the 20-hour discharge rate, the C-rate would be *I\ :sub:`20`\ ÷ q\ :sub:`20`\ × C = 0.05 × C (C/20)* . + +.. image:: /images/IMG_BATT-DischargeCurve.png + :align: center + :alt: IMG_BATT-DischargeCurve.png + +**Cutoff cell voltage, VDC** + The minimum allowed cell voltage. + +**Nominal zone cell voltage, VDC** + The cell voltage (Vnom) at the end of the nominal zone, as shown in the Nominal Current Discharge Characteristic graph below.. The cell charge removed at this point is |EQ_BATT_Nominal| . + +**Exponential zone cell voltage, VDC** + The cell voltage (Vexp) at the end of the exponential zone, as shown in the Nominal Current Discharge Characteristic graph below. The cell charge removed at this point is |EQ_BATT_Exponential| . + +**Fully charged cell voltage, VDC** + The cell voltage (Vfull) at the given C-rate when a cell is at its maximum charge. + +.. note:: The voltage inputs must satisfy Vfull > Vexp > Vnom. + +**Charge removed at exponential and nominal point** + Voltage vs discharge curves show that cell-voltage typically undergoes several distinct regions depending on charge. + +.. image:: /images/IMG_BATT-NominalDischargeCharacteristic.png + :align: center + :alt: IMG_BATT-NominalDischargeCharacteristic.png + +**C-rate of discharge curve** + This parameter determines the shape of the voltage curve between the end of the nominal zone and 100% discharge. + +Voltage Table +------------- + +The voltage table option defines the voltage curve using data from the voltage table. It can be used for any type of battery, but requires data not often provided on manufacturer data sheets. + +SAM uses linear interpolation with an adjustment for cell internal resistance for cell voltage calculations during simulations. Each row in the table must have a different voltage value. + +The voltage table must contain at least two values, and must include cell voltage values less than and greater than the cell nominal voltage. + +**To use the voltage table to define the voltage curve:** + +#. Choose **Voltage table**. + +#. For **Rows**, type the number of pairs of voltage - depth of discharge pairs you want to use to define the voltage. The table will expand to the number of rows you type. + + You can also click Import to import data from a text file. Try clicking Export to create a template file to see what the text format should be. + +#. Type values in the depth of discharge and cell voltage columns. The Voltage Discharge graph will update as you type. + +Battery Losses +~~~~~~~~~~~~~~ + +Some battery systems have losses that are not accounted for by the conversion losses specified under Power Converters above. You can use the ancillary equipment losses to account for these additional losses. By default, these losses are set to zero, which is appropriate for most analyses. + +Ancillary Equipment Losses +-------------------------- + +These are losses to account for electrical losses or consumption by equipment in the battery system such as for heaters and pumps for temperature control equipment. + +For DC-connected batteries, the losses are applied the system's DC power. For AC-connected systems, they are applied to the AC power. + +Losses by operating mode +------------------------ + +Choose this option to specify losses by month that apply when the battery is charging, discharging, or idle. + +**Charging mode losses** + Losses that apply when the battery is charging. + + Click **Edit values** to specify the loss in kW by month. SAM applies the loss in each time step of the month. For example, if the expected loss in January is 500 W, enter 0.5 for January, and SAM will reduce the available power by 0.5 kW for each time step in January. + +**Discharging mode losses** + Losses that apply when the battery is discharging. + +**Idle mode losses** + Losses that apply when the battery is neither charging, nor discharging. + +Time series losses +------------------ + +Choose this option to specify hourly or subhourly time series losses. + +**Time series losses** + Click **Edit array** to enter or import kW loss values for each time step of the simulation. + +Battery Availability +-------------------- + +Battery availability losses can represent battery downtime for maintenance, system outages, or other times when the battery can neither charge nor discharge. The battery availability loss has the effect of reducing electricity to/from battery and battery state of charge in the time steps with availability losses. + +To explore the effect of battery availability losses, use the following output variables + +* **Electricity to/from battery AC (kW)** + +* **Battery state of charge (%)** + +* **Battery availability loss (%)** + +The **Electricity to [...] from battery (kW)** and **Electricity to battery from [...] (kW)** variables may also be useful. + +Battery availability losses affect both power and capacity. For a time step with availability loss, the loss percentage for that time step applies to both the battery power (kW) and capacity (kWh). Because the availability loss is intended to represent downtime for maintenance, the loss percentage also applies to the battery state of charge, assuming that cells are discharged to safely perform maintenance. This means that the battery will have a lower state of charge at the end of the availability loss period than at the beginning. + +.. note:: If the battery state of charge (SOC) is low when the availability loss period begins, the SOC could fall below the minimum SOC from the Battery Dispatch page. For example, a battery with a 10% minimum SOC that is at its minimum charge state when a period of 50% availability begins, would have a SOC of 5% at the end of the period. + +**Edit losses** + The :doc:`Edit Losses <../window-reference/win_edit_losses>` window allows you to define loss factors as follows: + + * Constant loss is a single loss factor that applies to the system's entire output. You can use this to model an availability factor. + + * Time series losses apply to specific time steps. + + SAM multiplies the battery power in each time step by the loss percentage that you specify for that time step. For a given time step, a loss of zero would result in no adjustment. A loss of 5% would reduce the power by 5%, and a loss of -5% would increase the power by 5%. + +.. _fom-thermal: + +Battery Thermal +~~~~~~~~~~~~~~~ + +The battery thermal model calculates the battery temperature in each simulation time step. Battery temperature affects battery capacity and degradation. The model's two main heat-transfer terms are transfer between the battery and its environment, and energy generated by resistive heating inside the battery. The cell internal resistance input is under Battery Voltage. + +.. note:: To verify that the battery thermal model is working as you expect, look at the **Battery temperature** output variable in the time series results to make sure it is within a reasonable range. If the temperature is higher or lower than you expect, you may need to adjust the thermal or physical properties inputs. + +Thermal Properties +------------------ + +**Specific heat Cp, J/kg-K** + Estimated specific heat capacity for the battery. + +**Heat transfer coefficient h, W/m²-K** + Estimated heat transfer coefficient for heat transfer from the battery to the room. + + The default value for smaller batteries assumed for behind-the-meter applications is 7.5 W/m²-K. For larger batteries in front-of-meter applications, the default is 15 W/m²-K. + +**Environment temp option** + Choose how to represent the temperature of the battery's environment. + + .. image:: /images/SS_Battery-TempOption.png + :align: center + :alt: SS_Battery-TempOption.png + +**Enter single fixed temperature** + Choose this option to model the battery environment temperature as a single constant value throughout the year. + +**Enter time series temperature** + Choose this option to provide your own time series temperature data for the battery environment. + +**Single environment temperature** + For the Enter Single Fixed Temperature option, the temperature of the battery environment in degrees Celsius. This is disabled for the Enter Time Series Temperature option. + +**Time series environment temperature** + For the Enter Time Series Temperature option, click **Edit array** to enter or import hourly or subhourly temperature data in degrees Celsius. Note that the number of time steps must match the simulation time step determined by the weather file. This is disabled for the Enter Single Fixed Temperature option. + +.. note:: For a battery in a conditioned space, be sure to account for power required for heating or cooling equipment under **Battery Losses**. SAM does not explicitly model battery heating or cooling equipment, so you should set the battery environment temperature inputs to the temperature of the conditioned space. + +Capacity Fade with Temperature +------------------------------ + +The manufacturer data sheet may include battery capacity versus temperature data showing how the battery's capacity decreases with ambient temperature. The Capacity Fade curve must have at least two rows of data. + +**Temp, °C** + Battery environment temperature in degrees Celsius. + +**Capacity, %** + Battery discharge capacity as a percentage of rated capacity at the given temperature. + +Physical Properties +------------------- + +The physical properties inputs are designed to scale with battery size so you don't have to change them each time you change the size of the battery bank. These values should be reasonable estimates of the battery bank or individual battery's actual dimensions. They do not need to be exact. + +**Specific energy per mass (Wh/kg)** + Energy content per unit mass. SAM uses this value to calculate the battery bank's mass based on its rated capacity in kWh. If you know the battery bank mass, you can calculate the specific energy by dividing the battery bank's rated capacity in DC Watt-hours by its mass in kilograms. + +**Battery mass, kg** + An estimate of the battery bank's mass. + + *Battery Mass (kg) = Nominal Bank Capacity (DC kWh) × 1,000 (Wh/kWh) ÷ Specific Energy per Mass (Wh/kg)* + +**Compute battery surface area as cube** + Choose this option to represent the battery bank as a cube for temperature calculation purposes. This option works better for smaller batteries than larger ones. Disable the option to represent the battery as a single battery. + +**Specific energy per volume, Wh/L** + The battery bank's energy content per unit volume. If you know the battery bank's volume, you can calculate the specific energy by dividing the battery bank's rated capacity in DC Watt-hours by its volume in liters. This option is enabled with **Compute battery surface area as cube**. + +**Battery volume, m³** + For the **Compute battery surface area as cube** option, an estimate the volume of the battery bank, represented as a cube. + + *Battery Volume (m³) = Nominal Bank Capacity (DC kWh) ÷ Specific Energy per Volume (Wh/L)* + +**Energy capacity of one module, kWh** + The nominal capacity of a single battery when **Compute battery surface area as cube** is disabled. This value is only used for battery temperature calculations, so the value should be reasonably close to the actual capacity of a single battery but does not need to be exact. + +**Surface area of one module, m²** + The surface area of a single battery when **Compute battery surface area as cube** is disabled. You can calculate this value by multiplying the battery's length, width, and height measurements. + +**Battery surface area, m²** + An estimate of the surface area of a single battery when **Compute battery surface area as cube** is disabled. + + *Battery Surface Area (m²) = Nominal Bank Capacity (DC kWh) ÷ Energy Capacity of One Module (DC kWh) × Surface Area of One Module (m²)* + +.. |EQ_BATT_lmo| image:: /images/EQ_BATT_lmo.png +.. |EQ_BATT_lfp| image:: /images/EQ_BATT_lfp.png +.. |EQ_BATT_nca| image:: /images/EQ_BATT_nca.png +.. |EQ_BATT_lto| image:: /images/EQ_BATT_lto.png +.. |EQ_BATT_nmc| image:: /images/EQ_BATT_nmc.png +.. |EQ_BATT_lco| image:: /images/EQ_BATT_lco.png +.. |EQ_BATT_Exponential| image:: /images/EQ_BATT_Exponential.png +.. |EQ_BATT_Nominal| image:: /images/EQ_BATT_Nominal.png \ No newline at end of file diff --git a/doc/source/battery-storage/battery_dispatch_btm.rst b/doc/source/battery-storage/battery_dispatch_btm.rst index 32c804cd47..1301e3ef65 100644 --- a/doc/source/battery-storage/battery_dispatch_btm.rst +++ b/doc/source/battery-storage/battery_dispatch_btm.rst @@ -1,7 +1,7 @@ Battery Dispatch BTM ==================== -The Battery Dispatch page for behind-the-meter (BTM) batteries displays inputs for controlling the timing of battery charging and discharging. For inputs that describe the battery's performance characteristics, see the :doc:`Battery Cell and System ` page. +The Battery Dispatch page for behind-the-meter (BTM) batteries displays inputs for controlling the timing of battery charging and discharging. For inputs that describe the battery's performance characteristics, see the :doc:`battery_cell_and_system` page. Charge Limits and Priority ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -11,5 +11,280 @@ Charge Limits and Priority Behind-the-meter (BTM) Storage Dispatch Options ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. include:: ../includes/snip_battery_dispatch_btm.rst +The battery *dispatch options* determine when the battery charges and discharges. The *charge options* determine any limits on how the battery can charge or discharge. +Dispatch Options +---------------- + +Choose the dispatch option that most closely represents when you want the battery to charge and discharge. + +.. note:: The list below provides a brief description of each option. To see a detailed description of each heading, click the appropriate grey and blue heading below to expand the detailed description. + + If you are modeling :doc:`grid outages <../grid/grid_outage>` to calculate resiliency metrics, during an outage the battery switches to a special dispatch mode that prioritizes meeting the load, regardless of the dispatch option you choose. + +**Peak shaving** + Dispatch the battery to reduce peak demand. Use this option when the electricity rate structure includes energy rates with kWh/kW units or demand charges and you want to use the battery to reduce billing demand. + +**Input grid power targets** + Dispatch the battery in response to time series grid power target data you provide to ensure the power from the grid is at or below the target power levels. + +**Input battery power targets** + Dispatch the battery according to time series charge and discharge power values you provide. Use this option when you know exactly how you want the battery to charge and discharge. + +**Manual dispatch** + Dispatch the battery based on month-by-hour weekday and weekend schedules you provide. Use this option to dispatch the battery in response to time-of-use electricity rates. + +**Retail rate dispatch** + Dispatch the battery to minimize the energy and demand charge portions of the monthly electricity bill. + +**Self-consumption** + Dispatch the battery to minimize power to and from the grid. + +Charge Options +-------------- + +The charge options control how the battery can charge and discharge. SAM enables and disables (greys out) the options as appropriate for the dispatch option and whether the battery is DC- or AC-connected. + +**Battery can charge from grid** + Allow power from the grid to charge the battery. + +**Battery can charge from system** + Allow the photovoltaic array or other power system to charge the battery. + +**Battery can charge from grid-limited system power** + Allow the battery to charge from power in excess of the interconnection limit or from curtailed power when the interconnection limit is enabled and/or curtailment is specified on the :doc:`../grid/grid_limits` page. + +**Battery can charge from clipped system power** + For a photovoltaic array with DC-connected battery, allow the photovoltaic array to charge the battery when the array DC power exceeds the inverter nominal DC input power. + +**Battery can discharge to grid** + Allow the battery to discharge to the grid. + +**Charge from system only when system output exceeds load** + Allow the photovoltaic array or other power system to charge the battery only when the system AC output is greater than  the load. + +**Discharge battery only when load exceeds system output** + Allow the battery to discharge only when the load is greater than the photovoltaic or other power system AC output. + +**Battery can charge from fuel cell** + For system with fuel cells, allow the battery to charge from the fuel cell. (This option is only visible for fuel cell configurations.) + +Peak Shaving +~~~~~~~~~~~~ +The peak shaving dispatch options attempt to discharge the battery during times of peak demand over a forecast period. Peak shaving dispatch considers the load, and either the available solar resource for PV systems, or the AC output for other systems over the forecast period and calculates a grid power target for each time step in that period. It then charges or discharges the battery as possible given the battery's capacity and state of charge to meet the target. Use this option to reduce monthly demand charges when the rates on the :doc:`Electricity Rates <../electricity-rates-and-load/electricity_rates>` page include demand rates. + +Peak shaving discharges the battery each day to reduce that day's peak load. This results in more battery cycling than would result from a dispatch strategy that discharges the battery once a month to reduce the peak load. + +For a detailed description of the behind-the-meter peak shaving dispatch algorithm, see DiOrio, N. (2017). An Overview of the Automated Dispatch Controller Algorithms in SAM. NREL/TP-6A20-68614. (`PDF 770 KB `__) + +Peak Shaving Option +------------------- + +**One day look ahead (perfect)** + For each day, dispatch the battery based on the solar resource over the next 24 hours and the load over the forecast horizon specified below. The look-ahead option is a perfect prediction of the load and solar resource because the battery dispatch coincides with the solar resource and load. + +**One day look behind** + Similar to the one-day look ahead option, but based on the previous 24 hours of solar resource for the prediction. The look-behind option adds some uncertainty to the dispatch because the battery dispatch coincides with solar resource for the previous day, so the battery dispatch for each day may not exactly match the solar resource. + +.. image:: /images/IMG_BATT-dispatch-peak-shaving.png + :align: center + :alt: IMG_BATT-dispatch-peak-shaving.png + +.. note:: SAM allows you to use a different forecast period for the solar resource and the load. Choose both a peak shaving option and a load forecast horizon option as appropriate for your analysis. + +**Custom forecast** + Combines one day look ahead dispatch with a different weather file than the one used for the photovoltaic system simulation. This makes the dispatch more realistic because the battery dispatch does not exactly match the the photovoltaic system output. + + For the custom forecast option, click **Browse** to choose the a weather file to use for battery dispatch. + +Load Forecast Horizon +--------------------- + +**Perfect look ahead** + For each day, dispatch the battery based on the load specified on the :doc:`Electric Load <../electricity-rates-and-load/electricity_load>` page over the next 24 hours and the solar resource over the period specified above. + +**One day look behind** + Similar to perfect look ahead, but based on the previous 24 hours of load data. + +**Look ahead to custom load** + Similar to perfect look ahead, but dispatches the battery based on different load data than the data on the Electric Load page. + +**Custom load profile** + For the Look Ahead to Custom Load Forecast option, the load data to use for the dispatch forecast instead of the data on the Electric Load page. + + Click **Edit array** to import or paste custom load data for the dispatch forecast. + +**Match load growth** + For the Look Ahead to Custom Load Forecast option, use the same load growth rate for the forecast load as the load data on the Electric Load page. + +**Enter custom growth** + For the Look ahead to Custom Load Forecast option, use a different load growth rate than the load data on the Electric Load page. + +**Load forecast growth rate** + For the Look Ahead to Custom Load forecast option with Enter Custom Growth, the annual growth rate for the custom load profile. + +Input grid power targets +~~~~~~~~~~~~~~~~~~~~~~~~ +The input grid power target option is similar to the peak shaving option, except that it attempts to operate the battery in response to grid power targets that you specify instead of automatically calculating the targets to reduce peak demand. In each time step, SAM compares the electric load to the power target, charges the battery when the load is less than the target, and discharges when the load is greater than the target. You can specify either twelve constant monthly targets, or a target for each time step. + +.. note:: The system may not always be able to meet the grid power targets, for example, if the battery is discharged when the photovoltaic array or other power source is not generating power. + +Choose **Input grid power targets**, and then choose either **Monthly power targets** or **Time series power targets**: + +.. image:: /images/ss-battery-dispatch-btm-grid-targets.png + :align: center + :alt: ss-battery-dispatch-btm-grid-targets.png + +**Monthly power targets** + Choose this option to specify a either a single grid power target for the entire year by setting the grid power target for all months to the same value, or a different grid power target for each month. + + For **Monthly grid power targets**, Click **Edit values** to specify the targets. To apply a single target to the entire year, enter the target as a single value in the Edit Values window and click **Apply**. + +**Time series power targets** + Choose this option to enter a grid power target for each time step in the simulation. For **Time series grid power targets**, click **Edit array** to specify the targets. + +Input battery power targets +~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The input battery power targets option operates the battery in response to battery power targets you specify. In each time step, the controller attempts to charge to the negative power value you enter, or discharge to the positive power value you enter. + +Choose **Input battery power** targets, and then enter the battery power target data. + +**Time series battery power targets** + Click **Edit array** and import or copy and paste an array of battery power values in kW, where discharge power is positive, charge power is negative. The array must have the same number of rows as simulation time steps: For hourly simulations, 8,760 rows, for for 15-minute simulations 35,040 rows, etc. + +.. note:: For standalone batteries, the time step for time series power targets must be the same as the simulation time step, which you can set on the :doc:`Battery Time Step <../battery-storage/battery_time_step>` page. + +Manual dispatch +~~~~~~~~~~~~~~~ +For the manual dispatch option, you specify the timing of battery charges and discharges using up to six dispatch periods and a set of weekday and weekend hourly profiles by month under **Manual Dispatch**. + +**Charge from system** + For each period that you want to allow the battery to be charged by power from the system, check the box in the **Charge from system** column. + +**Charge from grid** + For each period that you want to allow the battery to be charged by power from the grid, check the box in the **Allow** column, and specify the percentage of the battery's state of charge that can be charged from the grid over the time step in the **Rate** column. + + For example, for hourly simulations, a charge rate of 25% would allow the battery to charge from the grid at 25% of its state of charge at the beginning of the time step over the time step. The purpose of this rate is to avoid damaging the battery by charging it too quickly. + +.. note:: For subhourly simulations, the charge and discharge percentages apply to the subhourly time step even though the periods are defined in hours. + + For a behind-the-meter application, if **Charge from grid** and **Charge from system** are both checked for a given period, and if in a time step in that period the system power is greater than the :doc:`load <../electricity-rates-and-load/electricity_load>`, power from the grid supplements the system power to meet the battery charge requirement. + + If **Charge from grid** and one or both of the discharge options is also checked for a given period, and if in that period the battery state of charge is above the minimum state of charge, the battery discharges until it reaches the minimum state of charge, at which point it starts charging from the grid, either until it reaches the maximum state of charge, or until the time period changes to one that does not allow charging from the grid. + +**Discharge to load** + For each period that you want to allow the battery to discharge to the load, check the box in the **Allow** column, and specify the percentage of the battery's available charge that can be discharged to the load over the time step in the **Rate** column. + + For example, let's assume that Period 3 is the four consecutive hours between 3 pm and 6 pm, the discharge rate is 25%, and the minimum and maximum state of charge limits under **Charge Limits and Priority** are 30% and 96%, respectively. For an hourly simulation, that would allow up to 25% of the battery state of charge at the beginning of the 3 pm hour to be discharged over the hour. For the 4 pm hour, 25% of the charge at the end of the 3 pm hour would be available, and so on until the end of Period 3. The 25% discharge rate would result in the battery being fully discharged over the four-hour period. (A 20% value would have the same effect for a 5-hour period, i.e., if Period 3 were between 3 pm and 7 pm.) + + For a one-minute simulation, a discharge rate of 25% would allow up to 25% of the available charge to be dispatched *every minute* over Period 3, so a smaller percentage would be required to allow the battery to discharge over the full four-hour period. + +**Discharge to grid** + The battery can only discharge to the grid during time steps that it is allowed to discharge to the load. For each period that you want to allow the battery to discharge to the grid, check the box in the **Allow** column. SAM uses the same discharge rate for discharges to the load and the grid. + +**System power priority** + Use this option to determine how to prioritize electricity from the power generating system (PV array or custom generation profile). This option is not available with the **Charge from system only when system output exceeds load** option. + + Choose **Meet load** to prioritize using system power to meet the load over charging the battery. + + Choose **Charge battery** to prioritize using system power to charge the battery over meeting the load. + +**Weekday and Weekend Schedules** + The weekday and weekend schedules determine the hour of day and month of year for each of the up to six dispatch periods. SAM ignores the charge and discharge options for any periods that you do not assign to the weekday or weekend schedules. + + To define the hour of day and month of year that each period applies, use your mouse to select a rectangle in the schedule matrix, and use your keyboard to type the period number (1-6). The number you type should appear in the rectangle. + + See :doc:`Weekday Weekend Schedules <../reference/weekday_schedule>` for a step-by-step description of how to use the schedule matrices. + +**Copy Schedules from TOU/TOD Schedules** +Use this button to copy the the weekday and weekend schedules from the energy charge time-of-use schedule on the Electricity Rates page. + +Retail rate dispatch +~~~~~~~~~~~~~~~~~~~~ + +The retail rate dispatch option operates the battery to minimize the electricity bill based on an estimate of retail electricity price that represents the cost to the system owner of purchasing electricity from the grid in each time step. For this option, battery dispatch depends on: + +* A rolling 24-hour forecast of system power generation and load as defined under **Generation Forecast Horizon**. + +* Energy and demand rates (flat, time-of-use, and/or tiered) + +* Battery state of charge and available capacity + +* Battery degradation + +* Cost of future battery replacements + +The original implementation of the retail rate dispatch option is described (as "price signal forecast") in Mirletz, B.; Guittet, D. (2021). Heuristic Dispatch Based on Price Signals for Behind-the-Meter PV-Battery Systems in the System Advisor Model. NREL/CP-7A40-79575. (`PDF 2.2 MB `__) + +Generation Forecast Horizon +--------------------------- + +The generation forecast horizon determines whether the battery dispatch responds to a perfect forecast of the system's output, or to a forecast that is different from the system's output over the forecast period. + +**Perfect look ahead** + For each day, dispatch the battery based on the system's output over the next 24 hours. + +**One day look behind** + Similar to perfect look ahead, but based on the system's output over the previous 24 hours. This adds some uncertainty to the dispatch because yesterday's generation profile is likely to be different from today's. + +**Look ahead to custom weather file** + For the PV Battery configuration, use a different weather file for the generation forecast than for simulating the system's power output. Use this option when you want the battery dispatch to be more realistic by not responding exactly to the system's output. + +**Weather file for retail rate dispatch** + The weather file to use for the Look Ahead to Custom Weather File option. Click **Browse** to choose a weather file in the :doc:`SAM CSV format <../weather-file-formats/weather_format_sam_csv_solar>` . + +Load Forecast Horizon +--------------------- + +The generation forecast horizon determines whether the battery dispatch responds to a perfect forecast of the building or facility's electric load, or to a forecast that is different from the load over the forecast period. + +**Perfect look ahead** + For each day, dispatch the battery based on the load specified on the :doc:`Electric Load <../electricity-rates-and-load/electricity_load>` page over the next 24 hours. + +**One day look behind** + Similar to perfect look ahead, but based on the previous 24 hours of load data. + +**Look ahead to custom load** + Similar to perfect look ahead, but dispatches the battery based on different load data than the data on the Electric Load page. + +**Custom load profile** + For the Look Ahead to Custom Load Forecast option, the load data to use for the dispatch forecast instead of the data on the Electric Load page. + + Click **Edit array** to import or paste custom load data for the dispatch forecast. + +**Match load growth** + For the Look Ahead to Custom Load Forecast option, use the same load growth rate for the forecast load as the load data on the Electric Load page. + +**Enter custom growth** + For the Look ahead to Custom Load Forecast option, use a different load growth rate than the load data on the Electric Load page. + +**Load forecast growth rate** + For the Look Ahead to Custom Load forecast option with Enter Custom Growth, the annual growth rate for the custom load profile. + +Cycle Degradation Penalty +------------------------- + +The cycle degradation penalty is an estimate of the cost of charge-discharge cycles that makes it possible to account for the effect of cycling the battery on the cost of battery replacements. More frequent charge-discharge cycles can result in faster degradation of the battery and more replacements over the analysis period. Increasing the cycle degradation penalty causes the price signal forecast dispatch algorithm to attempt to reduce the frequency of battery charge-discharge cycles. + +.. note:: Battery degradation and replacement parameters are on the :doc:`Battery Life <../battery-storage/battery_life>` page. + +**Cycle degradation penalty method** + Choose a method for estimating the cost of cycling the battery: + +* Choose **Calculate automatically** if you want SAM to calculate the cost. + +* Choose **Enter penalty** to enter a cost per cycle-kWh value. + + If you choose the Calculate Automatically option, SAM reports the calculated penalty as **Computed cycle degradation penalty** in the :doc:`battery time series results <../battery-storage/battery_results>`. + +**Cycle degradation penalty** + The penalty in $/cycle-kWh of battery total capacity for cycling the battery. You can either enter a single value, or click |SS_AnnSched-valschedbutton| to enter a different penalty for each year of the analysis period as an :doc:`annual schedule <../window-reference/win_edit_data_table_column>` . + +Self-consumption +~~~~~~~~~~~~~~~~ + +The self-consumption dispatch option dispatches the battery to minimize power to and from the grid. + +This dispatch option is equivalent to the input grid power targets dispatch option with the grid power target set to zero for all time steps. + +.. |SS_AnnSched-valschedbutton| image:: /images/SS_AnnSched-valschedbutton.png diff --git a/doc/source/battery-storage/battery_dispatch_fom.rst b/doc/source/battery-storage/battery_dispatch_fom.rst index 52cdbd05a6..4ee15e8d6c 100644 --- a/doc/source/battery-storage/battery_dispatch_fom.rst +++ b/doc/source/battery-storage/battery_dispatch_fom.rst @@ -1,7 +1,7 @@ Battery Dispatch FOM ==================== -The Battery Dispatch page displays inputs for controlling the battery dispatch, or timing of battery charging and discharging. For inputs that describe the battery's performance characteristics, see the :doc:`Battery Cell and System ` page. +The Battery Dispatch page displays inputs for controlling the battery dispatch, or timing of battery charging and discharging. For inputs that describe the battery's performance characteristics, see the :doc:`battery_cell_and_system` page. Charge Limits and Priority ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -11,5 +11,265 @@ Charge Limits and Priority Front-of-meter (FOM) Storage Dispatch Options ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. include:: ../includes/snip_battery_dispatch_fom.rst +The battery *dispatch options* determine when the battery charges and discharges. The *charge options* determine any limits on how the battery can charge or discharge. +Dispatch Options +---------------- + +Choose the dispatch option that most closely represents when you want the battery to charge and discharge. + +.. note:: The list below provides a brief description of each option. To see a detailed description of each heading, click the appropriate grey and blue heading below to expand the detailed description. + +**Automated dispatch** + Automated dispatch dispatches the battery in response to changes in the power price to maximize revenue from power sales. Use this option for PPA projects that involve time-of-delivery price multipliers or Merchant Plant projects. + +**PV smoothing** + PV smoothing dispatches the battery for photovoltaic-battery systems to limit power ramp rates at the grid interconnection point. Use this option for projects required to meet ramp rate limits. This option is available for PV battery and Custom Generation Profile - Battery systems. It is not available for standalone batteries. + +**Dispatch to custom time series** + Dispatch the battery according to time series charge and discharge power values you provide. Use this option when you know exactly how you want the battery to charge and discharge. + +**Manual dispatch** + No automation. You specify the timing of battery charges and discharges manually using up to six dispatch periods and a set of weekday and weekend hourly profiles by month. Use this option when you want the battery to charge and discharge according to daily or seasonal schedules. + +Charge Options +-------------- + +Choose the source of power for charging the battery. SAM enables and disables (greys out) the options as appropriate for the dispatch option and whether the battery is DC- or AC-connected. + +**Battery can charge from grid** + Allow the grid to charge the battery. + +**Battery can charge from system** + Allow the system to charge the battery. + +**Battery can charge from grid-limited system power** + Allow the battery to charge from power in excess of the interconnection limit or from curtailed power when the interconnection limit is enabled and/or curtailment is specified on the :doc:`Grid Limits <../grid/grid_limits>` page. + + This option is designed so that when system power exceeds a grid limit, system power is delivered to the load and/or grid, and only power in excess of the grid limit is used to charge the battery: The battery is only allowed to charge from grid limited power when it is not allowed to charge from the system. + +**Battery can charge from clipped system power** + For DC-connected batteries with a photovoltaic system, allow DC array power in excess of the inverter's nominal DC input power to charge the battery. + +Automated Dispatch +~~~~~~~~~~~~~~~~~~ + +SAM's front-of-meter automated dispatch algorithm attempts to charge and discharge the battery to maximize revenue from power sales to the grid. It calculates a battery power target for each time step, and charges or discharges the battery to attempt to meet the target, given any constraints on battery capacity and battery state of charge, and accounting for power conversion losses. Note that in some time steps, depending on the battery's state of charge and other constraints, the battery discharge power may be less than the target. + +You can explore the results of the automated dispatch by comparing the output variables **Electricity battery power target for automated dispatch** to **Electricity to/from battery**. Other useful output variables include **Power price for battery dispatch** representing the power prices used for battery dispatch calculations,  **Battery state of charge**, **Electricity to grid from battery**,and **Electricity to grid from system** (for PV Battery and Custom Generation Profile - Battery configurations). + +Automated battery dispatch responds to power prices that vary over time, which can be defined as a PPA price with time-of-delivery multipliers for PPA projects, or market prices for Merchant Plant projects. For batteries connected to a power system (PV Battery and Custom Generation Profile - Battery configurations), battery dispatch also responds to the availability of power from the system. Battery dispatch also accounts for the cost of cycling the battery based on a prediction of how battery cycling will affect battery degradation and replacements. + +The automated dispatch options determine the time horizon over which the algorithm maximizes revenue + +The automated dispatch algorithms are described in DiOrio, N.; Denholm, P.; Hobbs, W. (2020). `A Model for Evaluating the Configuration and Dispatch of PV Plus Battery Power Plants `__. Applied Energy Vol 262 March 2020, also listed on the SAM website at https://sam.nlr.gov/battery-storage/battery-publications.html. + +.. note:: For power purchase agreement (PPA) financial models, the automated dispatch options require that you choose **Specify PPA Price** on the Revenue page (Financial Parameters page for Partnership Flip and Sale Leaseback financial models) because the dispatch algorithm needs to know the power price as the simulation runs. For the Specify IRR Target option, SAM does now know the PPA price until the end of the simulation. + + Automated dispatch is designed to respond to power prices that change over time. For the PPA financial models, you can specify power price multipliers either using weekday and weekend schedules, or by time step. (Set the PPA price to $1/kWh if you want to use $/kWh price data instead of multipliers, or set it to $0.001/kWh for $/MWh price data.) + + The merchant plant financial model may not work well with battery storage systems because of the cleared capacity requirement. + +**Perfect look ahead** + For each day, charge and discharge the battery based on the available power from the photovoltaic or other power source and power price to maximize revenue. For standalone batteries with no power system, charge and discharge the battery based on the power price. + + The look-ahead option is a perfect prediction of available power and prices because the battery dispatch coincides with the actual power generation and prices. + +**One day look behind** + Similar to perfect look ahead, but based on the available power and power prices in the previous 24 hours. The look-behind option adds some uncertainty to the dispatch because the battery dispatch coincides with power generation and prices for the previous day. The following illustration is for behind-the-meter storage with an electric load, but the concept is the same for a front-of-meter battery. + +.. image:: /images/IMG_BATT-dispatch-fom-automatic.png + :align: center + :alt: IMG_BATT-dispatch-fom-automatic.png + +**Custom forecast** + Similar to the look ahead automated dispatch option, except use different time series data for the forecast of power available to charge the battery than that used to model the system's power output: + + * For the PV Battery configuration, use a different weather file than the one on the Location and Resource page. + + * For the Custom Generation Profile - Battery configuration, use a different generation profile for the forecast than the generation profile on the Power Plant page. + +.. note:: The custom forecast option is not available for standalone batteries, which do not dispatch in response to a generation profile of a photovoltaic array or other power generating equipment. + +**Frequency to update dispatch** + For any of the three automated dispatch options, determines how often a new dispatch decision is made. + +**Look ahead period** + For the Perfect Look Ahead and Look Ahead to Custom Weather file options, the number of hours ahead of the current time step to use for the dispatch decision in the current time step. + +**Weather file for automated dispatch** + For the PV Battery configuration, the weather file to use for the custom forecast option. Click **Browse** to choose a weather file in the :doc:`SAM CSV format <../weather-file-formats/weather_format_sam_csv_solar>` . + +**Generation profile for automated dispatch** + For the Custom Generation Profile - Battery configuration, a time series generation profile (hourly or subhourly) to use for the custom forecast option. Click **Edit array** to import or paste a generation profile. + +Cycle Degradation Penalty +------------------------- + +The cycle degradation penalty represents the future cost of replacing the battery. It allows SAM to account for the battery replacement cost in the battery dispatch decision. For any of the automated dispatch options, choose a method for estimating the cost of cycling the battery: + +* **Calculate automatically** if you want SAM to calculate the cost. + +* **Enter penalty** to enter a cost per cycle-kWh value. + +If you choose the Calculate Automatically option, SAM reports the calculated penalty as **Computed cycle degradation penalty** in the :doc:`battery time series results <../battery-storage/battery_results>`. + +**Cycle degradation penalty** + When you choose the "enter penalty" option for the cycle degradation penalty option, this is the penalty in $/cycle-kWh of battery total capacity for cycling the battery. You can either enter a single value, or click the blue and grey **Value/Sched** button to enter a different penalty for each year of the analysis period. + +PV Smoothing +~~~~~~~~~~~~ + +The PV smoothing algorithm dispatches the battery to reduce rapid fluctuations in a photovoltaic-battery system's output that can occur on partly cloudy days. + +.. note:: The PV smoothing algorithms requires a simulation time step of 15 minutes or smaller. For SAM's photovoltaic models, the simulation time step is determined by the temporal resolution of the weather file. You can download 15-minute and 5-minute weather data from the NLR National Solar Radiation Database by choosing the **Advanced download** option on the Location and Resource page, or you can convert data from an hourly weather file to subhourly time steps using the "Solar Resource Interpolation" :doc:`macro <../reference/macros>`. + + When you choose the PV smoothing dispatch option, be sure to check the charge options to allow the battery to charge from the system, grid or both. + + Simulations with PV smoothing can take several minutes to run, depending on your computer and the weather file time step. + +After running a simulation, you can find results of the PV smoothing algorithm on the Results page Data Tables, Time Series, and other tabs by searching for "pv smoothing." The relevant results all start with **PV smoothing...**. **PV smoothing outpower** is the battery target power for PV smoothing algorithm: It attempts to dispatch the battery to meet the target, but constraints such as battery state of charge may prevent the target from being met in some time steps. **Electricity to grid** is power delivered by the PV system and/or battery to the grid, which may be subject to grid constraints or AC losses specified on the :doc:`battery_cell_and_system`, :doc:`Grid <../grid/grid_limits>` and :doc:`Losses <../detailed-photovoltaic-model/pv_electrical_losses>` pages. + +For more information about the algorithm, see: + +* For an introduction to the PV Smoothing algorithm, see the "Battery Updates for Fall 2021" webinar recording available on the SAM website at https://sam.nlr.gov/battery-storage/battery-videos.html. + +* The model is based on the EPRI open source project PV Ramp Rate Smoothing available on GitHub.com at https://github.com/epri-dev/PV-Ramp-Rate-Smoothing. + +* For a description of the model, see Fregosi, D.; Bolen, M.; Hobbs, W. (2023) "An analysis of storage requirements and benefits of short-term forecasting for PV ramp rate mitigation" available from https://sam.nlr.gov/battery-storage/battery-publications.html. + +**Weather file time stamp, minutes** + The temporal resolution of the currently selected weather file on the Location and Resource page. The PV smoothing algorithm requires a weather file with a time step of 15 minutes or smaller. + +**Ramp timestep multiplier** + The ramp interval is a multiple of the simulation time step determined by the ramp timestep multiplier. For example, if the simulation time step is 5 minutes, for a ramp interval of 15 minutes, you would enter a ramp timestep multiplier value of 3. + +**Ramp interval, minutes** + The interval used to calculate the ramp rate. The ramp rate is a change in power from one interval to the next. + +*Ramp Interval (minutes) = Weather File Times Step (minutes) × Ramp Timestep Multiplier* + +**Maximum ramp rate, % of nameplate per ramp interval** + The maximum change in power allowed from one ramp interval to the next as a percentage of the **Nameplate for PV smoothing**, or the interconnection limit from the :doc:`Grid <../grid/grid_limits>` page, whichever is less. + +.. note:: SAM uses the interconnection limit value to calculate the PV smoothing maximum ramp rate even when the interconnection limit on the Grid page is disabled. If you do not want the interconnection limit to affect PV smoothing, enable it and set it to a value much higher than the PV array nameplate capacity, and then disable it. + +**Battery resting SOC, %** + The battery resting state of charge as a percent of its nameplate capacity. + +**Battery energy, kWhac** + The battery's nominal capacity expressed in AC kilowatt-hours, from the :doc:`battery_cell_and_system` page. + +**Battery power, kWac** + The battery's nominal maximum discharge rate expressed in AC kilowatt-hours, from the :doc:`battery_cell_and_system` page. + +**Battery round trip efficiency, %** + An estimate of the battery's nominal round-trip efficiency, calculated from Power Converters parameters on the :doc:`battery_cell_and_system` page. Note that SAM calculates the battery's actual round-trip efficiency during simulations and reports it in the :doc:`Summary tab <../results/summary>` of the Results page. + + For a DC-connected battery: + +*Battery Round Trip Efficiency (%) = ( DC to DC Conversion Efficiency (%) × Inverter Efficiency Cutoff (%) ) ÷ 100%* + + For an AC-connected battery: + +*Battery Round Trip Efficiency (%) = ( AC to DC Conversion Efficiency (%) × DC to AC Conversion Efficiency (%) ) ÷ 100%* + +**Nameplate for PV smoothing, kWac** + The PV array's nameplate capacity in AC kilowatts, from the :doc:`System Size <../detailed-photovoltaic-model/pv_system_size>` page. + +**Interconnection limit, kWac** + The grid interconnection limit from the :doc:`Grid <../grid/grid_limits>` page. Used to calculate the maximum ramp rate. See description above. + +**Enable AC upper bound** + This constraint prevents the output power after PV smoothing from exceeding the AC upper bound that you specify. + +**AC upper bound, fraction of nameplate** + When you enable AC upper bound, the system's output is limited to this fraction of **Nameplate for PV smoothing**. + +**Enable AC lower bound** + This constraint prevents the system's output power after PV smoothing from falling below the AC lower bound that you specify. + +**AC lower bound, fraction of nameplate** + When you enable AC lower bound, the system's output is + +**Correct up-ramp violations** + Use PV smoothing to correct ramp violations when power increases from one interval to the next. + +**Curtail violations** + Curtail up-ramp violations rather than sending excess power to the grid. + +**Enable short-term power forecast** + Consider future power output in battery dispatch decision. + +**Forecasting window, periods of ramp rate intervals** + The forecast period when you enable short-term power forecasts. + +**Perfect look ahead** + For the Enable Short-term Power Forecast option, use the system output in the forecast period for the power forecast. + +**Look ahead to custom weather file** + For the Enable Short-term Power Forecast option, base the power forecast on a different weather file than the weather file from the Location and Resource page used to simulate the system's performance. + +**Weather file for PV smoothing forecast** + For the Look Ahead to Custom Weather File option, the weather file to use for the smoothing forecast. Click **Browse** to choose a weather file in the :doc:`SAM CSV format <../weather-file-formats/weather_format_sam_csv_solar>` for the forecast. The weather file should have the same time step as the simulation weather file. + +Multipliers +----------- + +The multipliers are error terms for a PI (proportional plus integral) controller. + +**Track PV power multiplier (kp)** + Determine how aggressively to PV power. Default is 1.2. + +**Return to rest SOC multiplier (ki)** + Determine how aggressively to return the battery to its resting state of charge. Default is 1.8. + +**Forecast accumulation error multiplier (kf)** + Applies to the difference between the power and forecast power for the ramp rate adjustment. Default is 0.3. + +**Reset to defaults** + Resets the three multipliers kp, ki, and kf to their default values. + +Dispatch to Custom Time Series +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +For the dispatch to custom time series option, provide a time series of battery power values. SAM attempts to charge and discharge the battery to meet the battery power target values. + +**Time series battery power targets** + Click **Edit array** to enter time series battery power values. A negative power value for a time step indicates the battery controller should attempt to charge the battery at the given rate in that time step. A positive power value indicates the battery should discharge. + +.. note:: For standalone batteries, the time step for time series power targets must be the same as the simulation time step, which you can set on the :doc:`Battery Time Step <../battery-storage/battery_time_step>` page. + +Manual Dispatch +~~~~~~~~~~~~~~~ + +For the manual dispatch option, you specify the timing of battery charges and discharges using up to six dispatch periods and a set of weekday and weekend hourly profiles by month under **Manual Dispatch**. + +**Charge from system** + For each period that you want to allow the battery to be charged by power from the system, check the box in the **Charge from system** column. Charge from system is disabled for standalone batteries. + +**Charge from grid** + For each period that you want to allow the battery to be charged by power from the grid, check the box in the **Allow** column, and specify the percentage of the battery's state of charge that can be charged from the grid over the time step in the **Rate** column. + + For example, for hourly simulations, a charge rate of 25% would allow the battery to charge from the grid at 25% of its state of charge at the beginning of the time step over the time step. The purpose of this rate is to avoid damaging the battery by charging it too quickly. + +.. note:: For subhourly simulations, the charge and discharge rates apply to the subhourly time step even though the periods are defined in hours. + + If **Charge from grid** and the discharge option is also checked for a given period, and if in that period the battery state of charge is above the minimum state of charge, the battery discharges until it reaches the minimum state of charge, at which point it starts charging from the grid, either until it reaches the maximum state of charge, or until the time period changes to one that does not allow charging from the grid. + +**Discharge to grid** + For each period that you want to allow the battery to discharge to the grid, check the box in the **Allow** column, and specify the percentage of the battery's state of charge that can be discharged to the grid over the time step in the **Rate** column. + + For example, if Period 3 is the four consecutive hours between 3 pm and 6 pm, the discharge rate is 25%, and the charge limits are 30% and 96%, for an hourly simulation, that would allow up to 25% of the battery state of charge at the beginning of the 3 pm hour to be discharged over the hour. For the 4 pm hour, 25% of the charge at the end of the 3 pm hour would be available, and so on until the end of Period 3. The 25% value would discharge the battery over the full four-hour period. (A 20% value would have the same effect for a 5-hour period, i.e., if Period 3 were between 3 pm and 7 pm.) + + For a one-minute simulation, a discharge rate of 25% would allow up to 25% of the available charge to be dispatched *every minute* over Period 3, so a smaller percentage would be required to allow the battery to discharge over the full four-hour period. + +**Weekday and Weekend Schedules** + The weekday and weekend schedules determine the hour of day and month of year for each of the up to six dispatch periods. SAM ignores the charge and discharge options for any periods that you do not assign to the weekday or weekend schedules. + + To define the hour of day and month of year that each period applies, use your mouse to select a rectangle in the schedule matrix, and use your keyboard to type the period number (1-6). The number you type should appear in the rectangle. + + See :doc:`Weekday Weekend Schedules <../reference/weekday_schedule>` for a step-by-step description of how to use the schedule matrices. + +**Copy Schedules from TOU/TOD Schedules** + Use this button to copy the the weekday and weekend schedules from the time-of-delivery (TOD) schedules on the Time of Delivery or Revenue page for front-of-meter (FOM) systems. This option is not available for the Merchant Plant financial model. diff --git a/doc/source/battery-storage/battery_life.rst b/doc/source/battery-storage/battery_life.rst index f292bc1177..84711f0c2e 100644 --- a/doc/source/battery-storage/battery_life.rst +++ b/doc/source/battery-storage/battery_life.rst @@ -8,10 +8,94 @@ The battery life inputs determine how the battery degrades over time, and the ti Battery Bank Replacement ~~~~~~~~~~~~~~~~~~~~~~~~ -.. include:: ../includes/snip_battery_replacement.rst +When you enable battery replacements, SAM determines when batteries need to be replaced based either on battery degradation as determined by the Battery Lifetime inputs or a fixed replacement schedule that you specify. It also calculates an annual replacement cost in the project cash flow based battery replacement cost on the :doc:`Operating Costs <../operating-costs/oc_battery>` page. + +**No replacements** + Use this option if you do not want to account for battery replacement costs, or if you want to account for them using one of the general cost categories on the :doc:`Operating Costs <../operating-costs/oc_battery>` page . + + If you choose the No replacements option, SAM operates the system with no battery after the available storage capacity is depleted. + +**Replace at specified capacity** + Use this option if you want SAM to calculate the year(s) in which batteries are replaced based on degradation of the battery's capacity caused by battery cycling as determined from the **Battery Lifetime** parameters. + + Set **Battery bank replacement threshold** as percentage of the nominal battery capacity that triggers a replacement. When the battery's available capacity has degraded to this percentage, SAM replaces the battery and applies the battery replacement cost from the :doc:`Operating Costs <../operating-costs/oc_battery>` page to the project :doc:`cash flow <../results/cashflow>` . If you set the threshold to less than 2%, SAM sets the value internally to 2% to avoid simulation issues as the battery's available capacity approaches 0% of its original capacity. + +**Replace at specified schedule** + Use this option to specify the years when batteries are replaced and the percent of nominal battery capacity that is replaced in those years, regardless of the battery's degradation. + + Click **Edit array** to specify the percentage of total battery capacity to be replaced in each replacement year. In the Edit Array window, click **Number of values**, and enter the analysis period from the :doc:`Financial Parameters <../financial-parameters/fin_overview>` input page. Then in the table, type a percentage for each year in which the batteries will be replaced. The rows for the remaining years should be zero. Battery Life Options ~~~~~~~~~~~~~~~~~~~~ -.. include:: ../includes/snip_battery_lifetime.rst +The battery life model determines battery's degradation, or reduction in available battery capacity over time. There are two degradation mechanisms: + +* Calendar degradation is a reduction in battery capacity due to age, regardless of how the battery is used. + +* Cycle degradation is a reduction in battery capacity due to the number of charge/discharge cycles. + +SAM provides three options for modeling battery life: + +**Cycle and calendar degradation** + This option characterizes the battery life parameters using tables of cycle degradation and calendar degradation rates that you can customize. SAM applies the  minimum of the the two types of degradation. + +**Li-ion NMC/Graphite** + This option for the Lithium-ion Nickel Manganese Cobalt (NMC) Oxide battery type uses an internal battery life model that you cannot modify. The model includes both calendar and cycle degradation, and applies the sum of the two types of degradation. + +**Li-ion LMO/LTO** + This option for the Lithium-ion LMO/Lithium Titanate battery type uses an internal battery life model that you cannot modify. The model includes both calendar and cycle degradation, and applies the sum of the two types of degradation. + +SAM's Li-ion battery life models are adapted from the work presented in the following papers: + +* Smith, K.; Saxon, A.; Keyser, M.; Lundstrom, B.; Cao, Z.; Roc, A. (2017). Life Prediction Model for Grid-connected Li-ion Battery Energy Storage System. Presented at 2017 American Control Conference. (`PDF 1.4 KB `__) + +* Spotnitz, R. (2002). `Simulation of Capacity Fade in Lithium-ion Batteries `__. Journal of Power Sources. Vol 113 pp 72-80 2003. + +The Cycle and Calendar Degradation model is described in Section 2.3 of: + +* DiOrio, N.; Dobos, A.; Janzou, S.; Nelson, A.; Lunstrom, B. (2015). Technoeconomic Modeling of Battery Energy Storage in SAM. 32 pp. NREL/TP-6A20-64641 (`PDF 2.6 MB `__) + +Cycle and Calendar Degradation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The Cycle and Calendar Degradation option determines the battery's available or effective capacity in each time step based on both calendar degradation and cycle degradation, and sets the battery capacity to the minimum of the two. For example, if in a given time step cycle degradation is 75% of total capacity and calendar degradation is 87%, SAM sets the battery capacity to 75% of the total capacity. You can verify this behavior with the **Battery relative capacity to nameplate**, **Battery relative capacity to nameplate (calendar)**, and **Battery relative capacity to nameplate (cycling)** variables in the simulation results. + +Cycle Degradation +----------------- + +Cycle degradation is a reduction in the battery's capacity at 100% state of charge as the battery experiences many charge/discharge cycles. The cycle degradation model relies on information about capacity fade at the number of cycles elapsed at an average depth of discharge in the Cycle Degradation table. + +SAM assigns default values to the table appropriate for the given battery chemistry when you choose a battery type. You can use the default values unless you have better data from a manufacturer data sheet or other source. + +If you decide to use your own cycle degradation data, you must provide at least three rows of data in the table. For a table with more than one depth-of-discharge value, SAM uses bilinear interpolation to consider both the average depth-of-discharge and cycle number to determine the available capacity. If the table contains data for a single depth-of-discharge value, SAM only considers the cycle number in the capacity fade calculation using a rainflow counting algorithm. + +For example, given the following graph from a battery's data sheet showing a curve for three different depth-of-discharge levels: + +.. image:: /images/IMG_BATT-LifeVSDepthDischarge.png + :align: center + :alt: IMG_BATT-LifeVSDepthDischarge.png + +You might enter the following data in the table: + +.. image:: /images/IMG_Batt-LifeToSAM.png + :align: center + :alt: IMG_Batt-LifeToSAM.png + +Calendar Degradation +-------------------- + +Calendar degradation is a reduction in capacity over a battery's life that occurs over time, regardless of the number of charge/discharge cycles. This degradation may be a function of time, temperature and state of charge, or simply a function of time. + +**None** + Choose **None** to ignore calendar degradation. SAM calculates capacity degradation using only the data in the Cycle Degradation table. + +**Empirical** + Choose **Empirical** to use the equations shown to calculate calendar degradation for Lithium-ion batteries. The Empirical Calendar Degradation graph shows the degradation curves resulting from the equations. + + The empirical model accounts for how a Lithium-ion battery's capacity degrades with time, temperature, and state-of-charge. + +**Custom** + Choose **Custom** to use the Custom Calendar Degradation table to specify degradation curves. The Custom Calendar Degradation graph shows degradation curves from the data in the table. + + To enter custom data in the table, click **Custom**, and for **Rows**, type the number of data points in your degradation curve. Each capacity value should be a percentage of the battery nominal full capacity. The battery age should be in days. For example, the table below shows that the battery degrades to 80% of its nominal capacity after 10 years (365 days × 10 years = 3650 days), and to 50% of nominal capacity in after 20 years. diff --git a/doc/source/battery-storage/battery_results.rst b/doc/source/battery-storage/battery_results.rst index 5a50e8e236..3c01544f64 100644 --- a/doc/source/battery-storage/battery_results.rst +++ b/doc/source/battery-storage/battery_results.rst @@ -27,7 +27,7 @@ Battery Storage Results ~~~~~~~~~~~~~~~~~~~~~~~ Metrics -....... +------- .. list-table:: :width: 100% @@ -45,7 +45,7 @@ Metrics - The percentage of total battery charge energy delivered by the power system (PV array in the case of the PV Battery model). If the percentage is less than 100%, the remaining charge energy was supplied by the grid. Lifetime Data -............. +------------- .. list-table:: :width: 100% diff --git a/doc/source/battery-storage/battery_storage.rst b/doc/source/battery-storage/battery_storage.rst index f6cd5a59cf..d46b4f4ae1 100644 --- a/doc/source/battery-storage/battery_storage.rst +++ b/doc/source/battery-storage/battery_storage.rst @@ -1,7 +1,7 @@ -Battery Storage -=============== +Battery Overview +================ -SAM's battery storage models are for an electric battery of electrochemical cells that stores electricity from the grid and/or an on-sit power power generation system. +SAM's battery storage models are for an electric battery of electrochemical cells that stores electricity from the grid and/or an on-site power power generation system. The following configurations combine battery storage with a power generation system: diff --git a/doc/source/battery-storage/battery_storage_btm.rst b/doc/source/battery-storage/battery_storage_btm.rst deleted file mode 100644 index fb5ed37fac..0000000000 --- a/doc/source/battery-storage/battery_storage_btm.rst +++ /dev/null @@ -1,111 +0,0 @@ -Battery Storage: Behind the Meter -================================= - -The Battery Cell and System page displays inputs describing the battery's performance characteristics. For inputs that determine how the system dispatches the battery, see :doc:`Battery Dispatch `. Use the following list to find information about the Battery Cell and System page inputs: - -* :ref:`Behind-the-meter (BTM) Batteries ` - -* :ref:`Chemistry ` - -* :ref:`Battery Bank Sizing ` - -* :ref:`Optimal Sizing and Dispatch from REopt ` - -* :ref:`Current and Capacity ` - -* :ref:`Power Converters ` - -* :ref:`Battery Voltage ` - -* :ref:`Battery Losses ` - -* :ref:`Battery Thermal ` - -* :ref:`Value of RE Macro ` - -For a list of publications about SAM's battery model, see https://sam.nlr.gov/battery-storage/battery-publications.html. - -.. _btm: - -Behind the Meter (BTM) Batteries -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The behind-the-meter (BTM) battery model assumes that the battery is used to reduce a residential or commercial building or facility owner's electricity bill. SAM assumes the battery is behind the meter for the Distributed financial models (Residential, Commercial, Third Party Ownership). - -.. note:: For a DC-connected PV-storage system, SAM assumes that the inverter on the Inverter page is a bidirectional or hybrid inverter that converts both DC power to AC and AC power to DC whether or not the inverter actually supports bidirectional conversion. You can use the "CEC hybrid" field in the library to help identify bidirectional inverters in the library. - -.. image:: ../images/IMG_Batt-BTM-configurations.png - :align: center - :alt: IMG_Batt-BTM-configurations.png - -Figure 1: Behind-the-meter Battery Configurations. Standalone battery is the same as Custom Generation Profile but with no system. - -.. _btm-chemistry: - -Chemistry -~~~~~~~~~ - -.. include:: ../includes/snip_battery_chemistry.rst - -.. _btm-sizing: - -Battery Bank Sizing -~~~~~~~~~~~~~~~~~~~ - -.. include:: ../includes/snip_battery_bank_sizing.rst - -.. _reopt: - -Optimal Sizing and Dispatch from REopt -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. include:: ../includes/snip_battery_reopt.rst - -.. _btm-currentcapacity: - -Current and Capacity -~~~~~~~~~~~~~~~~~~~~ - -.. include:: ../includes/snip_battery_current_capacity.rst - -.. _btm-powerconverters: - -Power Converters -~~~~~~~~~~~~~~~~ - -.. include:: ../includes/snip_battery_power_converters.rst - -.. _btm-voltage: - -Battery Voltage -~~~~~~~~~~~~~~~ - -.. include:: ../includes/snip_battery_voltage.rst - -.. _btm-losses: - -Battery Losses -~~~~~~~~~~~~~~ - -.. include:: ../includes/snip_battery_losses.rst - -.. _btm-thermal: - -Battery Thermal -~~~~~~~~~~~~~~~ - -.. include:: ../includes/snip_battery_thermal.rst - -.. _btm-macro: - -Value of Renewable Energy Macro -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -For residential and commercial PV-battery projects, you can use the Value of Renewable Energy :doc:`macro <../reference/macros>` to help you make an economic comparison between meeting the building electric load from the grid with no renewable energy system or battery, the grid with a renewable energy system, and the grid with a renewable energy system and battery. You can use the macro to analyze rate-switching scenarios where the rate structure for the grid-only scenario is different from the one with the renewable energy system. - -To run the macro, set up a PV battery case, and then click **Macros** (in the lower left corner of the SAM window) and click **Value of RE System** to show the macro. Follow the instructions to choose the appropriate rate structures and run the macro. - -.. image:: ../images/SS_Macro-ValueofRE.png - :align: center - :alt: SS_Macro-ValueofRE.png - diff --git a/doc/source/battery-storage/battery_storage_fom.rst b/doc/source/battery-storage/battery_storage_fom.rst deleted file mode 100644 index e8e348a685..0000000000 --- a/doc/source/battery-storage/battery_storage_fom.rst +++ /dev/null @@ -1,100 +0,0 @@ -Battery Storage: Front of Meter -=============================== - -The Battery Cell and System page displays inputs describing the battery's performance characteristics. For inputs that determine how the system dispatches the battery, see :doc:`Battery Dispatch `. Use the following list to find information about the Battery Cell and System page inputs: - -* :ref:`Front-of-meter (FOM) Batteries ` - - -* :ref:`Chemistry ` - - -* :ref:`Battery Bank Sizing ` - - -* :ref:`Current and Capacity ` - - -* :ref:`Power Converters ` - - -* :ref:`Battery Voltage ` - - -* :ref:`Battery Losses ` - - -* :ref:`Battery Thermal ` - - -For a list of publications about SAM's battery model, see https://sam.nlr.gov/battery-storage/battery-publications.html. - -.. _fom: - -Front of Meter (FOM) Batteries -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The front-of-meter (FOM) battery model assumes that the battery is used to maximize revenue for a power generation project. The battery in a PV-battery front-of-meter application may be connected either to the AC or DC side of the inverter Figure 1. - -.. image:: ../images/IMG_Batt-FOM-configurations.png - :align: center - :alt: IMG_Batt-FOM-configurations.png - -Figure 1: Front-of-meter Battery Configurations.  Standalone battery is the same as Custom Generation Profile but with no system. - -.. _fom-chemistry: - -Chemistry -~~~~~~~~~ - -.. include:: ../includes/snip_battery_chemistry.rst - -.. _fom-sizing: - -Battery Bank Sizing -~~~~~~~~~~~~~~~~~~~ - -.. include:: ../includes/snip_battery_bank_sizing.rst - -.. _fom-currentcapacity: - -Current and Capacity -~~~~~~~~~~~~~~~~~~~~ - -.. include:: ../includes/snip_battery_current_capacity.rst - -.. _fom-powerconverters: - -Power Converters -~~~~~~~~~~~~~~~~ - -.. include:: ../includes/snip_battery_power_converters.rst - -.. _chargelimits: - -Charge Limits and Priority -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. include:: ../includes/snip_battery_charge_limits_priority.rst - -.. _fom-voltage: - -Battery Voltage -~~~~~~~~~~~~~~~ - -.. include:: ../includes/snip_battery_voltage.rst - -.. _fom-losses: - -Battery Losses -~~~~~~~~~~~~~~ - -.. include:: ../includes/snip_battery_losses.rst - -.. _fom-thermal: - -Battery Thermal -~~~~~~~~~~~~~~~ - -.. include:: ../includes/snip_battery_thermal.rst - diff --git a/doc/source/battery-storage/index.rst b/doc/source/battery-storage/index.rst index 36720edcfa..1382a7d5dd 100644 --- a/doc/source/battery-storage/index.rst +++ b/doc/source/battery-storage/index.rst @@ -4,9 +4,8 @@ Battery Storage .. toctree:: battery_storage - battery_storage_btm + battery_cell_and_system battery_dispatch_btm - battery_storage_fom battery_dispatch_fom battery_time_step battery_life diff --git a/doc/source/biopower/biopower_location_ambient_conditions.rst b/doc/source/biopower/biopower_location_ambient_conditions.rst index dfae02a349..a56536a971 100644 --- a/doc/source/biopower/biopower_location_ambient_conditions.rst +++ b/doc/source/biopower/biopower_location_ambient_conditions.rst @@ -7,133 +7,29 @@ The :doc:`biomass power ` model uses data from a weather file to descr Ambient conditions also affect biomass composition, but on a monthly rather than hourly timescale. SAM calculates average monthly temperature, pressure, and humidity values from the hourly values in the weather file, and uses those values to represent the average ambient conditions for each month of the year. SAM uses the same set of twelve monthly average values for each year of the plant's life. - - - .. note:: The biomass power model requires a weather file with global horizontal irradiance (GHI) and relative humidity data that is not available in all files from the National Solar Radiation Database (NSRDB). - :ref:`Typical meteorological year (TMY) ` files from the NSRDB PSM V3 dataset do not have relative humidity data, but the single year data does. To download a single year file, use the choose year option to download a file as described under "Download Weather Files" below. - .. note:: The legacy NSRDB MTS1 (NSRDB 1961 - 1990 TMY2) weather files have both GHI and relative humidity data, but the MTS1 data is out of date and only has files for a few hundred weather stations in the United States. + You can access these legacy files from the `NSRDB archives `__. -.. note:: You can access these legacy files from the `NSRDB archives `__. - - -.. note:: Please contact SAM Support at `sam.support@nlr.gov `__ if you need help finding weather data to use for your project. - -The Location and Resource page provides access to the solar resource library, which is a collection of weather files stored on your computer. When you first install SAM, it comes with a few default weather files in the library. As you use SAM for your own projects, you should add files to build your own library. Once files are in your library, you can use them for different projects and with different versions of SAM. - -.. image:: ../images/SS_SolarResource-library.png - :align: center - :alt: SS_SolarResource-library.png - -.. image:: ../images/SS_SolarResource-information.png - :align: center - :alt: SS_SolarResource-information.png - -There are two ways to add files to your solar resource library: - -1. Download a weather file or files from the NLR National Solar Radiation Database (NSRDB) - -Use the download weather file options and click **Download and add to library** to get the most up-to-date data for long-term cash flow analysis, single-year analysis, and P50/P90 analysis, or to download legacy data from the NSRDB. - -2. Add weather file folders - -If you have weather files from a source other than the NSRDB or that you've downloaded yourself from the NSRDB website, put them in a folder, and then click **Add/remove weather file folders** to add the folder to your solar resource library folder list. - -See also -........ - -:doc:`Weather File Formats <../weather-file-formats/weather_format>` - -:doc:`Weather Data Elements <../weather-data/weather_data_elements>` - -:doc:`Typical and Single Year <../weather-data/weather_typical_single>` - -:doc:`Time and Sun Position <../weather-data/weather_time_convention>` - -:doc:`Folders and Libraries <../weather-data/weather_manage_folders>` - -:doc:`Weather Data and LK <../weather-data/accessing-weather-data-from-lk>` - -.. note:: You may want to model your system using weather data from several different sources and locations around your project site to understand how sensitive your analysis results are to the weather assumptions, and how much variation there is in the data from the different weather files. - -.. note:: You can compare results for a system using more than one weather file in a single case by using SAM's :doc:`parametric simulation <../simulation-options/parametrics>` option. - -.. note:: For more information about weather data, including where to find data for locations outside of the United States, see the `SAM website `__. + Please contact SAM Support at `sam.support@nlr.gov `__ if you need help finding weather data to use for your project. -.. note:: For a helpful discussion of weather data and power system simulation, see Sengupta et al., (2015) "Best Practices Handbook for the Collection and Use of Solar Resource Data for Solar Energy Applications," NREL Report No. TP-5D00-63112 (`PDF 8.9 MB `__). +.. include:: ../includes/snip_location_resource.rst -.. _bio-ambient-library: - -Solar Resource Library +Download Weather Files ~~~~~~~~~~~~~~~~~~~~~~ -SAM's solar resource library displays information from weather files in your solar resource data folders. The default solar resource library that comes with SAM contains weather files for a few locations around the United States for the default configurations. As you use SAM, use **Add/remove weather file folders** to build a library of files for locations you frequently use as described in :doc:`Folders and Libraries <../weather-data/weather_manage_folders>`. - -To choose a file from the solar resource library: - -* Click the location name in the list. You can type a few letters of the file name in the Search box to filter the list. - -The full file name and information about the selected file appears under **Weather Data Information**. To see the data in the file, click **View data**. - -.. image:: ../images/SS_SolarResource-library.png - :align: center - :alt: SS_SolarResource-library.png -**Add/remove weather file folders** - Use the folder settings to tell SAM what folders on your computer it should scan for weather files to build the solar resource library. SAM adds any files it can identify as valid weather files in each folder you specify to the library. +.. include:: ../includes/snip_download_weather_files.rst - Before adding a file to the library, SAM checks the data in the file displays a message if it finds any problems with the data in the file. +Choose Weather File +~~~~~~~~~~~~~~~~~~~ - SAM will only add valid weather files to the library. If you add a folder that contains CSV files that are not in the SAM CSV format, it will not add those files to the library. - - The list of solar resource folders are the folders that SAM scans for weather files to build the solar resource library. - -**Refresh library** - Refresh the library after adding files to the weather file folder. In most cases, SAM should automatically refresh the library as needed, but you may need to manually refresh it. - -.. _bio-ambient-nsrdb: - -Download Weather Files -~~~~~~~~~~~~~~~~~~~~~~ - -.. include:: ../includes/snip_solar_download.rst +.. include:: ../includes/snip_choose_weather_file.rst Weather Data Information ~~~~~~~~~~~~~~~~~~~~~~~~ -.. image:: ../images/SS_SolarResource-information.png - :align: center - :alt: SS_SolarResource-information.png - -**Weather File** - The path and name of the active weather file SAM will use for simulation. Download a different file from the NSRDB, or click a different file name in the library to change the file. - -**View data** - Display weather file data in the :doc:`time series data viewer <../reference/time_series_viewer>` . - -.. note:: You can also see the data after running a simulation on the Results page :doc:`data tables <../results/data>` and :doc:`time series graphs <../results/timeseries>`. - -Header Data from Weather File -............................. - -Header data is information in the weather file that describes the location and type of data in the file. SAM uses the time zone, elevation, latitude and longitude to calculate the sun position during simulations. It does not use the city, state, country, and other descriptive information. - -Annual Averages Calculated from Weather File -............................................ - -When you add a weather file to the solar resource library, SAM reads weather data from the file and calculates the annual averages to display for your reference. It does not use annual averages during simulations. - -**Global horizontal, Direct normal (beam), Diffuse horizontal** - The sum of solar irradiance data (W/m \ :sup:`2`\ ) in the weather file converted to kW and divided by 365 days/year. - -**Average temperature** - The sum of temperature data (°C) in the weather file divided by the number of records in the file (8760 for hourly data). - -**Average wind speed** - The sum of wind speed data (m/s) in the weather file divided by the number of records in the file (8760 for hourly data). -**Maximum snow depth** - The maximum value of snow depth data (cm) in the weather file. **NaN** indicates the file does not contain snow depth data. \ No newline at end of file +.. include:: ../includes/snip_weather_data_information.rst \ No newline at end of file diff --git a/doc/source/csp-empirical-trough-model/troughempirical_location_and_resource.rst b/doc/source/csp-empirical-trough-model/troughempirical_location_and_resource.rst index 2b0a4db039..46455be89b 100644 --- a/doc/source/csp-empirical-trough-model/troughempirical_location_and_resource.rst +++ b/doc/source/csp-empirical-trough-model/troughempirical_location_and_resource.rst @@ -3,3 +3,20 @@ Location and Resource .. include:: ../includes/snip_location_resource.rst +.. note:: SAM's CSP models assume that each DNI value in the weather file represents the average irradiance over the time step, and calculate sun angles for the midpoint of the time step. For hourly weather files from the NSRDB, the irradiance data for each time step is measured instantaneously at the time indicated by the minute column. For hourly data, minute = 30, so the irradiance data is measured at midpoint of each hour. For subhourly data, the irradiance data is measured at the beginning of each time step. As a result, if you use an NSRDB weather file with a CSP model with subhourly data, the sun angle for each time step will be for a different time than the time for the instantaneous irradiance values. See :doc:`Time Convention and Sun Position <../weather-data/weather_time_convention>` for additional details. + +Download Weather Files +~~~~~~~~~~~~~~~~~~~~~~ + +.. include:: ../includes/snip_download_weather_files.rst + +Choose Weather File +~~~~~~~~~~~~~~~~~~~ + +.. include:: ../includes/snip_choose_weather_file.rst + +Weather Data Information +~~~~~~~~~~~~~~~~~~~~~~~~ + +.. include:: ../includes/snip_weather_data_information.rst + diff --git a/doc/source/csp-generic-solar/gss_location_and_resource.rst b/doc/source/csp-generic-solar/gss_location_and_resource.rst index 2b0a4db039..7cbcad667d 100644 --- a/doc/source/csp-generic-solar/gss_location_and_resource.rst +++ b/doc/source/csp-generic-solar/gss_location_and_resource.rst @@ -3,3 +3,19 @@ Location and Resource .. include:: ../includes/snip_location_resource.rst +.. note:: SAM's CSP models assume that each DNI value in the weather file represents the average irradiance over the time step, and calculate sun angles for the midpoint of the time step. For hourly weather files from the NSRDB, the irradiance data for each time step is measured instantaneously at the time indicated by the minute column. For hourly data, minute = 30, so the irradiance data is measured at midpoint of each hour. For subhourly data, the irradiance data is measured at the beginning of each time step. As a result, if you use an NSRDB weather file with a CSP model with subhourly data, the sun angle for each time step will be for a different time than the time for the instantaneous irradiance values. See :doc:`Time Convention and Sun Position <../weather-data/weather_time_convention>` for additional details. + +Download Weather Files +~~~~~~~~~~~~~~~~~~~~~~ + +.. include:: ../includes/snip_download_weather_files.rst + +Choose Weather File +~~~~~~~~~~~~~~~~~~~ + +.. include:: ../includes/snip_choose_weather_file.rst + +Weather Data Information +~~~~~~~~~~~~~~~~~~~~~~~~ + +.. include:: ../includes/snip_weather_data_information.rst \ No newline at end of file diff --git a/doc/source/csp-linear-fresnel-direct-steam/dslf_location_and_resource.rst b/doc/source/csp-linear-fresnel-direct-steam/dslf_location_and_resource.rst index 2b0a4db039..7cbcad667d 100644 --- a/doc/source/csp-linear-fresnel-direct-steam/dslf_location_and_resource.rst +++ b/doc/source/csp-linear-fresnel-direct-steam/dslf_location_and_resource.rst @@ -3,3 +3,19 @@ Location and Resource .. include:: ../includes/snip_location_resource.rst +.. note:: SAM's CSP models assume that each DNI value in the weather file represents the average irradiance over the time step, and calculate sun angles for the midpoint of the time step. For hourly weather files from the NSRDB, the irradiance data for each time step is measured instantaneously at the time indicated by the minute column. For hourly data, minute = 30, so the irradiance data is measured at midpoint of each hour. For subhourly data, the irradiance data is measured at the beginning of each time step. As a result, if you use an NSRDB weather file with a CSP model with subhourly data, the sun angle for each time step will be for a different time than the time for the instantaneous irradiance values. See :doc:`Time Convention and Sun Position <../weather-data/weather_time_convention>` for additional details. + +Download Weather Files +~~~~~~~~~~~~~~~~~~~~~~ + +.. include:: ../includes/snip_download_weather_files.rst + +Choose Weather File +~~~~~~~~~~~~~~~~~~~ + +.. include:: ../includes/snip_choose_weather_file.rst + +Weather Data Information +~~~~~~~~~~~~~~~~~~~~~~~~ + +.. include:: ../includes/snip_weather_data_information.rst \ No newline at end of file diff --git a/doc/source/csp-linear-fresnel-molten-salt/mslf_location_and_resource.rst b/doc/source/csp-linear-fresnel-molten-salt/mslf_location_and_resource.rst index 2b0a4db039..7cbcad667d 100644 --- a/doc/source/csp-linear-fresnel-molten-salt/mslf_location_and_resource.rst +++ b/doc/source/csp-linear-fresnel-molten-salt/mslf_location_and_resource.rst @@ -3,3 +3,19 @@ Location and Resource .. include:: ../includes/snip_location_resource.rst +.. note:: SAM's CSP models assume that each DNI value in the weather file represents the average irradiance over the time step, and calculate sun angles for the midpoint of the time step. For hourly weather files from the NSRDB, the irradiance data for each time step is measured instantaneously at the time indicated by the minute column. For hourly data, minute = 30, so the irradiance data is measured at midpoint of each hour. For subhourly data, the irradiance data is measured at the beginning of each time step. As a result, if you use an NSRDB weather file with a CSP model with subhourly data, the sun angle for each time step will be for a different time than the time for the instantaneous irradiance values. See :doc:`Time Convention and Sun Position <../weather-data/weather_time_convention>` for additional details. + +Download Weather Files +~~~~~~~~~~~~~~~~~~~~~~ + +.. include:: ../includes/snip_download_weather_files.rst + +Choose Weather File +~~~~~~~~~~~~~~~~~~~ + +.. include:: ../includes/snip_choose_weather_file.rst + +Weather Data Information +~~~~~~~~~~~~~~~~~~~~~~~~ + +.. include:: ../includes/snip_weather_data_information.rst \ No newline at end of file diff --git a/doc/source/csp-physical-trough-model/troughphysical_location_and_resource.rst b/doc/source/csp-physical-trough-model/troughphysical_location_and_resource.rst index 2b0a4db039..7cbcad667d 100644 --- a/doc/source/csp-physical-trough-model/troughphysical_location_and_resource.rst +++ b/doc/source/csp-physical-trough-model/troughphysical_location_and_resource.rst @@ -3,3 +3,19 @@ Location and Resource .. include:: ../includes/snip_location_resource.rst +.. note:: SAM's CSP models assume that each DNI value in the weather file represents the average irradiance over the time step, and calculate sun angles for the midpoint of the time step. For hourly weather files from the NSRDB, the irradiance data for each time step is measured instantaneously at the time indicated by the minute column. For hourly data, minute = 30, so the irradiance data is measured at midpoint of each hour. For subhourly data, the irradiance data is measured at the beginning of each time step. As a result, if you use an NSRDB weather file with a CSP model with subhourly data, the sun angle for each time step will be for a different time than the time for the instantaneous irradiance values. See :doc:`Time Convention and Sun Position <../weather-data/weather_time_convention>` for additional details. + +Download Weather Files +~~~~~~~~~~~~~~~~~~~~~~ + +.. include:: ../includes/snip_download_weather_files.rst + +Choose Weather File +~~~~~~~~~~~~~~~~~~~ + +.. include:: ../includes/snip_choose_weather_file.rst + +Weather Data Information +~~~~~~~~~~~~~~~~~~~~~~~~ + +.. include:: ../includes/snip_weather_data_information.rst \ No newline at end of file diff --git a/doc/source/csp-power-tower-molten-salt/mspt_location_and_resource.rst b/doc/source/csp-power-tower-molten-salt/mspt_location_and_resource.rst index 2b0a4db039..7cbcad667d 100644 --- a/doc/source/csp-power-tower-molten-salt/mspt_location_and_resource.rst +++ b/doc/source/csp-power-tower-molten-salt/mspt_location_and_resource.rst @@ -3,3 +3,19 @@ Location and Resource .. include:: ../includes/snip_location_resource.rst +.. note:: SAM's CSP models assume that each DNI value in the weather file represents the average irradiance over the time step, and calculate sun angles for the midpoint of the time step. For hourly weather files from the NSRDB, the irradiance data for each time step is measured instantaneously at the time indicated by the minute column. For hourly data, minute = 30, so the irradiance data is measured at midpoint of each hour. For subhourly data, the irradiance data is measured at the beginning of each time step. As a result, if you use an NSRDB weather file with a CSP model with subhourly data, the sun angle for each time step will be for a different time than the time for the instantaneous irradiance values. See :doc:`Time Convention and Sun Position <../weather-data/weather_time_convention>` for additional details. + +Download Weather Files +~~~~~~~~~~~~~~~~~~~~~~ + +.. include:: ../includes/snip_download_weather_files.rst + +Choose Weather File +~~~~~~~~~~~~~~~~~~~ + +.. include:: ../includes/snip_choose_weather_file.rst + +Weather Data Information +~~~~~~~~~~~~~~~~~~~~~~~~ + +.. include:: ../includes/snip_weather_data_information.rst \ No newline at end of file diff --git a/doc/source/custom-generation/custom_generation_profile.rst b/doc/source/custom-generation/custom_generation_profile.rst index b6f9f6d08d..cabe9a5abb 100644 --- a/doc/source/custom-generation/custom_generation_profile.rst +++ b/doc/source/custom-generation/custom_generation_profile.rst @@ -35,7 +35,7 @@ The custom generation profile model provides two overall options for describing **Import single-year hourly or subhourly generation profile from file** Import hourly or subhourly generation data over one year into SAM. SAM will use the same generation profile for each year in the analysis period. -.. note:: The analysis period is specified on the Financial Parameters page. + .. note:: The analysis period is specified on the Financial Parameters page. **Import lifetime hourly or subhourly generation profile from file** Import hourly or subhourly generation data over the analysis period. @@ -43,7 +43,7 @@ The custom generation profile model provides two overall options for describing **Calculate generation profiles and nameplate capacity from open cases** Combine the generation profiles from other cases in the file to use as input for this case. This option only works for cases that run hourly simulations. For cases that run a simulation over the analysis period (lifetime simulation), SAM only uses the Year 1 data to generate the combined generation profile. -.. note:: As of SAM 2023, hybrid system configurations are available that combine the output of PV, wind, custom generation profile and fuel cell models as an alternative to this Calculate Generation Profiles option. + .. note:: As of SAM 2023, hybrid system configurations are available that combine the output of PV, wind, custom generation profile and fuel cell models as an alternative to this Calculate Generation Profiles option. **Nameplate capacity, kWac** The system's nameplate electrical capacity in electric kilowatts. @@ -61,7 +61,7 @@ The custom generation profile model provides two overall options for describing When you import or generate power generation data, this input is disabled because for these options, SAM does not use the capacity factor to calculate the generation profile. -.. note:: SAM reports a separate :doc:`capacity factor <../performance-metrics/mtp_capacity_factor>` in the results after you run a simulation that reflects plant losses and any reduction in output due to system availability. + .. note:: SAM reports a separate :doc:`capacity factor <../performance-metrics/mtp_capacity_factor>` in the results after you run a simulation that reflects plant losses and any reduction in output due to system availability. **Combined nameplate capacity, kWac** When you choose **Calculate generation profiles and nameplate capacity from open cases**, SAM automatically calculates the nameplate capacity as the sum of nameplate capacities of each case. You can edit this value if you want to use a different value than the calculated value. @@ -76,11 +76,11 @@ The custom generation profile model provides two overall options for describing #. Click **Import** to import the data from a text file. -The data must be in a single column with one row for each time step. Each row should contain a value in kW of electricity generated per time step. For example, an hourly data set for a single year should contain 8,760 rows of kW values. A 15-minute data set for one year would contain 35,040 rows of kW values. Lifetime data sets should contain data over the same number of years as the analysis period on the Financial Parameters page. + The data must be in a single column with one row for each time step. Each row should contain a value in kW of electricity generated per time step. For example, an hourly data set for a single year should contain 8,760 rows of kW values. A 15-minute data set for one year would contain 35,040 rows of kW values. Lifetime data sets should contain data over the same number of years as the analysis period on the Financial Parameters page. -The first row is reserved for a header, so do not include any electricity generation data in the first row. SAM checks the number of data rows in the file to ensure it is consistent with the time step you specify. For example, for a 60-minute time step over a single year, the text file should contain 8761 rows: One row at the top of the file for the header followed by 8760 data rows. A 15-minute data set would contain a total of 35,041 rows. + The first row is reserved for a header, so do not include any electricity generation data in the first row. SAM checks the number of data rows in the file to ensure it is consistent with the time step you specify. For example, for a 60-minute time step over a single year, the text file should contain 8761 rows: One row at the top of the file for the header followed by 8760 data rows. A 15-minute data set would contain a total of 35,041 rows. -To paste the data from a text editor, spreadsheet, or other software, copy the data to your clipboard, and then click **Paste**. + To paste the data from a text editor, spreadsheet, or other software, copy the data to your clipboard, and then click **Paste**. #. Click **OK** to return to the Power Plant page. @@ -128,7 +128,7 @@ The calculated values are equivalent to the metrics shown on the Results page af **Capacity factor after plant loss** The capacity factor, accounting for the reduction in output when you specify a non-zero plant loss percentage. Use this capacity value value when you import generation data to verify that the nameplate capacity you enter is reasonable. For example, you might expect a capacity factor greater than 90% for a thermal power plant, about 20% for a photovoltaic system, 40% for a concentrating solar power system, or about 60% for a wind system. -.. note:: The capacity factor after plant loss shown on the Power Plant page accounts for the plant loss, but not for :ref:`system availability `. If you include system availability losses in your analysis, the :doc:`capacity factor <../performance-metrics/mtp_capacity_factor>` SAM reports in the results after you run a simulation reflects those losses. + .. note:: The capacity factor after plant loss shown on the Power Plant page accounts for the plant loss, but not for :ref:`system availability `. If you include system availability losses in your analysis, the :doc:`capacity factor <../performance-metrics/mtp_capacity_factor>` SAM reports in the results after you run a simulation reflects those losses. For the constant generation option, the calculated capacity factor depends on the value that you entered for **Capacity Factor**: *Capacity Factor After Plant Loss (%) = Capacity Factor (%) × ( 1 - Loss (%) ÷ 100% )* diff --git a/doc/source/degradation/degradation.rst b/doc/source/degradation/degradation.rst index f54c3fd57e..5b8296d0ce 100644 --- a/doc/source/degradation/degradation.rst +++ b/doc/source/degradation/degradation.rst @@ -1,5 +1,5 @@ -Degradation -=========== +Degradation Overview +==================== The degradation inputs allow you to model a decline in the system's output over time due, for example, to aging of equipment. @@ -14,12 +14,9 @@ SAM models annual degradation differently for the different performance models: * AC degradation with simulation over analysis period for the Custom Generation Profile - Battery model, where the system generates AC power. Lifetime simulations allow for modeling battery replacements. * The geothermal model calculates the electricity generated by the system in each month over its lifetime rather than hourly or subhourly over a single year. The degradation rate is not available for geothermal systems because the model calculates the system's electrical output from year to year. - - .. note:: When you specify degradation in each year, SAM ignores the value you specify for Year 1 (Row 1 of the input table) because it assumes degradation applies in Years 2 and later. - -.. note:: The multi-year simulation uses the same weather file for each year, so it does not accurately represent the effect of changes in the solar resource and weather from year to year over the analysis period. + The multi-year simulation uses the same weather file for each year, so it does not accurately represent the effect of changes in the solar resource and weather from year to year over the analysis period. The Detailed Photovoltaic and PV Battery models have an additional set of inputs for :ref:`lifetime daily losses ` that can be used to model losses in the system that vary over the analysis period and are not covered by annual degradation. \ No newline at end of file diff --git a/doc/source/degradation/degradation_ac.rst b/doc/source/degradation/degradation_ac.rst index 5fce6d9cc1..cbb2f8f1ba 100644 --- a/doc/source/degradation/degradation_ac.rst +++ b/doc/source/degradation/degradation_ac.rst @@ -38,8 +38,7 @@ In some situations, you may want to assign a different degradation rate to diffe Because Year 1 is the first year of operation before degradation begins, you should set the degradation rate for Year 1 (the first row in the degradation table) to zero. -To enter an annual schedule of degradation rates: -................................................. +**To enter an annual schedule of degradation rates:** .. include:: ../includes/snip_annual_values.rst diff --git a/doc/source/degradation/degradation_dc.rst b/doc/source/degradation/degradation_dc.rst index 46cc3bb18a..ed318b7355 100644 --- a/doc/source/degradation/degradation_dc.rst +++ b/doc/source/degradation/degradation_dc.rst @@ -45,8 +45,7 @@ In some situations, you may want to use "schedule mode" to assign a different de Because Year 1 is the first year of operation before degradation begins, you should set the degradation rate for Year 1 (the first row in the degradation table) to zero. -To enter an annual schedule of degradation rates: -................................................. +**To enter an annual schedule of degradation rates:** .. include:: ../includes/snip_annual_values.rst @@ -55,4 +54,6 @@ Memory Saving Option for Subhourly Simulations If you are running subhourly simulations over the analysis period, the number of values for each output variable can be very large. For, example, one-minute simulations over a 25-year analysis period would result in 1 time step/min × 60 min/hr × 8,760 hr/yr × 25 yr = 13,140,000 time steps, so each output variable would store over 13 million values. -If your computer is experiencing memory problems, or if the tables and graphs on the Results page are not working properly, you can clear **Save all output variables over analysis period** to reduce the amount of memory required to display simulation results.That will cause SAM to save only a selection of variables in "lifetime mode" with values over the entire analysis period. The remaining variables will only store one year's worth of data so you can still examine hourly data to see how the system performs. \ No newline at end of file +If your computer is experiencing memory problems, or if the tables and graphs on the Results page are not working properly, you can clear **Save all output variables over analysis period** to reduce the amount of memory required to display simulation results.That will cause SAM to save only a selection of variables in "lifetime mode" with values over the entire analysis period. The remaining variables will only store one year's worth of data so you can still examine hourly data to see how the system performs. + +.. note:: The option must be checked for PV Battery configurations that require lifetime outputs for battery life calculations. \ No newline at end of file diff --git a/doc/source/detailed-photovoltaic-model/pv_inverter.rst b/doc/source/detailed-photovoltaic-model/pv_inverter.rst index 3ca28967be..ba9c2526de 100644 --- a/doc/source/detailed-photovoltaic-model/pv_inverter.rst +++ b/doc/source/detailed-photovoltaic-model/pv_inverter.rst @@ -1,5 +1,5 @@ Inverter -========= +======== The Inverter page allows you to choose a model to represent the inverter's performance. The inverter converts DC electricity from the photovoltaic array into AC electricity. The inverter model calculates the DC to AC conversion efficiency in each simulation time step. @@ -636,7 +636,7 @@ To model a system with using microinverters in the Detailed Photovoltaic model: #. For Subarray 1, for **Modules per String in subarray**, enter 1. -#. To subarray 1's **Strings in Parallel in subarray**, divide the system's nameplate capacity by the module maximum power rating (Pmp) from the :doc:`Module ` page, and round up or down as appropriate: +#. To calculate **Strings in Parallel in subarray** for Subarray 1, divide the system's nameplate capacity by the module maximum power rating (Pmp) from the :doc:`Module ` page, and round up or down as appropriate: *Strings in Parallel = System Nameplate Capacity (Wdc) / Module Maximum Power (Wdc)* @@ -644,8 +644,8 @@ To model a system with using microinverters in the Detailed Photovoltaic model: *Number of Inverters = Strings in Parallel* -#. On the :doc:`Electrical Losses ` page, for **Module Mismatch**, enter zero. You can also click **Microinverters** to apply default loss values. +#. On the :doc:`pv_electrical_losses` page, for **Module Mismatch**, enter zero. You can also click **Microinverters** to apply default loss values. -#. On the :doc:`Installation costs <../installation-costs/cc_pv>` page, be sure that the inverter cost is appropriate for the microinverter. +#. On the :doc:`../installation-costs/cc_pv` page, be sure that the inverter cost is appropriate for the microinverter. #. On the :doc:`pv_soiling_shading_snow` page, be sure that **Self shading** is set to **None**. \ No newline at end of file diff --git a/doc/source/detailed-photovoltaic-model/pv_location_and_resource.rst b/doc/source/detailed-photovoltaic-model/pv_location_and_resource.rst index ad720fbb1b..2a1b3bcf76 100644 --- a/doc/source/detailed-photovoltaic-model/pv_location_and_resource.rst +++ b/doc/source/detailed-photovoltaic-model/pv_location_and_resource.rst @@ -3,30 +3,40 @@ Location and Resource .. include:: ../includes/snip_location_resource.rst +Download Weather Files +~~~~~~~~~~~~~~~~~~~~~~ + +.. include:: ../includes/snip_download_weather_files.rst + +Choose Weather File +~~~~~~~~~~~~~~~~~~~ + +.. include:: ../includes/snip_choose_weather_file.rst + +Weather Data Information +~~~~~~~~~~~~~~~~~~~~~~~~ + +.. include:: ../includes/snip_weather_data_information.rst + Albedo - Sky Diffuse Model - Irradiance Data (Advanced) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + The albedo, sky diffuse model, and irradiance data inputs are advanced inputs for the detailed photovoltaic model that you can ignore unless you have a reason to change them. These inputs are not available for the PVWatts model, except for some albedo options, which are under **Advanced Inputs** on the :doc:`System Design <../pvwatts/pvwatts_system_design>` page. .. note:: Use the default **DNI and DHI** and **Perez** options unless you have a reason to change them. - - - **DNI:** Direct normal irradiance, sometimes called beam normal irradiance is the amount solar radiation per unit area that reaches a surface that is normal to the rays of solar radiation from the sun. - **DHI:** Diffuse horizontal irradiance is the solar radiation per unit area that reaches a horizontal surface from the sky dome, but not directly from the sun. DHI does not include solar energy reflected from the ground. SAM accounts for that separately using the albedo input described above. - **GHI:** Global horizontal irradiance is the total solar radiation per unit area that reaches a horizontal surface - **POA:** Plane of array, POA irradiance is equivalent to incident irradiance, and is the total solar radiation per unit area that reaches the surface of the photovoltaic array. .. _albedo: Albedo -~~~~~~ +------ SAM uses the albedo (also called ground reflectance) to make a small adjustment to the amount of solar irradiance incident on the array to represent diffuse irradiance reflected onto the array from the ground. SAM also uses albedo to calculate irradiance incident on the rear side of bifacial modules. @@ -70,7 +80,7 @@ After running a simulation, you can see the time series albedo data that SAM use If you want to add albedo data to a weather file, you can edit the file using a text editor or spreadsheet software. See the :doc:`SAM CSV format description <../weather-file-formats/weather_format_sam_csv_solar>` for details. Diffuse Sky Model -~~~~~~~~~~~~~~~~~ +----------------- SAM's detailed photovoltaic model uses DNI and DHI data with sun and subarray angles to calculate the irradiance incident on each subarray. Calculating the incident direct component from the DNI is straightforward, but there are several methods for estimating the incident diffuse component from DHI. The incident diffuse component includes both ground-reflected diffuse irradiance, and sky diffuse irradiance from the sky dome outside of the sun's circle. SAM allows you to choose the method it uses to convert DHI data to incident sky diffuse irradiance. @@ -88,7 +98,8 @@ For more details about these methods, see the photovoltaic reference manual, whi The Perez method is the default value and is best for most analysis. It accounts for horizon brightening, circumsolar and isotropic diffuse radiation using a more complex computational method than the Reindl and Hay and Davies methods. Weather File Irradiance Data -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +---------------------------- + A weather file in :doc:`SAM CSV format <../weather-file-formats/weather_format_sam_csv_solar>` for the photovoltaic performance models must contain at least two columns for the solar irradiance components or a single column for plane-of-array (POA) irradiance. The weather file may contain columns for all three irradiance components in addition to POA data. SAM determines which columns to use for the simulation based on the Weather File Irradiance Data options you choose. @@ -109,32 +120,20 @@ Unless you choose one of the POA options, SAM's detailed photovoltaic model alwa **POA from pyranometer** Use this option if your weather file contains irradiance data measured in the plane of the array by a pyranometer. SAM uses a POA decomposition model to calculate the DNI and DHI components of the POA irradiance for angle-of-incidence effect calculations. - - - -.. note:: For a technical description of the POA option, see Freeman (2016) Using Measured Plane-of-Array Data Directly in Photovoltaic Modeling: Methodology and Validation, available from https://sam.nlr.gov/photovoltaic/pv-publications. - - -.. note:: When you choose a POA option, SAM uses an irradiance decomposition model to calculate DNI and DHI values, which it reports in the results for your reference. It only uses the calculated DNI and DHI values under the following conditions: - - -.. note::     - With the **POA from pyranometer** option to calculate a reduction in DNI due to angle-of-incidence effects. - - -.. note::     - When you enable external shading, SAM applies the beam and diffuse irradiance shading factors to the - -.. note::     calculated DNI and DHI values, and then calculates the irradiance incident on the subarray to account for + .. note:: For a technical description of the POA option, see Freeman (2016) Using Measured Plane-of-Array Data Directly in Photovoltaic Modeling: Methodology and Validation, available from https://sam.nlr.gov/photovoltaic/pv-publications. -.. note::     shading. + When you choose a POA option, SAM uses an irradiance decomposition model to calculate DNI and DHI values, which it reports in the results for your reference. It only uses the calculated DNI and DHI values under the following conditions: + * With the **POA from pyranometer** option to calculate a reduction in DNI due to angle-of-incidence effects. -.. note::     - When you use the CEC module model with the heat transfer method for temperature correction. + * When you enable external shading, SAM applies the beam and diffuse irradiance shading factors to the calculated DNI and DHI values, and then calculates the irradiance incident on the subarray to account for shading. + * When you use the CEC module model with the heat transfer method for temperature correction. -.. note:: When you use POA data, be careful to check that your array orientation, shading, soiling, and snow model inputs are consistent with your POA data. If your system has more than one subarray, SAM uses the POA data for each subarray. This requires that all subarrays have the same orientation and tracking, but SAM does not enforce this requirement. SAM also allows you to enable shading, soiling, and the snow model with POA data. If the irradiance data already accounts for these effects, you should disable those inputs. + When you use POA data, be careful to check that your array orientation, shading, soiling, and snow model inputs are consistent with your POA data. If your system has more than one subarray, SAM uses the POA data for each subarray. This requires that all subarrays have the same orientation and tracking, but SAM does not enforce this requirement. SAM also allows you to enable shading, soiling, and the snow model with POA data. If the irradiance data already accounts for these effects, you should disable those inputs. Irradiance Data in Results -.......................... +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. note:: If your weather file contains data for all three irradiance components, the value of the calculated third component that SAM uses for the simulation may differ from the value in the weather file. @@ -144,15 +143,15 @@ You can see the calculated data on the Results page after running a simulation, The data in the weather file. If the column does not exist in the weather file, SAM reports the values in the results as NaN (not a number). **Irradiance GHI/DNI/DHI calculated (W/m2)** - The values of the third irradiance component that SAM calculates from the other two in the weather file. For example, if you choose the **DNI and GHI** option, you should see **Irradiance DHI calculated** in the results. SAM uses the following equations for the calculated values, where *z* is the sun zenith angle: + The values of the third irradiance component that SAM calculates from the other two in the weather file. For example, if you choose the **DNI and GHI** option, you should see **Irradiance DHI calculated** in the results. SAM uses the following equations for the calculated values, where *z* is the sun zenith angle: -*GHI = DHI + DNI × cos(z)* + *GHI = DHI + DNI × cos(z)* -*DHI = GHI - DNI × cos(z)* + *DHI = GHI - DNI × cos(z)* -*DNI = ( GHI - DHI ) ÷ cos(z)* + *DNI = ( GHI - DHI ) ÷ cos(z)* For the POA options, SAM calculates the DHI and DNI values from the POA data in the weather file using the method described in Marion, B. (2015) “A model for deriving the direct normal and diffuse horizontal irradiance from the global tilted irradiance.” Solar Energy, vol. 122, pp. 1037-1046. -**Subarray [*****n*****] POA total irradiance after shading and soiling (W/m2)** - The total irradiance incident on each subarray *n* . \ No newline at end of file +**Subarray n POA total irradiance after shading and soiling (W/m2)** + The total irradiance incident on each subarray *n*. \ No newline at end of file diff --git a/doc/source/detailed-photovoltaic-model/pv_sizing_instructions.rst b/doc/source/detailed-photovoltaic-model/pv_sizing_instructions.rst index 49d99d2717..11e0685b82 100644 --- a/doc/source/detailed-photovoltaic-model/pv_sizing_instructions.rst +++ b/doc/source/detailed-photovoltaic-model/pv_sizing_instructions.rst @@ -1,7 +1,9 @@ PV Sizing Instructions ====================== -To size the system for the Detailed Photovoltaic model, you choose a module and inverter, and then specify the number of modules in a string, and number of strings in the array. You can also divide the array into sections called subarrays to model an array with modules oriented in different directions, or that use different tracking options. Sizing the system in the Detailed Photovoltaic model requires more effort, because you have to choose a appropriate module and inverter for the system, and determine the number of modules and inverters you need for a given DC capacity and DC to AC ratio while ensuring that the array voltages are within the inverter's voltage limits. +To size the system for the Detailed Photovoltaic model, you choose a module and inverter, and then specify the number of modules in a string, and number of strings in the array. You can also divide the array into sections called subarrays to model an array with modules oriented in different directions, or that use different tracking options. + +.. note:: You can use the simpler :doc:`../pvwatts/pvwatts` model instead of the Detailed Photovoltaic model to size the system without specifying numbers of inverters, modules per string, and strings in parallel. .. _pv-sizing: @@ -12,14 +14,14 @@ SAM provides two options on the :doc:`pv_system_size` page for specifying the nu * The best way is to :ref:`specify the number of modules and inverters ` yourself. -* If you are modeling a system with one subarray, you can check :ref:`Estimate Subarray 1 configuration `, and see what values SAM calculates for the number modules per string and number of strings in parallel. +* If you are modeling a system with one subarray, you can check :ref:`Specify desired size and DC/AC ratio `, and see what values SAM calculates for the number modules per string and number of strings in parallel. For information about how SAM models inverter clipping losses, see :ref:`Inverter Clipping Loss `. You can run the System Sizing :doc:`macro <../reference/macros>` to generate a detailed report about clipping losses and the inverter's MPPT performance. The following examples show how to design common system configurations in SAM. The examples show a few modules for a small system for clarity, but the same approach can be used for large systems with thousands of modules and multiple inverters. See :ref:`Microinverters ` for a microinverter configuration example. Example 1: One string, one inverter, one MPPT -............................................. +--------------------------------------------- .. image:: ../images/IMG_PV_Layout_1.png :align: center @@ -40,7 +42,7 @@ Example 1: One string, one inverter, one MPPT - 1 Example 2: Two identical strings, one inverter, one MPPT -........................................................ +-------------------------------------------------------- .. image:: ../images/IMG_PV_Layout_2.png :align: center @@ -61,7 +63,7 @@ Example 2: Two identical strings, one inverter, one MPPT - 2 Example 3: Two different strings, one inverter, one MPPT -........................................................ +-------------------------------------------------------- .. image:: ../images/IMG_PV_Layout_3.png :align: center @@ -82,7 +84,7 @@ Example 3: Two different strings, one inverter, one MPPT - 6 Example 4: Two different strings, one inverter, two MPPTs -......................................................... +--------------------------------------------------------- .. image:: ../images/IMG_PV_Layout_4.png :align: center @@ -107,7 +109,7 @@ Example 4: Two different strings, one inverter, two MPPTs - 2 Example 5: Three strings (two identical), two inverters, one MPPT -................................................................. +----------------------------------------------------------------- .. image:: ../images/IMG_PV_Layout_5.png :align: center @@ -132,7 +134,7 @@ Example 5: Three strings (two identical), two inverters, one MPPT - 1 Example 6: Three strings (two identical), one inverter, two MPPTs -................................................................. +----------------------------------------------------------------- .. image:: ../images/IMG_PV_Layout_6.png :align: center @@ -156,106 +158,130 @@ Example 6: Three strings (two identical), one inverter, two MPPTs * - Strings in parallel in subarray 2 - 1 -**TO DO from original System Design page** +.. _manual: -For example, to configure strings for a 10 MW system consisting of SunPower SPR-305 modules, and Advanced Energy Solaron 333 inverters with two subarrays of 5 MW each with different azimuth angles: +Specify Numbers of Modules and Inverters +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -#. On the :doc:`Module ` and :doc:`Inverter ` pages, choose the SunPower module and Solaron inverter, respectively. +The following examples show how to specify the number of modules and inverters by hand. -#. On the :doc:`pv_system_size` page, under **AC Sizing**, type 4 for **Number of inverters**. +Basic Example +------------- -#. Clear **Estimate Subarray 1 configuration**. It is not possible for SAM to automatically size a system with more than one subarray. +This basic example shows the steps to configure strings for a 10 MW system consisting of two subarrays of 14,500 SunPower 305 Wdc modules with different azimuth angles, and two Power Electronics 330 kWac inverters for a total size of 8.9 MWdc and a DC to AC ratio of 1.35. -#. Under **DC Sizing and Configuration**, for **Subarray 1**, specify 8 modules per string and 220 strings in parallel, and an azimuth angle of 180. +**Basic example steps:** -#. Enable Subarray 2, and specify 8 modules per string and 220 strings in parallel for Subarray 2, and an azimuth angle of 170. +#. On the :doc:`pv_module` page, type "sunpower" in the Filter box above the list mof modules, and choose the SPT-305-Mono or a similar module from the list. -.. _manual: +#. Clear the **Module is bifacial** box if the module is not a bifacial module. -Specify Numbers of Modules and Inverters -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The following instructions explain one approach for choosing optimal values for the numbers of modules and inverters based on the array's expected DC output instead of its nameplate capacity. +#. On the :doc:`pv_inverter` page, type "power" in the Filter box, and choose FS3190K or a similar inverter. + +#. On the :doc:`pv_system_size` page, choose **Specify number of modules and inverters**. It is not possible for SAM to automatically size a system with more than one subarray. + +#. For **Number of inverters**, type 2. + +#. Under **Subarrays and String Size**, for **Subarray 1**, specify 29 modules per string and 500 strings in parallel. + +#. Enable Subarray 2, and specify 29 modules per string and 500 strings in parallel for Subarray 2. Note the nameplate DC capacity and DC to AC ratio in the blue boxes under **System Size**. The blue boxes are calculated values that you can use that the system size is correct. -.. note:: The System Sizing macro generates a report that you can use to compare the system's operating characteristics to design values, and generates a list of alternative modules that might work with the inverter you chose. +#. On the :doc:`pv_tracking_layout_land` page, under **Tracking and Orientation**, set **Aximuth angle (deg)** to 180 degrees for Subarray 1 and 170 degrees for Subarray 2. -To specify numbers of modules and inverters by hand: +Detailed Example +---------------- -#. Choose an inverter for the system or specify its parameters on the :doc:`Inverter ` page. (For microinverters, see :ref:`Modeling Microinverters `.). If you do not have a specific inverter in mind, either choose one with a rated maximum DC power close to the array size you want to model, or choose one with a maximum AC power that is your desired array DC capacity divided by your desired DC to AC ratio. +This detailed example demonstrates one approach for choosing optimal values for the numbers of modules and inverters based on the array's expected DC output instead of its nameplate capacity. Before you start choose a system size in kWdc and a DC to AC ratio for the system. -#. Choose a module or specify its parameters on the :doc:`Module ` page. If you do not have a specific module in mind, use the default module. +.. note:: You can use the :doc:`System Sizing macro<../reference/macros>` to generate a report that you can use to compare the system's operating characteristics to design values, and generate a list of alternative modules that might work with the inverter you chose. -#. On the :doc:`pv_system_size` page, under **AC Sizing**, for **Number of Inverters**, type 1. +**Detailed example steps:** -#. Under **DC Sizing and Configuration**, for Subarray 1, type a value for **Modules per string in subarray** that results in a string open circuit voltage (**String Voc**) less than but as close as possible to the inverter's maximum DC input voltage, and greater than the inverter's minimum MPPT voltage. For an initial estimate, you can try an integer value less than: +#. Choose an inverter for the system or specify its parameters on the :doc:`pv_inverter` page. (For microinverters, see :ref:`Modeling Microinverters `.). If you do not have a specific inverter in mind, either choose one with a rated maximum DC power close to the array size you want to model, or choose one with a maximum AC power that is your desired array DC capacity divided by your desired DC to AC ratio. -*Modules per String = [ ( Minimum MPPT Voltage + Maximum MPPT Voltage ) ÷ 2 ] ÷ Module Maximum Power Voltage* +#. Choose a module or specify its parameters on the :doc:`pv_module` page. If you do not have a specific module in mind, use the default module. -If the resulting string open circuit DC voltage (**String Voc**) is greater than the inverter's maximum DC voltage, reduce the number of modules per string. You may also want to try a similar module or inverter with slightly lower or higher maximum power. +#. On the :doc:`pv_system_size` page, under **System Size**, for **Number of Inverters**, type 1. For a large system that requires more than one inverter, use this equation to calculate the number of inverters (round the answer to the nearest integer): -#. For **Strings in Parallel in subarray**, type a value that results in an array nameplate capacity that is close to your desired system DC capacity. You can choose an integer value close to the value: + *Number of Inverters = ( Nameplate DC Capacity (kWdc) ÷ DC to AC Ratio ) ÷ Inverter Maximum AC Power (kWac)* -*Strings in Parallel = Array Nameplate Capacity (kWdc) × 1000 (W/kW) ÷ Module Maximum Power (Wdc) ÷ Modules Per String*. +#. Under **Subarrays and String Size**, for Subarray 1, type a value for **Modules per string in subarray** that results in a string open circuit voltage (**String Voc**) less than but as close as possible to the inverter's maximum MPPT voltage, and greater than the inverter's minimum MPPT voltage. For an initial estimate, you can try an integer value less than: + + *Modules per String = [ ( Minimum MPPT Voltage + Maximum MPPT Voltage ) ÷ 2 ] ÷ Module Maximum Power Voltage* + + If the resulting string open circuit DC voltage (**String Voc at reference conditions**) is greater than the inverter's maximum MPPT voltage, reduce the number of modules per string. You may also want to try a similar module or inverter with slightly lower or higher maximum power. + +#. For **Strings in parallel in subarray**, type a value that results in an array nameplate capacity that is close to your system's DC capacity. Choose an integer value close to the value of: + + *Strings in Parallel = Nameplate DC Capacity (kWdc) × 1000 (W/kW) ÷ Module Maximum Power (Wdc) ÷ Modules Per String* #. Depending on the inverter you chose, you may need to modify the number of inverters to match the array size. -*Number of Inverters = ( Modules per String × Strings in Parallel × Module Maximum Power (Wdc) ) ÷ ( DC-to-AC Ratio × Inverter Maximum AC Power (Wac) )* + *Number of Inverters = ( Modules per String × Strings in Parallel × Module Maximum Power (Wdc) ) ÷ ( DC-to-AC Ratio × Inverter Maximum AC Power (Wac) )* + + You may need to experiment with different sizes of modules and inverters within the same family to find a combination that works for your system. -You may need to experiment with different sizes of modules and inverters within the same family to find a combination that works for your system. +#. On the :doc:`pv_tracking_layout_land` page, under **Tracking & Orientation**, specify the tilt angle, tracking option, and azimuth angle as appropriate, or use the default values. -#. Under **Tracking & Orientation**, specify the tracking and orientation and ground coverage ratio as appropriate. +#. Under **Row Dimensions and Spacing**, specify a ground coverage ratio (GCR) as appropriate, or use the default value. #. On the :doc:`pv_electrical_losses` page, specify any losses. #. :doc:`Run a simulation <../getting-started/run_simulations>`. See below for details about any simulation :doc:`notices <../results/notices>`. -#. On the :doc:`Results <../getting-started/results_page>` page, check the :doc:`energy yield <../performance-metrics/mtp_kwhkwyear1>` (kWh/kW) in the :doc:`Metrics table <../results/summary>` to make sure it is a reasonable value. (For example, the energy yield for the default system based on mono-crystalline modules in Phoenix, Arizona is about 1,850 kWh/kW.) If it seems too low, check that the total inverter capacity is not too low and limiting the system's AC output. If it is, you may want to try using a larger inverter, fewer modules, or a module from the same family with slightly lower capacity. +#. On the :doc:`Results <../getting-started/results_page>` page, check the :doc:`energy yield <../performance-metrics/mtp_kwhkwyear1>` (kWh/kW) in the :doc:`Metrics table <../results/summary>` to make sure it is a reasonable value. (For example, the energy yield for the default system based on mono-crystalline modules in Phoenix, Arizona is about 2,300 kWh/kW.) + + If it seems too low, check that the total inverter capacity is not too low and limiting the system's AC output. If it is, you may want to try using a larger inverter, fewer modules, or a module from the same family with slightly lower capacity. #. Also on the Results page, click the :doc:`Time Series <../results/timeseries>` tab. -Display the Hourly Energy variable. This is the system's AC output in kWh/h. You can use this information to decide whether to reduce the inverter capacity. For example if you specified a 400 kW inverter capacity, but the time series data indicates the system rarely operates at that level, you could try reducing the number of inverters to model a system with 315 kW of inverter capacity to reduce the system's installation cost. + Display the Hourly Energy variable. This is the system's AC output in kWh/h. You can use this information to decide whether to reduce the inverter capacity. For example if you specified a 400 kW inverter capacity, but the time series data indicates the system rarely operates at that level, you could try reducing the number of inverters to model a system with 315 kW of inverter capacity to reduce the system's installation cost. -Display the Subarray 1 open circuit voltage and operating voltage variables. You can use these to verify that the array voltage does not exceed your design voltage limits. + Display the Subarray 1 open circuit voltage and operating voltage variables. You can use these to verify that the array voltage does not exceed your design voltage limits. #. Adjust the numbers of inverters, modules per string, and strings in parallel, and run more simulations until you are satisfied with the cost and performance of the system. .. _autosize: -Estimate Subarray 1 Configuration -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Specify Desired Size and DC/AC Ratio +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + This option is appropriate for very preliminary analyses to get a rough idea of a system's annual output, or as a first step in determining the number of modules per string, strings in parallel, and number of inverters for your system. .. note:: SAM's array sizing calculator works best for systems with a nameplate DC capacities of greater than about 20 kW. In only works for systems with one subarray (Subarray 1). -The array sizing calculator estimates the number of modules and inverters required for the array size and DC-to-AC ratio that you specify. It uses the nominal specifications of the modules and inverters from the :doc:`Module ` and :doc:`Inverter ` pages to calculate values for the numbers of modules per string, strings in parallel, and inverters. Because SAM makes the calculation before running a simulation, it has no information about the expected output of the array for these calculations. However, SAM does display :doc:`notices <../results/notices>` based on the expected output of the photovoltaic array and inverter that you can use to refine the array size. +The array sizing calculator estimates the number of modules and inverters required for the array size and DC to AC ratio that you specify. It uses the nominal specifications of the modules and inverters from the :doc:`Module ` and :doc:`Inverter ` pages to calculate values for the numbers of modules per string, strings in parallel, and inverters. Because SAM makes the calculation before running a simulation, it has no information about the expected output of the array for these calculations. However, SAM does display :doc:`notices <../results/notices>` based on the expected output of the photovoltaic array and inverter that you can use to refine the array size. -To size the photovoltaic array with the array sizing assistant: +**To size the photovoltaic array with the array sizing calculator:** #. Choose an inverter or specify its parameters on the :doc:`Inverter ` page. (For microinverters, see :ref:`Modeling Microinverters `.) #. Choose a module or specify its parameters on the :doc:`Module ` page. -#. On the :doc:`pv_system_size` page, under **AC Sizing**, check **Estimate Subarray 1 configuration**.. +#. On the :doc:`pv_system_size` page, under **System Size**, choose **Specify desired size and DC/AC ratio**. -#. Type the array DC capacity value in kilowatts for **Desired array size**. +#. For **Desired array size**, type the array DC capacity value in DC kilowatts. -#. Type the ratio of DC array capacity to AC inverter capacity for **Desired DC to AC ratio**. +#. For **Desired DC to AC ratio**, type the ratio of DC array capacity to AC inverter capacity. -SAM calculates and displays values for **Modules per String**, **Strings in Parallel**, and **Number of Inverters** + SAM calculates and displays values for **Modules per String**, **Strings in Parallel**, and **Number of Inverters** -#. Verify that **Nameplate Capacity** under **Modules** and **Total capacity** under **Inverters** are acceptably close to the desired values, and check the sizing messages for any information to help you adjust your assumptions. +#. Verify that the calculated values in blue boxes for **Nameplate DC capacity**, **DC to AC ratio**, and **Total AC Capacity** acceptably close to the desired values, and check the sizing messages for any information to help you adjust your assumptions. -If the capacity is not as close to the desired value, you can try choosing a slightly smaller or larger module or inverter to get closer to the desired capacity. Because these capacity values are based on a multiple of the module and inverter capacities, SAM will probably not be able to suggest a system with your exact nameplate capacity value. + If the capacity is not as close to the desired value, you can try choosing a slightly smaller or larger module or inverter to get closer to the desired capacity. Because these capacity values are based on a multiple of the module and inverter capacities, SAM will probably not be able to suggest a system with your exact nameplate capacity value. #. If the values for the inverter maximum DC voltage, or inverter minimum MPPT voltage and maximum MPPT voltage are zero, see the note below. -#. Under **Tracking & Orientation**, choose options to specify the module tracking, orientation and ground coverage ratio as applicable. +#. On the :doc:`pv_tracking_layout_land` page, under **Tracking & Orientation**, choose options to specify the module tracking, orientation. + +#. Under **Row Dimensions and Spacing**, type a value for the ground coverage ratio (GCR) as applicable. -#. On the Losses page, specify any DC or AC losses. You can use default values if you do not have specific loss values for your system design. +#. On the :doc:`pv_electrical_losses` page, specify any DC or AC losses. You can use default values if you do not have specific loss values for your system design. .. _pv-sizingalgorithm: PV Array Sizing Calculator Algorithm -.................................... +------------------------------------ The array sizing calculator uses the following algorithm to determine the number of modules and inverters in the array: @@ -265,19 +291,13 @@ The array sizing calculator uses the following algorithm to determine the number #. Calculate the number of strings in parallel required to meet the desired array capacity. -#. Calculate the number of inverters required to meet the DC-to-AC ratio you specify. +#. Calculate the number of inverters required to meet the DC to AC ratio you specify. The algorithm uses the following rules to size the array: * The string open circuit voltage (Voc) is less than the inverter's maximum DC voltage. -* The ratio of the array's nameplate capacity in DC kW to the inverter total capacity in AC kW is close to the DC-to-AC ratio that you specify. - -For the inverters in the CEC database with missing voltage limits: - -* If the inverter minimum MPPT voltage and maximum MPPT voltage values are not available, then the number of modules per string is one. - -* If the inverter maximum DC voltage is not available, but the minimum and maximum MPPT voltage values are, then the number of modules in series is determined from the MPPT voltage limits and the module maximum power voltage (see flowchart for details). +* The ratio of the array's nameplate capacity in DC kW to the inverter total capacity in AC kW is close to the DC to AC ratio that you specify. .. image:: ../images/IMG_PVArray-sizing-flowchart.png :align: center @@ -310,4 +330,4 @@ Where * - *Nseries* - Number of modules in series * - *Nparallel* - - Number of strings in parallel * - \ No newline at end of file + - Number of strings in parallel diff --git a/doc/source/detailed-photovoltaic-model/pv_system_size.rst b/doc/source/detailed-photovoltaic-model/pv_system_size.rst index 9bdbd57f05..e0bced9010 100644 --- a/doc/source/detailed-photovoltaic-model/pv_system_size.rst +++ b/doc/source/detailed-photovoltaic-model/pv_system_size.rst @@ -18,7 +18,7 @@ If you just want to quickly size the system for an array with a single subarray, #. Type a value for **Desired DC to AC ratio**, or use the default value. SAM automatically calcualtes the total inverter capacity. For example, given a 454 kWac inverter, for a 227 kWdc array with a DC to AC ratio of 1.2, the number of inverters is 2: *500 kWdc ÷ 227 kWdc = 2.2*. -#. If your system includes battery storage, configure the battery bank on the :doc:`../battery-storage/battery_storage_btm` page. +#. If your system includes battery storage, configure the battery bank on the Battery Cell and System page. See :ref:`pv-sizing` for configuration examples and detailed sizing instructions. @@ -199,7 +199,7 @@ If your system has one inverter and supports up to four maximum power point trac If your system has one inverter and more than four MPPTs, model the system with one MPPT. Alternatively, depending on the design of your system, it may be possible to use a single MPPT number to represent a group of MPPTs in your system that are connected to modules with the same orientation, tracking, and shading. -If your system has more than one inverter and more than one subarray, SAM assumes that all inverters operate at the same voltage determined by a single MPPT. The inverter input voltage is either the average of the subarray voltages or calculated using an iterative method, depending on the method you choose for :ref:`the voltage mismatch option `. +If your system has more than one inverter and more than one subarray, SAM assumes that all inverters operate at the same voltage determined by a single MPPT. The inverter input voltage is either the average of the subarray voltages or calculated using an iterative method, depending on the method you choose for :ref:`pvmismatchoption`. See :doc:`pv_sizing_instructions` for more details and examples. diff --git a/doc/source/electricity-rates-and-load/electricity_bill_results.rst b/doc/source/electricity-rates-and-load/electricity_bill_results.rst index 2048637994..89e541de0b 100644 --- a/doc/source/electricity-rates-and-load/electricity_bill_results.rst +++ b/doc/source/electricity-rates-and-load/electricity_bill_results.rst @@ -3,10 +3,11 @@ Electricity Bill Results The electricity bill is the residential or commercial building owner's monthly electricity payment to the electric service provider. In order to calculate the value of the energy generated by the power system, SAM calculates the electricity bill with the system and the bill without the system. The savings is the difference between the two. SAM calculates the with and without system bill for the same electricity rate schedule as it is defined on the :doc:`Electricity Rates ` page: -  **With system:** The customer's electricity bill for an electric load met by power from both the renewable energy system and grid. +* **With system:** The customer's electricity bill for an electric load met by power from both the renewable energy system and grid. - ** Without system:** The customer's electricity bill if the entire load is met with grid power only. - .. note:: If you are modeling a rate switching scenario, where the electricity rate structure for the electricity bill without the system is different from the rate structure for the bill with the system, you can use the **Value of RE System** :doc:`macro <../reference/macros>` to specify two different electricity rates and calculate key metrics based on the results of two separate simulations. +* **Without system:** The customer's electricity bill if the entire load is met with grid power only. + +.. note:: If you are modeling a rate switching scenario, where the electricity rate structure for the electricity bill without the system is different from the rate structure for the bill with the system, you can use the **Value of RE System** :doc:`macro <../reference/macros>` to specify two different electricity rates and calculate key metrics based on the results of two separate simulations. .. _utility-bill-metrics: @@ -61,17 +62,12 @@ The Data Tables tab shows data for the electricity bill with and without the sys Monthly Data / Electricity Rate Data by Year ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The Monthly Data list on the Data Tables tab shows monthly totals that SAM uses for electricity bill calculations. - - .. note:: The monthly electricity bill may be negative in some situations when the value of electricity credits is more than the electricity bill. SAM treats the negative bill as savings in the project cash flow. - - -.. note:: SAM uses the following method to calculate monthly and annual kWh totals from kW time series data: + SAM uses the following method to calculate monthly and annual kWh totals from kW time series data: - -.. note:: *  Monthly Total (kWh) = SUM OVER MONTH( Time Series Value (kW/time step) × Time Steps per Hour (1/h) )* + *Monthly Total (kWh) = SUM OVER MONTH( Time Series Value (kW/time step) × Time Steps per Hour (1/h) )* @@ -79,11 +75,11 @@ The Monthly Data list on the Data Tables tab shows monthly totals that SAM uses For the buy all / sell all metering option, the dollar value of monthly electricity sales. Set to zero for the net metering and net billing options. **Billing demand (kW)** -A value in kW representing the billable peak demand over a given period. + A value in kW representing the billable peak demand over a given period. -The billing demand may be the maximum consumption over a month, over a time-of-use period and tier within a month, or over a lookback period of more than one month. + The billing demand may be the maximum consumption over a month, over a time-of-use period and tier within a month, or over a lookback period of more than one month. -The billing demand may equal to the actual maximum consumption over the period, or calculated as a percentage of the actual maximum consumption. + The billing demand may equal to the actual maximum consumption over the period, or calculated as a percentage of the actual maximum consumption. **Demand charge ($)** The demand charge component of the monthly electricity bill. The total electricity bill includes both a fixed demand charge and TOU demand charge. @@ -153,6 +149,7 @@ The billing demand may equal to the actual maximum consumption over the period, Hourly / n Minute Data ~~~~~~~~~~~~~~~~~~~~~~ + The Hourly or *n* Minute Data list depends on the simulation time step. For hourly simulations, SAM displays an Hourly Data list. For subhourly simulations, it displays the simulation time step. For example, for 15-minute simulations it displays a 15 Minute Data list. In time series results (hourly or subhourly), some electricity bill values are in the last hour of each month: @@ -164,7 +161,7 @@ In time series results (hourly or subhourly), some electricity bill values are i **Bill load (kWh)** The load values used for energy charge and credit calculations. These values are converted to kilowatt-hour (kWh) from the electricity load data kilowatt (kW) values: -*Bill Load (kWh) = Electricity Load (kW) × Simulation Time Stem (minutes) ÷ 60 minutes* + *Bill Load (kWh) = Electricity Load (kW) × Simulation Time Stem (minutes) ÷ 60 minutes* **Demand charge with system ($)** The demand charge amount, shown in the last hour of the month. @@ -215,6 +212,7 @@ In time series results (hourly or subhourly), some electricity bill values are i Electricity Rate Data by Tier and Period ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + The Electricity Rate Data by Tier and Period list shows data used to calculate the energy charge portion of the electricity bill for each month when the rate structure includes time-of-use (TOU) periods and/or tiers. **Electricity exports with system MMM (kWh)** @@ -230,12 +228,13 @@ The Electricity Rate Data by Tier and Period list shows data used to calculate t Electricity Demand Data by Period ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + The Electricity Demand Data by period list shows data used to calculate demand charge portion of the electricity bill for each month when the rate structure includes demand charges. **Demand peak charge ($)** The portion of the demand charge assessed for each time-of-use period in each month. The total demand charge for each month is the sum of demand charges by time-of-use period. **Demand peak (kW)** -The peak demand value that SAM uses to calculate the demand charge for each time-of-use period by month. For demand rates with time-of-use periods, SAM calculates the billing demand for each time-of-use period. + The peak demand value that SAM uses to calculate the demand charge for each time-of-use period by month. For demand rates with time-of-use periods, SAM calculates the billing demand for each time-of-use period. -If billing demand lookback is enabled on the Electricity Rates page, the billing demand for a given time-of-use period or tier may be different than the actual maximum consumption depending on the lookback parameters on the Electricity Rates page. \ No newline at end of file + If billing demand lookback is enabled on the Electricity Rates page, the billing demand for a given time-of-use period or tier may be different than the actual maximum consumption depending on the lookback parameters on the Electricity Rates page. diff --git a/doc/source/electricity-rates-and-load/electricity_load.rst b/doc/source/electricity-rates-and-load/electricity_load.rst index fbe80bfa9d..611206bef4 100644 --- a/doc/source/electricity-rates-and-load/electricity_load.rst +++ b/doc/source/electricity-rates-and-load/electricity_load.rst @@ -17,11 +17,9 @@ There are three options for specifying the building or facility's electric load: .. note:: You can use the Download Electric Load :doc:`macro <../reference/macros>` to automatically import reference residential and commercial building load data from the `Commercial and Residential Hourly Load Profiles for all TMY3 Locations in the United States `__ to SAM. + For estimates of roof area available for different commercial building types, see the table at https://www.energy.gov/eere/buildings/commercial-reference-buildings and divide the total building area by the number of floors. -.. note:: For estimates of roof area available for different commercial building types, see the table at https://www.energy.gov/eere/buildings/commercial-reference-buildings and divide the total building area by the number of floors. - - -.. note:: If you are modeling a project with critical loads, specify the critical load on the :doc:`Grid Outage <../grid/grid_outage>` page. + If you are modeling a project with critical loads, specify the critical load on the :doc:`Grid Outage <../grid/grid_outage>` page. .. _inputs: @@ -30,7 +28,7 @@ Input Time Series Load Data The Input Time Series Load Data option allows you to import hourly or subhourly load data from a text file, or copy and paste it from a spreadsheet or other program. It also provides an option for scaling the load data to better match the building's load or values from an electricity bill. Hourly or Subhourly Load Profile -................................ +-------------------------------- **Electric load power, kW** Click **Edit array** to either cut and paste load data from another program or import data from a properly formatted text file. See :ref:`Working with Time Series Load Data ` for instructions. @@ -42,10 +40,20 @@ Hourly or Subhourly Load Profile To calculate the scaled load data, SAM multiplies the hourly or subhourly load data you by the scaling factor that you specify. For example, if you specify a scaling factor of 1.5, and the load at 2 p.m. on March 18th is 1.2 kW, SAM would use a load value of 1.5 × 1.2 = 1.8 kW for that hour. -.. include:: ../includes/snip_load_annual_adjustment.rst +**Electric load annual growth rate, %/yr** + The load growth rate scales the load in years two and later by the percentage you specify. For example, if you specify a load growth rate of 0.5% per year, for each year in the analysis period specified on the :doc:`Financial Parameters <../financial-parameters/fin_overview>` page, SAM would increase the load value in each time step by 0.5% of the previous year's load value for the same time step. + + You can also assign load growth rates to specific years using the annual schedule: + +.. include:: /includes/snip_annual_values.rst + +**January 1 day of week** + By default, SAM assumes that January 1 is a Monday. + + If the energy or demand rates on the :doc:`electricity_rates` page involve different weekday and weekend rates, and if you are using a weather file for a specific year, you can change the January 1 day of week to the appropriate day for that year to ensure that the weekday and weekend rates are applied on the correct days. Adjust Load Profile to Monthly Usage -.................................... +------------------------------------ Sometimes the only information you have about a building or facility's electric usage is total monthly usage in kWh and perhaps peak usage in kW from a monthly electricity bill. In this case, you can use time series load data from a model or other source of data to approximate the daily load shape, and scale this data so that the monthly totals of your data match the usage data from the electricity bill. @@ -63,7 +71,7 @@ Sometimes the only information you have about a building or facility's electric Opens the :doc:`time series data viewer <../reference/time_series_viewer>` to display graphs of the load data. If you chose one of the options to scale load data, the graphs show both the original data and the scaled data so you can verify that the scaled data is suitable for your analysis. Download -........ +-------- Click **Download Electric Load Data** to download hourly load data for a selection residential or commercial building types. Clicking the button is the same as running the "Download Electric Load" macro from the Macros page, which you can access by clicking **Macros** under the simulate button. @@ -72,7 +80,7 @@ The macro downloads an hourly load file from the `Commercial and Residential Hou .. note:: The `End-Use Load Profiles for the U.S. Building Stock `__ provides access to thousands of 15-minute load profiles for many residential and commercial building types modeled using single-year NSRDB weather files for more recent years than the TMY3 data. You can use the `End Use Load Profiles Python package `__ to access the data to use with SAM. Because of the much larger number of load profiles and building types represented in the data, it is not possible to create a short list of building types to choose from in the same way as the macro does for the older dataset. An API for the newer dataset may be available in the future that will make this possible. Monthly Load Summary -.................... +-------------------- SAM displays the table of monthly and annual totals to help you verify that the load data is correct. SAM calculates these values from the time series load data. To change the monthly values, you have to either change the time series data, or change scaling factors. @@ -104,13 +112,13 @@ Calculate Load Data The calculate load data option for residential buildings allows you to use monthly electric bill data and basic building energy parameters to calculate an hourly load profile. You can use this option to estimate load data when you do not have access to more accurate data. Building Energy Load Profile Estimator -...................................... +-------------------------------------- The Building Energy Load Profile Estimator is a basic residential building model that calculates hourly electric load data given some simple building energy parameters, monthly electricity usage in kWh, and solar resource data from a weather file. .. note:: The Building Energy Load Profile Estimator generates a rough estimate of a residential building's electric load. Click **View load data** to see the data it generates and verify that it is suitable for your analysis before you run a simulation. In some cases, it may generate extreme peak values for some hours that you can either ignore or edit. -To use the estimator +**To use the estimator:** * Enter values and choose options to describe the residential building's basic energy performance. @@ -118,9 +126,23 @@ To use the estimator * Under **Monthly Load Data**, type monthly total electricity consumption values for one year's worth of electricity bills. -* Click **View load data** to open the :doc:`time series data viewer <../reference/time_series_viewer>` with the 8,760 hourly load profile generated by the estimator. +**January 1 day of week** + By default, SAM assumes that January 1 is a Monday. + + If the energy or demand rates on the :doc:`electricity_rates` page involve different weekday and weekend rates, and if you are using a weather file for a specific year, you can change the January 1 day of week to the appropriate day for that year to ensure that the weekday and weekend rates are applied on the correct days. + +**View load data** + Click **View load data** to open the :doc:`time series data viewer <../reference/time_series_viewer>` with the 8,760 hourly load profile generated by the estimator. + +Annual Adjustment +----------------- + +**Load growth rate, %/yr** + The load growth rate scales the load in years two and later by the percentage you specify. For example, if you specify a load growth rate of 0.5% per year, for each year in the analysis period specified on the :doc:`Financial Parameters <../financial-parameters/fin_overview>` page, SAM would increase the load value in each time step by 0.5% of the previous year's load value for the same time step. + + You can also assign load growth rates to specific years using the annual schedule: -.. include:: ../includes/snip_load_annual_adjustment.rst +.. include:: /includes/snip_annual_values.rst .. _electric-load-timeseries: @@ -157,7 +179,7 @@ Importing Data from a File SAM can import data from a text file that contains a single column of values representing the load in a single year. SAM ignores the first row, so you can use that row to store text describing the data. The number of rows depends on the number of time steps. For hourly data, the file should contain a total of 8,761 rows: The first row for header information, and the remaining rows for the load data. For 15-minute data, the file should contain 1 + 8760 x 4 = 35,041 rows. -To import load data from a properly formatted text file: +**To import load data from a properly formatted text file:** #. On the Electric Load page, choose the **Input Time Series Load Data** option. @@ -167,7 +189,7 @@ To import load data from a properly formatted text file: #. Navigate to the folder containing the load data file and open the file. -SAM displays the data in the data table. Use the scroll bar to see all of the data. + SAM displays the data in the data table. Use the scroll bar to see all of the data. #. Click **OK** to return to the Electric Load page. @@ -180,7 +202,7 @@ Pasting Load Data from your Computer's Clipboard If you have load data in a spreadsheet or other program that allows you to copy columns of data to your computer's clipboard, you can paste the data into SAM. The data should be a single column of values in kilowatt-hours representing the load in a single year. The number of rows depends on the number of time steps. For hourly data, the column should contain 8,760 rows of load data. -To paste load data from your computer's clipboard: +**To paste load data from your computer's clipboard:** #. On the Electric Load page, choose the **Input Time Series Load Data** option. @@ -190,6 +212,6 @@ To paste load data from your computer's clipboard: #. In SAM's Edit Data window, click **Paste**. -SAM displays the data in the data table. Use the scroll bar to see all of the data. + SAM displays the data in the data table. Use the scroll bar to see all of the data. #. Click **OK** to return to the Electric Load page. \ No newline at end of file diff --git a/doc/source/electricity-rates-and-load/electricity_purchases.rst b/doc/source/electricity-rates-and-load/electricity_purchases.rst index 88e72f3382..95afce55c6 100644 --- a/doc/source/electricity-rates-and-load/electricity_purchases.rst +++ b/doc/source/electricity-rates-and-load/electricity_purchases.rst @@ -13,18 +13,18 @@ SAM provides two options for defining the retail rate structure for electricity **Use PPA or market prices** The **Use PPA Price** option is for projects that purchase power at the same rate as the PPA price, adjusted as appropriate by time-of-delivery (TOD) multipliers and power price escalation rates. -.. note:: The Use PPA Price or Market Prices option is not available with **Specify IRR target** on the Revenue page (Financial Parameters page for Partnership Flip and Sale Leaseback financial models) because SAM needs to know the PPA price at the start of the simulation to calculate the cost of electricity purchases. + .. note:: The Use PPA Price or Market Prices option is not available with **Specify IRR target** on the Revenue page (Financial Parameters page for Partnership Flip and Sale Leaseback financial models) because SAM needs to know the PPA price at the start of the simulation to calculate the cost of electricity purchases. -.. note:: If you want to use the Specify IRR Target option with the PPA price as the price for electricity purchases, choose **Use retail electricity rate(s)**, define an energy rate table with one row, and set the buy rate to the PPA price. You may need to start with an initial guess for the PPA price and run iterative simulations to determine the PPA price. To use time series price data, check **Use hourly (subhourly) buy rates instead of TOU rates** and import the price data. + If you want to use the Specify IRR Target option with the PPA price as the price for electricity purchases, choose **Use retail electricity rate(s)**, define an energy rate table with one row, and set the buy rate to the PPA price. You may need to start with an initial guess for the PPA price and run iterative simulations to determine the PPA price. To use time series price data, check **Use hourly (subhourly) buy rates instead of TOU rates** and import the price data. **Use retail electricity rate(s)** The Use Retail Electricity Rate(s) option is for projects that purchase power at retail rates. You can define the retail buy rate as a fixed rate, a set of time-of-use rates with optional tiers, or a table of hourly or subhourly time-series buy rates. The retail rate structure may also include fixed and minimum charges and demand charges. You can specify the rate structure by hand or download rate data from the OpenEI Utility Rate Database. -.. note:: Only the **Buy all / sell all** metering option with no sell rate is available for electricity purchases. + .. note:: Only the **Buy all / sell all** metering option with no sell rate is available for electricity purchases. -.. note:: SAM uses the same inputs to define retail rates for electricity purchases as it does for behind-the-meter projects that may involve net metering and/or sell rates that are described in the retail rates documentation below. For the front-of-meter system, these inputs are disabled, so you can ignore the descriptions. + SAM uses the same inputs to define retail rates for electricity purchases as it does for behind-the-meter projects that may involve net metering and/or sell rates that are described in the retail rates documentation below. For the front-of-meter system, these inputs are disabled, so you can ignore the descriptions. Rate Structure Definitions ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -43,6 +43,7 @@ SAM's monthly electricity bill calculator includes the features listed below. Th OpenEI Utility Rate Database ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + NREL's Open Energy Information (OpenEI) `Utility Rate Database (URDB) `__ hosts a database of retail electricity rate structures for electric service providers in the United States and some other countries. SAM allows you to search the database and import rate structure data from the database to the input variables on the Electricity Rates page. SAM accesses `Version 8 of the URDB API `__. **Search for Rates** @@ -62,9 +63,9 @@ NREL's Open Energy Information (OpenEI) `Utility Rate Database (URDB) ` page, and degradation rate from the :doc:`Degradation <../degradation/degradation>` page. @@ -121,7 +126,7 @@ The escalation rate is an annual percentage increase that applies to the monthly In some cases, it may be appropriate to use an annual schedule to define a different escalation rate for each year. When you specify the escalation rate using an annual schedule, SAM applies only the escalation rate and excludes inflation from the calculation of out-year values. -To specify annual escalation rates (optional): +**To specify annual escalation rates (optional):** .. include:: ../includes/snip_annual_values.rst @@ -129,6 +134,7 @@ To specify annual escalation rates (optional): Description and Applicability ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + These variables help you identify the rate structure but do not affect simulation results. If you download rate structure data from the Utility Rate Database, SAM populates the variables automatically. **Name** @@ -152,6 +158,7 @@ These variables help you identify the rate structure but do not affect simulatio Energy Charges ~~~~~~~~~~~~~~ + SAM uses the information in the energy rate table and weekday and weekend schedules to calculate the energy charge portion of each month's electricity bill based on the quantity of electricity delivered to the battery from the grid over the month. Energy Rate Table @@ -164,7 +171,7 @@ Each row in the table defines the rates and tier limit for one period and tier. **Number of entries** The total number of energy rates in the structure, equal to the product of the number of time-of-use periods and tiers. The number of rows in the table is equal to the number of entries. When you change the number of entries, SAM changes the number of rows in the table. -.. note:: If you change the number of entries to a smaller number, you will lose data in the rows when SAM resizes the table. + .. note:: If you change the number of entries to a smaller number, you will lose data in the rows when SAM resizes the table. **Period (1-12)** Each period number represents a time-of-use period for energy charges. For example, for a simple rate structure with one summer period and one period, you could assign Period 1 to the summer months and Period 2 to the winter months. The time-of-use period must be a number between 1 and 12 and each period must be associated with a time defined by the :doc:`weekday and weekend schedules <../reference/weekday_schedule>` . @@ -188,7 +195,7 @@ Each row in the table defines the rates and tier limit for one period and tier. For maximum usage units of kWh/kW or kWh/kW daily, SAM calculates the energy charge for a given month from both the total consumption in kWh and billing demand in kW for each time-of-use period and tier in that month. See :ref:`Billing Demand ` for details. -.. note:: For rate structures that include tiers with kWh/kW or kWh/kW daily maximum usage units, the maximum usage units for Tier 1 must be kWh/kW. + .. note:: For rate structures that include tiers with kWh/kW or kWh/kW daily maximum usage units, the maximum usage units for Tier 1 must be kWh/kW. **Buy ($/kWh)** The price paid by the project in dollars per kilowatt-hour for electricity delivered by the grid for each period and tier. @@ -289,7 +296,7 @@ For a basic demand rate with no tiers, set the number of entries to 12 (one for For a demand rate structure with tiers, the number of entries should be the total number of tiers. The number of rows in the table is equal to the number of entries. When you change the number of entries, SAM changes the number of rows in the table. -.. note:: If you change the number of entries to a smaller number, you will lose data in the rows when SAM resizes the table. + .. note:: If you change the number of entries to a smaller number, you will lose data in the rows when SAM resizes the table. **Month** The month for the demand rate. For a flat demand rate structure with no tiers, the table should have one row for each month of the year. @@ -331,7 +338,7 @@ For a demand rate structure that varies with time of day and year with tiers, sp **Number of entries** The total number of time-of-use periods and tiers the demand rate structure. SAM sizes the table based on the number of entries.  The number of rows in the table is equal to the number of entries. When you change the number of entries, SAM changes the number of rows in the table. -.. note:: If you change the number of entries to a smaller number, you will lose data in the rows when SAM resizes the table. + .. note:: If you change the number of entries to a smaller number, you will lose data in the rows when SAM resizes the table. **Period (1-12)** The time-of-use period must be a number between 1 and 12, and must also be defined in the either the :doc:`weekday or weekend schedule <../reference/weekday_schedule>` . If tiers apply to a time-of-use period, assign the same period number to each tier in the period. @@ -345,4 +352,4 @@ For a demand rate structure that varies with time of day and year with tiers, sp The peak demand for the tier and period. **Charge ($/kW)** - The demand rate that applies to the tier and period. \ No newline at end of file + The demand rate that applies to the tier and period. diff --git a/doc/source/electricity-rates-and-load/electricity_rates.rst b/doc/source/electricity-rates-and-load/electricity_rates.rst index 419aa8223c..714838173c 100644 --- a/doc/source/electricity-rates-and-load/electricity_rates.rst +++ b/doc/source/electricity-rates-and-load/electricity_rates.rst @@ -11,10 +11,7 @@ In order to calculate the electricity bill savings, SAM calculates the both the .. note:: If you are modeling a rate switching scenario, where the electricity rate structure for the electricity bill without the system is different from the rate structure for the bill with the system, you can use the **Value of RE** :doc:`macro <../reference/macros>` to specify two different electricity rates and calculate key metrics based on the results of two separate simulations. -Electricity Rates and Self Consumption -...................................... - -For photovoltaic systems with inverters that consume power at night or concentrating power systems (CSP) with night-time parasitic loads, the system may generate net negative power at night or during other times that the system is not generating power. For behind-the-meter projects, the cost of this power is included in the energy charge portion of the monthly electricity bill. For front-of-meter projects with or without batteries, the cost of this power is treated as a tax-deductible operating expense at prices determined by inputs on the :doc:`Electricity Purchases ` page. + For photovoltaic systems with inverters that consume power at night or concentrating power systems (CSP) with night-time parasitic loads, the system may generate net negative power at night or during other times that the system is not generating power. For behind-the-meter projects, the cost of this power is included in the energy charge portion of the monthly electricity bill. For front-of-meter projects with or without batteries, the cost of this power is treated as a tax-deductible operating expense at prices determined by inputs on the :doc:`Electricity Purchases ` page. .. _electricity-rates-overview: @@ -25,13 +22,13 @@ SAM's rate structure model is designed to have enough detail to model most featu .. note:: SAM can import retail electricity rate data from the online `OpenEI Utility Rate Database `__ database. -.. note:: All rates and charges on the Electricity Rates page are in Year 1 dollars. SAM applies both the inflation rate from the :doc:`Financial Parameters <../financial-parameters/fin_overview>` page and the optional electricity bill escalation rate to calculate the electricity bill in Years 2 and later. + All rates and charges on the Electricity Rates page are in Year 1 dollars. SAM applies both the inflation rate from the :doc:`Financial Parameters <../financial-parameters/fin_overview>` page and the optional electricity bill escalation rate to calculate the electricity bill in Years 2 and later. -.. note:: The electricity rate calculations work with the data from the :doc:`Electric Load ` page. Be sure to specify a load that is appropriate for your project. Choose the No Load option on the Electric Load page only if your project sells all of the power it generates at the sell rates specified on the Electricity Rates page. The No Load option in combination with net metering results in a project that sells no power because the sell rate is set to zero for net metering. + The electricity rate calculations work with the data from the :doc:`Electric Load ` page. Be sure to specify a load that is appropriate for your project. Choose the No Load option on the Electric Load page only if your project sells all of the power it generates at the sell rates specified on the Electricity Rates page. The No Load option in combination with net metering results in a project that sells no power because the sell rate is set to zero for net metering. -.. note:: The electricity bill does not affect the project's :doc:`levelized cost of energy (LCOE) <../financial-metrics/mtf_lcoe>`, because the LCOE accounts for the cost of installing and operating the renewable energy system, but not the cost supplying electricity to the building or facility. The electricity bill does affect the project :doc:`net present value (NPV) <../financial-metrics/mtf_npv>`, :doc:`payback period <../financial-metrics/mtf_payback>`, and :doc:`net savings <../financial-metrics/mtf_revenues>`. + The electricity bill does not affect the project's :doc:`levelized cost of energy (LCOE) <../financial-metrics/mtf_lcoe>`, because the LCOE accounts for the cost of installing and operating the renewable energy system, but not the cost supplying electricity to the building or facility. The electricity bill does affect the project :doc:`net present value (NPV) <../financial-metrics/mtf_npv>`, :doc:`payback period <../financial-metrics/mtf_payback>`, and :doc:`net savings <../financial-metrics/mtf_revenues>`. -.. note:: SAM assumes that the first day of the year is Monday, January 1 and does not account for leap years or for daylight savings time. (The last day is Monday, December 31). + SAM assumes that the first day of the year is Monday, January 1 and does not account for leap years or for daylight savings time. (The last day is Monday, December 31). .. _electricity-rates-glossary: @@ -51,7 +48,7 @@ The language used to describe electricity rate structures and compensation for e SAM reports excess generation for the net energy metering option as **Excess generation** in kilowatt-hours per month. For the net billing options that calculate excess generation on a time step basis, SAM reports excess generation as **Electricity to grid from system** in kilowatts for each time step. -.. note:: SAM reports both **Excess generation** and **Electricity to grid from system** regardless of the billing option. Keep in mind that **Excess generation** is only used in the bill calculation for the net energy metering option and **Electricity to grid from system** is only used for the net billing options. + .. note:: SAM reports both **Excess generation** and **Electricity to grid from system** regardless of the billing option. Keep in mind that **Excess generation** is only used in the bill calculation for the net energy metering option and **Electricity to grid from system** is only used for the net billing options. **Flat rate** A constant rate that does not change with hour of day or month of year. @@ -167,8 +164,7 @@ OpenEI Utility Rate Database NLR's Open Energy Information (OpenEI) `Utility Rate Database (URDB) `__ hosts a database of retail electricity rate structures for electric service providers in the United States and some other countries. SAM allows you to search the database and import rate structure data from the database to the input variables on the Electricity Rates page. SAM accesses `Version 8 of the URDB API `__. **Search for Rates** - - Click to search the OpenEI database for a rate structure and import the structure into SAM. This feature requires a :doc:`web connection <../reference/configure_proxy_server>` : + Click to search the OpenEI database for a rate structure and import the structure into SAM. This feature requires a :doc:`web connection <../reference/configure_proxy_server>`: #. In the OpenEI Utility Rate Database window, once the list of electric service providers appears, type either a zip code in **Zip code** or a few letters of the service provider's name in **Filter** to show providers who meet the criteria you typed. @@ -184,9 +180,9 @@ NLR's Open Energy Information (OpenEI) `Utility Rate Database (URDB) ` does not reflect the annual minimum charge. + Like all of the dollar values on the Electricity Rates page, the minimum charge amounts are Year 1 values. If you apply an annual minimum charge, the monthly electricity bill with system data shown in the :doc:`Results ` does not reflect the annual minimum charge. Annual Escalation ~~~~~~~~~~~~~~~~~ @@ -284,7 +280,7 @@ The escalation rate is an annual percentage increase that applies to the monthly In some cases, it may be appropriate to use an annual schedule to define a different escalation rate for each year. When you specify the escalation rate using an annual schedule, SAM applies only the escalation rate and excludes inflation from the calculation of out-year values. -To specify annual escalation rates (optional): +**To specify annual escalation rates (optional):** .. include:: ../includes/snip_annual_values.rst @@ -331,7 +327,7 @@ Each row in the table defines the rates and tier limit for one period and tier. **Number of entries** The total number of energy rates in the structure, equal to the product of the number of time-of-use periods and tiers. The number of rows in the table is equal to the number of entries. When you change the number of entries, SAM changes the number of rows in the table. -.. note:: If you change the number of entries to a smaller number, you will lose data in the rows when SAM resizes the table. + .. note:: If you change the number of entries to a smaller number, you will lose data in the rows when SAM resizes the table. **Period (1-36)** Each period number represents a time-of-use period for energy charges. For example, for a simple rate structure with one summer period and one period, you could assign Period 1 to the summer months and Period 2 to the winter months. The time-of-use period must be a number between 1 and 36 and each period must be associated with a time defined by the :doc:`weekday and weekend schedules <../reference/weekday_schedule>` . @@ -355,7 +351,7 @@ Each row in the table defines the rates and tier limit for one period and tier. For maximum usage units of kWh/kW or kWh/kW daily, SAM calculates the energy charge for a given month from both the total consumption in kWh and billing demand in kW for each time-of-use period and tier in that month. See :ref:`Billing Demand ` for details. -.. note:: For rate structures that include tiers with kWh/kW or kWh/kW daily maximum usage units, the maximum usage units for Tier 1 must be kWh/kW. + .. note:: For rate structures that include tiers with kWh/kW or kWh/kW daily maximum usage units, the maximum usage units for Tier 1 must be kWh/kW. **Buy ($/kWh)** The price paid by the project in dollars per kilowatt-hour for electricity delivered by the grid for each period and tier. @@ -391,7 +387,7 @@ For a **simple rate structure with no time-of-use periods or tiers**: * Use Period 1 Tier 1 to define the buy and sell rates. -For the single meter with rollover metering options (net metering), SAM ignores the sell rate, but you should set it to zero to avoid confusion. + For the single meter with rollover metering options (net metering), SAM ignores the sell rate, but you should set it to zero to avoid confusion. * Set the time-of-use periods for all months and hours in the Weekday and Weekend schedules to 1. @@ -399,7 +395,7 @@ For the single meter with rollover metering options (net metering), SAM ignores :align: center :alt: SS_UtilityRate-simple-flat-rate.png -For a rate structure with** time-of-use rates but no tiered rates**, set the number of entries to the number of time-of-use periods, and assign buy and sell rates *only to Tier 1* of each of up to twelve time-of-use periods in the schedule, and set the maximum usage value to a very large number (1e+038 is the largest number SAM will accept). Then, use the Weekday and Weekend schedules to define the time of day and year that each time-of-use period applies. This example has three time-of-use periods: +For a rate structure with **time-of-use rates but no tiered rates**, set the number of entries to the number of time-of-use periods, and assign buy and sell rates *only to Tier 1* of each of up to twelve time-of-use periods in the schedule, and set the maximum usage value to a very large number (1e+038 is the largest number SAM will accept). Then, use the Weekday and Weekend schedules to define the time of day and year that each time-of-use period applies. This example has three time-of-use periods: .. image:: ../images/SS_UtilityRate-simple-tou-rate.png :align: center @@ -451,9 +447,9 @@ For rate structures that calculate billing demand based on consumption in previo **Edit values** to enter the peak load in kW for each month in Year 0. -.. note:: If you clear the Use Monthly Peaks from Year 1 option and change the load on the Electric Load page, be sure to also change the Year 0 values as appropriate. + .. note:: If you clear the Use Monthly Peaks from Year 1 option and change the load on the Electric Load page, be sure to also change the Year 0 values as appropriate. -This option is only available for behind-the-meter projects with the Input Time Series Load Data option enabled on the Electric Load page. + This option is only available for behind-the-meter projects with the Input Time Series Load Data option enabled on the Electric Load page. **Monthly peak demand in Year 0, kW** The monthly peak demand for the year before the renewable energy system is installed. SAM starts the cash flow calculation on January 1 of Year 1, which is the first year that the system generates power, so it does not have information about the load in the previous year. @@ -486,7 +482,7 @@ The Billing Demand by Time-of-use Period table applies when the rate structure i **Included in Billing Demand (0/1)** For each time-of-use period, assign a 1 to include consumption in that period in the billing demand calculation. Assign a zero to exclude consumption in that period from the billing demand calculation. -.. note:: You must assign a 1 to at least one time-of-use period for the demand charge calculations to work correctly, even if the **Charge ($/kW)** column in the Demand Rates by Time-of-use Period and/or Tiers table is set to zero.. note:: for all periods. +.. note:: You must assign a 1 to at least one time-of-use period for the demand charge calculations to work correctly, even if the **Charge ($/kW)** column in the Demand Rates by Time-of-use Period and/or Tiers table is set to zero for all periods. .. _electricity-rates-demand: @@ -516,7 +512,7 @@ For a basic demand rate with no tiers, set the number of entries to 12 (one for For a demand rate structure with tiers, the number of entries should be the total number of tiers. The number of rows in the table is equal to the number of entries. When you change the number of entries, SAM changes the number of rows in the table. -.. note:: If you change the number of entries to a smaller number, you will lose data in the rows when SAM resizes the table. + .. note:: If you change the number of entries to a smaller number, you will lose data in the rows when SAM resizes the table. **Month** The month for the demand rate. For a flat demand rate structure with no tiers, the table should have one row for each month of the year. @@ -558,7 +554,7 @@ For a demand rate structure that varies with time of day and year with tiers, sp **Number of entries** The total number of time-of-use periods and tiers the demand rate structure. SAM sizes the table based on the number of entries.  The number of rows in the table is equal to the number of entries. When you change the number of entries, SAM changes the number of rows in the table. -.. note:: If you change the number of entries to a smaller number, you will lose data in the rows when SAM resizes the table. + .. note:: If you change the number of entries to a smaller number, you will lose data in the rows when SAM resizes the table. **Period (1-12)** The time-of-use period must be a number between 1 and 12, and must also be defined in the either the :doc:`weekday or weekend schedule <../reference/weekday_schedule>` . If tiers apply to a time-of-use period, assign the same period number to each tier in the period. @@ -589,4 +585,4 @@ See :doc:`Weekday Weekend Schedules <../reference/weekday_schedule>` for detaile The time-of-day and month-of-year matrix that assigns a period representing set of time-of-use rates to the five working days of the week. For electricity bill calculations, SAM assumes that weekdays are Monday through Friday and that the year begins on Monday, January 1, in the hour ending at 1:00 am. **Weekend** - The time-of-day and month-of-year matrix that assigns time-of-use periods to the two weekend days of the week: Saturday and Sunday. \ No newline at end of file + The time-of-day and month-of-year matrix that assigns time-of-use periods to the two weekend days of the week: Saturday and Sunday. diff --git a/doc/source/electricity-rates-and-load/electricity_rates_load.rst b/doc/source/electricity-rates-and-load/electricity_rates_load.rst deleted file mode 100644 index 419ba71899..0000000000 --- a/doc/source/electricity-rates-and-load/electricity_rates_load.rst +++ /dev/null @@ -1,12 +0,0 @@ -Electricity Rates and Load -========================== - -For projects with the :ref:`residential or commercial ` or :ref:`third party ownership ` financial model that buy and sell electricity at retail rates, you specify a rate structure (net metering, energy rates, demand charges, and monthly charges) on the :doc:`Electricity Rates ` page, and a building or facility load on the :doc:`Electric Load ` page. - -* :doc:`Electric Load ` - - -* :doc:`Electricity Rates ` - - -* :doc:`Electricity Bill Results ` diff --git a/doc/source/electricity-rates-and-load/index.rst b/doc/source/electricity-rates-and-load/index.rst index d529de04ad..ed45eff4ff 100644 --- a/doc/source/electricity-rates-and-load/index.rst +++ b/doc/source/electricity-rates-and-load/index.rst @@ -1,9 +1,18 @@ Electricity Rates and Load ========================== +For projects with the :ref:`residential or commercial ` or :ref:`third party ownership ` financial model that buy and sell electricity at retail rates, you specify a rate structure (net metering, energy rates, demand charges, and monthly charges) on the :doc:`Electricity Rates ` page, and a building or facility load on the :doc:`Electric Load ` page. + +* :doc:`Electric Load ` + + +* :doc:`Electricity Rates ` + + +* :doc:`Electricity Bill Results ` + .. toctree:: - electricity_rates_load electricity_load electricity_rates electricity_purchases diff --git a/doc/source/fuel-cell/fuelcell.rst b/doc/source/fuel-cell/fuelcell.rst index 8dea5d03a1..97aa2fd4f3 100644 --- a/doc/source/fuel-cell/fuelcell.rst +++ b/doc/source/fuel-cell/fuelcell.rst @@ -13,7 +13,7 @@ The fuel cell performance model uses the following input pages to describe the c * :doc:`Fuel cell ` model that converts a fuel into electricity, heat, and hydrogen. -* :doc:`PVWatts ` for a photovoltaic (PV) system. +* :doc:`PVWatts <../pvwatts/pvwatts>` for a photovoltaic (PV) system. * Optional :doc:`battery storage <../battery-storage/battery_storage>` model for an electric storage system. diff --git a/doc/source/fuel-cell/fuelcell_dispatch.rst b/doc/source/fuel-cell/fuelcell_dispatch.rst index 7e905d8825..b97151db85 100644 --- a/doc/source/fuel-cell/fuelcell_dispatch.rst +++ b/doc/source/fuel-cell/fuelcell_dispatch.rst @@ -11,7 +11,7 @@ Fuel Cell Operation The fuel cell operation parameters determine the fuel cell operates. Dispatch Options -................ +---------------- **Fixed output** Operate the fuel cell at a fixed percentage of the fuel cell rated capacity at all times. @@ -36,7 +36,7 @@ Dispatch Options For the input dispatch option, click **Edit array** to provide a time series array of either kW or percentage values at which to operate the fuel cell in each simulation time step. Operation Options -................. +----------------- **Allowed to shut down** Allow the fuel cell to shut down completely when it is not not needed to meet dispatch requirements. @@ -44,13 +44,4 @@ Operation Options **Idle at minimum power** Run the fuel cell at the minimum unit output from the :doc:`Fuel Cell ` page when it is not needed to meet dispatch requirements. -Storage Battery Dispatch (Behind Meter) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. include:: ../includes/snip_battery_dispatch_btm.rst - -Storage Battery Dispatch (Front of Meter) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. include:: ../includes/snip_battery_dispatch_fom.rst diff --git a/doc/source/fuel-cell/fuelcell_pv_system.rst b/doc/source/fuel-cell/fuelcell_pv_system.rst deleted file mode 100644 index eca87dc64c..0000000000 --- a/doc/source/fuel-cell/fuelcell_pv_system.rst +++ /dev/null @@ -1,7 +0,0 @@ -PV System -========= - -The PV System page is where you define the parameters of the photovoltaic system, which includes the photovoltaic array and inverter. The fuel cell model uses an implementation of PVWatts to represent the photovoltaic system. - -.. include:: ../includes/snip_pvwatts_system_design.rst - diff --git a/doc/source/fuel-cell/index.rst b/doc/source/fuel-cell/index.rst index b2fd898afd..2e1591d4ea 100644 --- a/doc/source/fuel-cell/index.rst +++ b/doc/source/fuel-cell/index.rst @@ -4,6 +4,5 @@ Fuel Cell .. toctree:: fuelcell - fuelcell_pv_system fuelcell_fuel_cell fuelcell_dispatch \ No newline at end of file diff --git a/doc/source/geothermal/geo_ambient_conditions.rst b/doc/source/geothermal/geo_ambient_conditions.rst index c1e57e0228..34f219cd8f 100644 --- a/doc/source/geothermal/geo_ambient_conditions.rst +++ b/doc/source/geothermal/geo_ambient_conditions.rst @@ -11,4 +11,23 @@ The geothermal performance model runs a simulation over the life of the plant (d * For an hourly simulation (**Power Block Hourly** option on the :doc:`Power Block ` page), SAM reads hourly data from the weather file, and uses it to represent ambient conditions in each hour for each year of the analysis period. For example, for an analysis period of 30 years, SAM would use the same temperature, pressure, and humidity values for each July 2nd at 2 pm for each of the 30 years. -* For a monthly simulation (**Power Block Monthly** option on the :doc:`Power Block ` page), SAM calculates average temperature, pressure, and humidity values from the hourly values in the weather file, and uses them to represent the average ambient conditions for each month of the year. SAM uses the same set of twelve monthly average values for each year of the plant's life. \ No newline at end of file +* For a monthly simulation (**Power Block Monthly** option on the :doc:`Power Block ` page), SAM calculates average temperature, pressure, and humidity values from the hourly values in the weather file, and uses them to represent the average ambient conditions for each month of the year. SAM uses the same set of twelve monthly average values for each year of the plant's life. + +.. note:: The geothermal model uses weather data from a weather file formatted in the :doc:`SAM CSV for solar format <../weather-file-formats/weather_format_sam_csv_solar>`. The inputs on the Ambient Conditions page are the same as those on the Location and Resource page of SAM's solar power models and use nomenclature from the solar power models. + +.. include:: ../includes/snip_location_resource.rst + +Download Weather Files +~~~~~~~~~~~~~~~~~~~~~~ + +.. include:: ../includes/snip_download_weather_files.rst + +Choose Weather File +~~~~~~~~~~~~~~~~~~~ + +.. include:: ../includes/snip_choose_weather_file.rst + +Weather Data Information +~~~~~~~~~~~~~~~~~~~~~~~~ + +.. include:: ../includes/snip_weather_data_information.rst diff --git a/doc/source/getting-started/getting_started.rst b/doc/source/getting-started/getting_started.rst index 9cd548aaf0..2019581288 100644 --- a/doc/source/getting-started/getting_started.rst +++ b/doc/source/getting-started/getting_started.rst @@ -3,16 +3,13 @@ Getting Started The following procedure describes the basic steps to set up and run a simulation of a project. -See also: - -* :doc:`Financial Models <../introduction/fin_overview>` - - -* :doc:`Performance Models <../introduction/technology_options>` +.. seealso:: + * :doc:`Financial Models <../introduction/fin_overview>` + * :doc:`Performance Models <../introduction/technology_options>` 1. Create a project -................... +~~~~~~~~~~~~~~~~~~~ When you start SAM, it displays the :doc:`Welcome page ` with several options for creating or opening a file. @@ -23,7 +20,7 @@ To :doc:`create a project `, **Start a new project**. :alt: SS_Welcome_CreateNewFile.png 2. Choose models -................ +~~~~~~~~~~~~~~~~ Your project is made up of a :doc:`performance model <../introduction/technology_options>` for the power system and an optional :doc:`financial model <../introduction/fin_overview>` for the project's financial structure. @@ -36,14 +33,14 @@ To :doc:`choose models <../getting-started/choose_models>`, click the performanc When you choose a financial model, and click **OK**, SAM creates a new file and populates all of the input variables with values from the default values database. 3. Review inputs -................ +~~~~~~~~~~~~~~~~ After creating your file, open each input page and review the default assumptions. See :doc:`Input Pages ` for details. 4. Run a simulation -................... +~~~~~~~~~~~~~~~~~~~ To run a simulation, click **Simulate** at the bottom left of the main window. @@ -54,7 +51,7 @@ To run a simulation, click **Simulate** at the bottom left of the main window. See :doc:`Run Simulation <../getting-started/run_simulations>` for details. 5. Review results -................. +~~~~~~~~~~~~~~~~~ When simulations are complete, SAM displays a summary of results in the Metric table. diff --git a/doc/source/getting-started/welcome_page.rst b/doc/source/getting-started/welcome_page.rst index f621d9c3f5..56a9a14184 100644 --- a/doc/source/getting-started/welcome_page.rst +++ b/doc/source/getting-started/welcome_page.rst @@ -9,7 +9,7 @@ When you start SAM, it displays the Welcome page with options for starting your :align: center :alt: SS_Welcome_Window.png -To start a new project: +**To start a new project:** #. Click **Start a new project**. diff --git a/doc/source/high-concentration-photovoltaic/hcpv_location_and_resource.rst b/doc/source/high-concentration-photovoltaic/hcpv_location_and_resource.rst index 3748d2d102..036cc77037 100644 --- a/doc/source/high-concentration-photovoltaic/hcpv_location_and_resource.rst +++ b/doc/source/high-concentration-photovoltaic/hcpv_location_and_resource.rst @@ -3,142 +3,17 @@ Location and Resource .. include:: ../includes/snip_location_resource.rst -Albedo - Sky Diffuse Model - Irradiance Data (Advanced) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The albedo, sky diffuse model, and irradiance data inputs are advanced inputs for the detailed photovoltaic model that you can ignore unless you have a reason to change them. These inputs are not available for the PVWatts model, except for some albedo options, which are under **Advanced Inputs** on the :doc:`System Design <../pvwatts/pvwatts_system_design>` page. +Download Weather Files +~~~~~~~~~~~~~~~~~~~~~~ -.. note:: Use the default **DNI and DHI** and **Perez** options unless you have a reason to change them. +.. include:: ../includes/snip_download_weather_files.rst - +Choose Weather File +~~~~~~~~~~~~~~~~~~~ +.. include:: ../includes/snip_choose_weather_file.rst -**DNI:** Direct normal irradiance, sometimes called beam normal irradiance is the amount solar radiation per unit area that reaches a surface that is normal to the rays of solar radiation from the sun. +Weather Data Information +~~~~~~~~~~~~~~~~~~~~~~~~ - -**DHI:** Diffuse horizontal irradiance is the solar radiation per unit area that reaches a horizontal surface from the sky dome, but not directly from the sun. DHI does not include solar energy reflected from the ground. SAM accounts for that separately using the albedo input described above. - - -**GHI:** Global horizontal irradiance is the total solar radiation per unit area that reaches a horizontal surface - - -**POA:** Plane of array, POA irradiance is equivalent to incident irradiance, and is the total solar radiation per unit area that reaches the surface of the photovoltaic array. - -Albedo -~~~~~~ - -SAM uses the albedo (also called ground reflectance) to make a small adjustment to the amount of solar irradiance incident on the array to represent diffuse irradiance reflected onto the array from the ground. SAM also uses albedo to calculate irradiance incident on the rear side of bifacial modules. - -Albedo values must be greater than zero and less than one, where zero represents completely non-reflective ground and 1 represents completely reflective ground. - -For most analyses, you can use the default albedo value of 0.2, which is reasonable for grassy ground. A value of 0.6 would be reasonable for snow-covered ground. - -After running a simulation, you can see the time series albedo data that SAM uses for simulations on the Results page, and the spatial data on the Spatial tab of the results page. - -"Uniform" albedo data represents the albedo that is the same for the entire ground under the array. "Spatial" albedo data represents albedo that is different under and between rows in the array. - -**Use monthly uniform albedo values** - Choose this option to specify albedo values by month. - - Click **Edit Values** to edit monthly albedo values for each month. - -**Use monthly spatial albedo values** - Choose this option when you have spatial albedo data by month. Each column in the spatial albedo matrix represents a rectangular strip of ground under one row the array and the space between its adjacent row as indicated by the diagram. The leftmost column represents the row closest to the equator. Each row represents a month. - - You specify up to 10 rectangular strips: Use your mouse to select cells in the matrix to represent the strip, and type a number between 0 and 9 for each strip. Then for each strip type an albedo value under **Albedos**. - - To see the resulting albedo, ground irradiance, and rear side irradiance, click the :doc:`Spatial <../results/spatial>` tab on the Results page after running a simulation. - -**Use uniform albedo in weather file if it specified** - Check this option if you want SAM to use hourly or subhourly albedo data from the weather file instead of the monthly albedo values. You should also specify monthly albedo values because SAM uses those values for any time steps that have values less than or equal to zero, or greater than or equal to one. - - For each time step in the simulation, SAM checks the value in the albedo column of the weather file to see if it is between zero and one. If it is within that range, SAM uses that value for the albedo in that hour. If the value in the weather file is outside of that range for a given time step, then SAM uses the appropriate monthly albedo input value for that hour. - - If you want to add albedo data to a weather file, you can edit the file using a text editor or spreadsheet software. See the :doc:`SAM CSV format description <../weather-file-formats/weather_format_sam_csv_solar>` for details. - -Diffuse Sky Model -~~~~~~~~~~~~~~~~~ - -SAM's detailed photovoltaic model uses DNI and DHI data with sun and subarray angles to calculate the irradiance incident on each subarray. Calculating the incident direct component from the DNI is straightforward, but there are several methods for estimating the incident diffuse component from DHI. The incident diffuse component includes both ground-reflected diffuse irradiance, and sky diffuse irradiance from the sky dome outside of the sun's circle. SAM allows you to choose the method it uses to convert DHI data to incident sky diffuse irradiance. - -The isotropic model tends to under-predict the global radiation on a tilted surface, and is included as an option for analysis comparing SAM results with those from other models using this approach. The HDKR and Perez methods provide comparable estimates of the incident diffuse irradiance. - -For more details about these methods, see the photovoltaic reference manual, which is available for download from the `SAM website `__. - -**Isotropic** - The isotropic method assumes that diffuse radiation is uniformly distributed across the sky, called isotropic diffuse radiation. - -**HDKR** - The Hay-Davies-Kluchr-Reindl combination method accounts for the increased intensity of diffuse radiation in the area around the sun, called circumsolar diffuse radiation, in addition to isotropic diffuse radiation. - -**Perez** - The Perez method is the default value and is best for most analysis. It accounts for horizon brightening, circumsolar and isotropic diffuse radiation using a more complex computational method than the Reindl and Hay and Davies methods. - -Weather File Irradiance Data -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -A weather file in :doc:`SAM CSV format <../weather-file-formats/weather_format_sam_csv_solar>` for the photovoltaic performance models must contain at least two columns for the solar irradiance components or a single column for plane-of-array (POA) irradiance. The weather file may contain columns for all three irradiance components in addition to POA data. SAM determines which columns to use for the simulation based on the Weather File Irradiance Data options you choose. - -Unless you choose one of the POA options, SAM's detailed photovoltaic model always requires the DNI and DHI components to calculate the irradiance incident on each subarray. When you choose the **DNI and GHI** or **GHI and DHI** options, SAM calculates values for the missing irradiance component from the two components that you specify, even if the weather file contains data for the missing component. When you choose a POA option, SAM bypasses the incident irradiance calculations. - -**DNI and DHI** - SAM reads the direct normal irradiance (beam) and diffuse horizontal irradiance data from the weather file. For this option, SAM calculates incident irradiance using the DNI and DHI data from the weather file without any additional calculations. This is the default option, and is best for most analyses because it minimizes the number of irradiance calculations. - -**DNI and GHI** - SAM reads the direct normal irradiance (beam) and global horizontal irradiance (total) data from the weather file, and calculates the diffuse horizontal irradiance values for simulations. SAM calculates the incident irradiance using the DNI data from the weather file and the calculated DHI data. - -**GHI and DHI** - SAM reads the global horizontal irradiance (total) and diffuse horizontal irradiance data from the weather file, and calculates direct normal irradiance values for simulations. SAM calculates the incident irradiance using DHI data from the weather file and the calculated DNI data. - -**POA from reference cell** - Use this option if your weather file contains irradiance data measured in the plane of the array by a reference photovoltaic cell that has the same optical characteristics as the cells in the array. SAM assumes that the POA data accounts for angle-of-incidence (AOI) effects and removes the calculation of AOI-related reduction in incident DNI from the performance model. - -**POA from pyranometer** - Use this option if your weather file contains irradiance data measured in the plane of the array by a pyranometer. SAM uses a POA decomposition model to calculate the DNI and DHI components of the POA irradiance for angle-of-incidence effect calculations. - - - - -.. note:: For a technical description of the POA option see Freeman (2016) Using Measured Plane-of-Array Data Directly in Photovoltaic Modeling: Methodology and Validation, available from https://sam.nlr.gov/photovoltaic/pv-publications. - - -.. note:: When you choose a POA option, SAM reports calculated DNI and DHI values in the results for your reference. It only uses the calculated DNI and DHI values under the following conditions: - - -.. note::     - With the **POA from pyranometer** option to calculate a reduction in DNI due to angle-of-incidence effects. - - -.. note::     - When you enable external shading, SAM applies the beam and diffuse irradiance shading factors to the - -.. note::     calculated DNI and DHI values, and then calculates the irradiance incident on the subarray to account for - -.. note::     shading. - - -.. note::     - When you use the CEC module model with the heat transfer method for temperature correction. - - -.. note:: When you use POA data, be careful to check that your array orientation, shading, soiling, and snow model inputs are consistent with your POA data. If your system has more than one subarray, SAM uses the POA data for each subarray. This requires that all subarrays have the same orientation and tracking, but SAM does not enforce this requirement. SAM also allows you to enable shading, soiling, and the snow model with POA data. If the irradiance data already accounts for these effects, you should disable those inputs. - -Irradiance Data in Results -.......................... - -.. note:: If your weather file contains data for all three irradiance components, the value of the calculated third component that SAM uses for the simulation may differ from the value in the weather file. - -You can see the calculated data on the Results page after running a simulation, for example, on the **Data tables** tab and **Time series** tab: - -**Irradiance GHI/DNI/DHI/POA from weather file (W/m2)** - The data in the weather file. If the column does not exist in the weather file, SAM reports the values in the results as NaN (not a number). - -**Irradiance GHI/DNI/DHI calculated (W/m2)** - The values of the third irradiance component that SAM calculates from the other two in the weather file. For example, if you choose the **DNI and GHI** option, you should see **Irradiance DHI calculated** in the results. SAM uses the following equations for the calculated values, where *z* is the sun zenith angle: - -*GHI = DHI + DNI × cos(z)* - -*DHI = GHI - DNI × cos(z)* - -*DNI = ( GHI - DHI ) ÷ cos(z)* - - For the POA options, SAM calculates the DHI and DNI values from the POA data in the weather file using the method described in Marion, B. (2015) “A model for deriving the direct normal and diffuse horizontal irradiance from the global tilted irradiance.” Solar Energy, vol. 122, pp. 1037-1046. - -**Subarray [*****n*****] POA total irradiance after shading and soiling (W/m2)** - The total irradiance incident on each subarray *n* . \ No newline at end of file +.. include:: ../includes/snip_weather_data_information.rst diff --git a/doc/source/hybrid-systems/hybrid_system.rst b/doc/source/hybrid-systems/hybrid_system.rst index 0ccdee3489..9b9ec23254 100644 --- a/doc/source/hybrid-systems/hybrid_system.rst +++ b/doc/source/hybrid-systems/hybrid_system.rst @@ -6,7 +6,7 @@ The Hybrid System page shows values AC capacity values from other input pages to To change any of the capacity values shown on the Hybrid System page, go to the subsystem page shown in the descriptions below. Generation Capacity -................... +~~~~~~~~~~~~~~~~~~~ The AC generation capacity of each subsystem in the hybrid system. @@ -29,7 +29,7 @@ The AC generation capacity of each subsystem in the hybrid system. Custom generation profile system nameplate capacity, **Nameplate Capacity** from the :doc:`Generation Profile <../custom-generation/custom_generation_profile>` page. Total Generation Capacity -......................... +~~~~~~~~~~~~~~~~~~~~~~~~~ The total nameplate capacity of the hybrid system, calculated as the sum of nameplate capacities of subsystems included in the hybrid system. @@ -37,9 +37,9 @@ The total nameplate capacity of the hybrid system, calculated as the sum of name The nameplate capacity of the hybrid system. Used for operation and maintenance costs specified in $/kW-year on the :doc:`Hybrid System costs ` page, and to calculate capacity-based incentives on the :doc:`Incentives <../incentives-and-depreciation/cash_incentives>` page. Storage Capacity -................ +~~~~~~~~~~~~~~~~ The AC power capacity of the battery storage system. **Battery maximum discharge rate, kWac** - The battery's maximum AC discharge rate, Maximum discharge power (AC) from the :doc:`Battery Cell and System <../battery-storage/battery_storage_btm>` page. \ No newline at end of file + The battery's maximum AC discharge rate, Maximum discharge power (AC) from the :doc:`Battery Cell and System <../battery-storage/battery_storage>` page. \ No newline at end of file diff --git a/doc/source/images/IMG_BATT-configurations.png b/doc/source/images/IMG_BATT-configurations.png new file mode 100644 index 0000000000000000000000000000000000000000..c36066f359fa4c805f48599deebb2ff1bc7d2cf5 GIT binary patch literal 73042 zcmeFZdpOkj`#-L2D_dEKN{(B$B*_ZnI8;KBghEbJroxON#&O1Jx01wIn?uM5N#!t2 z42@%3GL;zPFvH9kX=2D>Vuo?{eZA1u?t9;#@8|mc_q(p|Tvu1cyq?edc^@D5{k-qj z&C{nWB{s@!6cZDZIC1=#y_nbrPcgCY9mUrJKN&I%+ynfz25oP7RIIc`VF>uo_g+VA zj);j7lQzv?SO@(7hbza=p~b`wJqQ1+*>}-}B__61aN^jJGhrSh3!A11wFd3U`!2r z%vth47Lx}!=uus|{u25qK;HlR{09f#e~7Xd?^C%RM_BXqcZRe$P@2o1u5%^3q`88i z8#g}?qx*{B4XyA(E(P_WLMJZ905OaY26aOW`4FlOE^uWH@y#PWpwfTC5^p zY7_YTVRfic?(#p~u5sS+c0*2i#Yy1prTQe!ZyTyCZ&yC>Y^xj*{331cknR2YBl{LK zj$&KqJQU63ZY;18#NOGt0*WOjw%rNY_^$3x(fmM(YK(TlhSRg;yF?4z8P_>u{k39Z z`ZqY~iH*gVy@xmq>9WONG(Qh|H+%;?x5Ke2m-=cul;X4Q%7Zqq8HD*SiOynTF_VLl z-Snx66=7`F6bz(iO_LBSEJ`coc;Hme09dcS^S&jR(6k>Gh*?6}<*W6VTWt`0E zRew~{R0O>PeCOE?3=E=z;X80^&kx}%RV{`s&!@F%UoYx3BBSGI)fFIL6pDqacdbp8 z$!`d{SYM9gE*Y3DIYzt3TFT8et7K9fpd=EYr1&$Zh(0ETy=rlw<;>gxSP6%mE++## zAEu9y&dHl}NwWX*_Ya75TTaiOgq4Wb6>g9QeknT2ZyKq+Jp1wy#40)tvICE;X{#-@ zV4qsrtJ0GWEEQxsi7VBp{t=|)z~eJ1_dUr$`MnM&({ah3lOGC&hyQFbryAVfu!kHm zqz@Go83YP4vHG`h{X44%I9%C11!OBptVLoCp(;^N$M%%pqUU|;Rn;4a{*$c1VJH{S zfaehySXy52l52HknVmzGX$4KrQijsz$`UKFUE^P3N}`)p`juwCTp;ds7*8F0~FWjACoxJLfN8 z*5>4eX36#V|4gA-tvjWGFlQgHlPSrwsR~>0lNVm)x<{1A}#P1|+N*bzv&wLoM=dPMbkPj_4gs12%uozphPL zyfeI6u^n5ig0uT$Ks|J1T0mpwO_`)LX3O7D4Z>Slac`P3h+&<956Dfm9BuFrVjGHd zeTz%<=Bi-)MN9Q;e|4+t{oW?>Bytdj8jy!O<)@Py(vnT z*8`rNDimE(!(BmldRCrU{ zAF0u7rtZQW-kB6y8wQ+Dxg-EE95MY9kMwD~pO(8Pq%rF-cekZ%luu-bkdGFHES5yb z70k4aTJ;%Nj4AByDV1@>Np()yMsL-(KzX1M;i!)lW!ywUVe6<)k_43JLd>qP<()Hh z921<*N>6SDmwzt{=*R9*N$31I#@Hl6^hYfPYBgF{B{RNQbw7wddeepTP^W%q5f<$c z&kVrn$LbowX1g7raGMJhx6B)kDJ|HG#-xZ7{Q1-he??G{o}Um7K+Q|{wV~|GH%_>$ z>0pYyNkn>MmfU5i!0|0Z&J5=VSJ}pPd=z#oS>EA3YcwFCjhr6;)?TZ4#yZ@ZrAiX% z?$3t%)TE8w&J#IX!TkFV_LqzT#KtTPMV^aqt3{p|^>9XaR=AJXJvk#;o)=WlsnVM| zrWSf8tCzE{R@qWPrTY+!6rMR=hiftObIa$Ru*;;B0Q_i_04RKak(9M~*FL$ks*kYk zaKUdM4-}vk6o&`N432!H^VT5<#44y-raPcu%n+JW{j!>1Z&`19?B5nqoC-vh z6|kYQixe2sqSB#2;5`Z)J7!@JAk7VW+M!DHuD^|eDt-{+A&05Ys^*vWSP$3DYD;7@ zE)Hk~^0p`jBs_#H1=LSt67=zH#6ZEBrlQ>N(J(lEy0o-ZIxElH*L?d0no}_T zahc@N+5_8Okmr;A^yXv>1d0;2oDxh6wQaQW+QNY$BpGEDlp{kD?Eua{N1JG|`L)d90{f8F_}Ks#n3BD#O_s@|o;(+yz1UL`7g_ z$HYJjb$@3BX(5Qko}Qd+3vnDZM$Cbv>K}O|9&hKc|0qIlf#jKcMjY2RPdZ&-@F?5$ z)_|3rI`faVFwcFFJ?Ojki)}NXLduftm?1hY;b{1v?o*}RJyF(Oy7vhM4{I%Njg|uu z2vKU@I!^J9#2uXjHbcXBt`JXH<|E27KUGgJ)}!FN>QvXt-mN;Gz&XcmbJ7dEbrENV zqVz#&YdN4!${98uuY80W&JD**q_*sFk{0@Ab$oikuAP;lw4y4m72?NhBz0?f=_vz& zI>zCyR&#U?44?&YjN5j(<~b@1Rd5zCK4UHqp&R9zQ}Y~0_K-v;{*9Dn5}xb;Ts6(r zG2z3{ty?=k@m#h3>V99A?Oj z;jVnU@=GiGtMxqdPh=)W58oku;O!%6;o6MV0wtx-P{V|iGNf>ge$CpXs-6+R5)z58 zJi_zau0CeZoU4l5Naf{O2*L$86A&SQ7Vr-1Ulbr(vCz z3DPXF;z3GYMA?Nh9dZO8lgT10Zvy=Dw(@Zfw1h#mf8zBJNJ-Y zsG66E86HI?Yr7pg0 zP6j@#0LbZl0wAYBvR82ruYXJm$)emT2v(3M3p!Eu37l#K9v?x%n5DKDi9DREBIDW9 zfJ^o(+vD93g)HafdpFgA;`#Bk`r*sRN{^qivf15J?<0bCF-p?odJ$$R!#4%wt+a*#sSdXU_l_C4u-V zt)?K8Fu4chatKt9Fok>X1e%!B-4bNk-7OW`NABM^Er16GU z1K&uxXL%#A8wlRc4dF|Fb~5eW=QEmKEeUn;0p!B^!xjKE*c>a-a0z#CN)50^OND$L z7#Tfg_m(AxwJsTZlMS!;LA;@027spWOm{rC!{tY6ExO7Hb(7pyJ8}~6vpuSej)~5( z8%T62ix6~|ekXYDY?2flAdf!nssoE(*6w(XoFOLfK?t5?SX!YBtQd2(!*2?EE6(ND zj<;v!E&WF>G)-HXyOo@uuqb)bhH^-0luqTmYzqL1l}eo&x9~B>))12YT;tt-?0KMS zg?`p=jQ$4Cd{_vqu`El@%*I#c2Pyl6Pjp3SA>iJfaVkPt!v}1wcDMe4!|3wH-YR~J zTBjj-d|5|9cM=z5guUBlaw4KuN2$4xY|S?xinP&5Ph^H!3wEmLZ9khS*?dW*($>#? z$OIr|SV>-|Ja(rd45j3H-9f_z{g_qwFtJb=zE9B_jL>h=$d40w z??k%k@E~I?1bR@>As#R%6}@F3YRhlBd~8(7ev;!rf6@NrQ@O%3c%4Tym3>}83V23lu`v;x~O?*DK zXzy4Sn3!s-e6YLHWht3SK&Xnv3SND_3s>_Wj%*u6Qj9;yB0iS&y>T^6 zw=d^7*>cMuw)h2I#LR9!(<~1m6)V&aUxT*IT_b$1bd^zH&b&$;`73anZ|`$ldt zjoB4{<=tO4`G0@^KMwr=hy$Bvf7@a*Cc6IF-EUV!W#!T7X~`R(d+PUHnH-gg`LC81aPg=prmc&}*t3nLvcrCa^HPc7UM_0d6Gd1oB#G5O0+fxmZMa}_t; z-F^|(D8Fm|Q1dsYBEBnP-!j7P&?89aleo@zc zio2w;C|?jz;(1liY&vRX%X!4t1GjFKH)aZViF?+@A-Bo1kA~fVoXZ|Ze%<5nEeKZp zH)p*ke{MKBUAMY`;WrE9B`W>)6J5gh^JVc~*Q{dvv+JLSb^js}cpS6xxW+YpfsLcr z{QAE?n+bg`7v%mFqBnb3JSWBHDdvM7;^3F##cW3jTSwN=?+yP!BGW*LXY4Ifjk-Mm zBAexpH_bw_S?Rn))xmRF@{xdUWPnRVeig$#b9tx^Hb!@_>LSW7Xj7l`AwabA+y5I8 zSHydvpjv2LqkbbY4d!5O_uAqkj6FznKA?$VC}5NAFZ?^dO7(AFaTV{iSz*Pw|3Zmy zaZ6nh$ZFQ#SdHUrrvmD*{`>G7i|(CsoyLpW+;CvY?FETSWAIhE3+uL+xC}$QYG5ly74yR(^JnTh05o`> zS5A8wx%tU@_w?fCM2_?eOP`*B1j$uq{c_}icW-hcu+ zaVR`GX!hNXxm@5Vgf%-iY#V*HA9u*FoBNt zWOuGtPHpiaoO-KB;>**H$V$f=sTazCZamRjus^uY<{YqqTjp1F;e~_rXBK8Ws^2!; z?WI|iz}+a!(3~<;nfkeM%VO+`7Q6y>n|c6yi@&D^M7NkG+F!~ryZH+NJ`EnXO$4u^ zyc_Tzx4(cfm?hhQ1@5ho9_Zhi0z}N`d%j9C(l5O_iAV^~%$OZ{@<1<-Gig4O`Nf`hk?e z=A5trM!xXeQ=RC|zCxK7u=bVhRROKR-h%0qHM5cjXMO`?z>fugnVs;Q`!EDTep3 zg{)W%<6`_3r&aGXdKcsa=@TOIRM*ozq4CoKnM~UyBMQKRAfx79Lr0%Ec2_$UY88(1 zYtHFn1j|Qi=qXi4j@?aFGD|8j6%Ei)x=tGPyzug|_P1GC>ei;#2ASIHAywBuce+#? ze6R+b%-ub@m(VbiS}Al`-SLD<(s3DsbM|tU@ABb3{R~0n60CoqIL+wkj1}wCOg}Dr&`ZsdBD+=|di}E# zY1v1a<^d+MZRnPJ{V$mOAo$a*irPoE46h%^|G|0-Bkq|a?ZjUWeFzF4GqHgAo0qI9 z7>OeBqC=|fxo_V>Zy)GirmvJ#+o>IelA#ZVr?t?`vT~F-aO4=X;%18(iZc>|hkK9F zz36ih%sOS#_$Po8s_J?OW@8`08!%PPPQY05N^H96>3!WnHQyg8mcL`myYo|A@Y?LJ zAwU?V6{?(1VC*(o5y=7Q7#7S#5(dvKD3hX>h4L;P|sWX@jj&aYjNa5~GgU>^U#`Tk4|d}lXB`$2Mz zE+$GT1WTRA2wd=ja#qTKHA>Ox1pjVIBU12AiTe^bvnFzs9`7o?WC~b{6W8Z$THQsb zTyFm@Dd(%D*7O0BAlwfClxzKl`3s()(KsRwyvj+(k9U>_Vxv`_Hk1(x)wcU^OH-(A z% z09(g*gmr4(OWxO0Tym5mzxMeI2(U%D=y%3zm%*jNSFp0I`f!-KZd%}o_7U4Mwe+tC z_w({WYwHeU%qS*@(zYuW-SCQn{zXLMhk53xX9GEYjt5-s-r_B^!|9FUg@s!dy+Gy{ zf^JGp7dC0_sneFu{1n9261!^);^%J_V8sZYZ}mjYaNd!U0khm)N>ex9P^CJn)Np!= zgcngDPmG%%xcS+>eEcBQbVBK6b++!)B#Kh_WJc*KJuSf>W$_lpe%v>s-F2e72>7uZ z02MWKKiqUX5bAJK51XB=sk_$42!?KMq%*NO5}F_&c^w-XBG{lc<$gl z1>DvvB&2@2Mzb*0HOFA;GlXVrLwsGGO}aF%i~XqhW+(&3`du^fN5o|vAzCO%);<(M zbvDk~lT`?@2m)|g6A1_!IW#~JmEDO9Sts8*7mUgObbMjvanL7l2id%V-nxOvs6v}k zd+DaztlO%VIk2<|EMNtpMwckRv=7##3`T?tTL^lDexF!OW3Es;vpvfRoi;Tdk>-nM z%F_DOu9+5+vQ!rDt^{kIw_EKDVu<`o?1~A9aU%y6w5cnYa>HuevTjB02E8*bADxpG zJ(npuhezQ%rv$#-nZ(x$P=bAwt;2x{zd{R2ZyvfP6(R*S78HeBH+LvR{^adH5s z6Mf27+Fj7u_+jRNPiYWpU3D*&QqnI$_4RmVtcvIb`w|Ai$hkmmdk7@K)me z`>z;^$TO9MR6PGx4o}VwC~WdWn9drygb~@GoK@bW=fiIyvrq1+kYh zvs_Lo!f*A|1)1E$l|eROJW7bd1Qi+;iSts>vc*JCMjlLjB{=sq909*Ou>D1~(906= z;ZST6D8m)hJWpK#YljP-i3W-acy)6-RK#}tQ;uJW?ugnFBR%*R)eHtUZ_>B5x&+c} z->}zl<3jkyH+-LXbIzz$P(lg%vyy5hOv7KJ&<`nSSR#ys6wKII@pGXTL(>{i?(rbw zJ%&m~9t-4w10bDkY^@NftQ^~2Y|lZY<)O(AtmojcHsEbShd{k1~jHW-ktocCwOMRoxEgT=Sk%dXi>0~73TJo4d{EbqzpwR;h!;?I8w zau1{i>Vs-HJWLvlJmoE#9NUqUj2!64jjr;~*owC$I?YIukm7_E4KyceE}raW)ROa` zp~hrGilG*bxf1j=b{HBynXoM48hFqfo%0UG^f()>l3jB$FO;bt2|$&B0Q&37X>*$3 z)q=RtI)J%DCC28Td|PqXF?$Ae?dFb%odT*M*tC~JZ0#k`j{Q8cQrC}c4Nk!Akt$v|{k_sqhC_Y1SdGm;1IAZZK~nzy{r6P|$zDI~ieR=| zz9@tS>+XQGlD!te&>lo+PF_E6fQUKz@T*{%3z_i20DRa=jsx z`oG>Myjm*jMWF0}wx+k|C8k=bawHD{u>E&k!wboylmst72G6ao3a z!mhR_N4m4Yg zjKmhVKn0Qj!nw>WRzl{JnEk&Jje2&vQQ<;oW@kwxyyv1HhJ; zFze#x&S$9k3_sCSIwiYRP*sRtTYB=Js`LeW2s0lp`~=*K1;2q>hpL1iSB3DISrx%+ zGK3TA>(U=mU<^GVX?8>uBc$p3N70(mP$J&xe<|8S>^Mc#>rcz(%JI0JgMXwKM+73I zp3n<7?GlLw+!Of$VqOpK8k8fe*JzyST%fRc$jR!gi(L2*8u?%{DwYKgC+O|qpaXyem&S?|Qf}$PD0y=vzWq9jMI}k1Pf91cTmC(Si-HgfT?4pJB#?k+h_Tb{DqlTB2|Awv3W0x zf{k8yCE9LCal(7a5ud3p?+$}+8mjeKE-HPaDG^fCteXu}`#P^tdCJc>2D#T&Ktg?A zH%8x}%Li=E;&%E!u0u}L|2pTgmi~^#Z}xRfbQOJDwf``ppPXgYSSs$I(5U_il)qTh9tU-tEhVSV{n|NL zRWreiNYt2}Bz3RUt-gsdb#c7l&03nm#i5z`wa&kmHjOYN&hCH~Sz4G0lzr?~AgmZ0 zfJORcw(509K)TA$ZGR~c3tlG7aMHTyPaLiNO2=j2QmtH8!c&8(Mc=O8Ivbmqd|V>8 zi`qe_@^qn^Rn}h_Mj__xD6O7r4G!-o&B&>>dU;UsZ&os(ulm!pW4tD6*MMc!4UEZ> zm?Plmsvusv7j^l`5Qt}yL>EvG+HrXb^-2!`2K-04a`LXE*2~$U^)l-1f>pAN2(uiu zg_8-!r<342ce3_jPYt1+jV#@6N7^b2Y9l>-k?*|E4=TXI@jeYolqe62I=$8h!xL|j z0^RH1MK(^3WV{P-0|NIqNI~;Mc+b(1ZTv8vU}nP;06LVC$fR9GGq^Jk1ulJv=X(LA z`e`|q)SXyn)=8$8iah*mNCM|_VI7YwdRb@ER?`X}(FiS0CjZGC!9M1T;H|r> z6R>v_k_7I!6|O$PydGRknO?UB#5Q_ z(@fs+L_^#BqBU8@*FQS~5wq^xG9eefB?Q{sNS~w4mUO2%E@oIIZeQ@_&W_B@+~E%k zJgc{h0nMC<+EmX;~8oVHLckD zJb~o-byWv%&@cO&If_jGC~J{lW{OG5o9=jjFd5N9IVwsOncnLhZ*)#oGJYRjwF zGwv)w9!uWkE@N4S*2t}bZt5)$d953zP3nYZhW;j@43tskb!g^4g&29%H>nLuTNPp! zeV{1Tw@j^QPVv!M9?IwWUfW&9J|33yC?JYr+Xq^uh_h>56#WyF!gAt3>zC z<`%nDLqf13x=0~k7QhI&Yint8Y1PF)AQRVkL0JRylqa!y&RZ$mzc=ZEeKMOpejt^DXD|gaQ5}& z58cN`0TsU-4c0JM!gyLP_rR;dh_{6iAJgamfK4PSR%vFBSPT`7=i_$cBY4jvBa)auiQj9V{$uwl@nQS`>>62SPUWNkF}9ms14( z)sCHZSlR0DR-}sYx0-}%juuLmLit%^4sW5i3Ip^HDfOs^CUnF-DPQyZqLJ>U(GbJ! z)g=QqK~eCJgV+(>r_^K*-01Dzl65||>>m@-C8*?FUfCXxfrwM4@S-Rs;~JhATYe0io{U4RzdSx zV@DqxR=&vw{ZJHGMqTla8fKKCn_c$~=pN%DL#j)JUD&nS%*CT2(M$eYA29UN!)4ol;jByb6FQ*`aK9dL0pm7?@OX=hQp z<}3F)S=F6nwNV4Txh*x5pN-^Dh6$gQnpmw*d^tKB@H3t3V?sH3&j?--0SX}zM543C6+GQLs*goF+YCic_-O2p zPSv6HnfmpQLSC2zxsMq#h#V_YW?hIa5Yi4K^=xZ2uO-pl#A4t>=^sjA3G$Qdlquui zZH0ZIw|eMvKSiZfo+y@_b>%5^k78TQc}?10D#mbuFMQH3IyRk~FIDYyKejk3Ry3=i zd?YJS7t^AJU~HWG!T$Vfa_8P>v|cdMNc6+ zg=yM(`Q_Ys=9mNa*;wRplUt!~cGQaGmell?GM=+aIqmm+_@nWUu75UZwZ--5eVE4) ze(e-SR7~ErW}LAWy%{=pD;cOJNDzU#yEA^c3|Cg}eu95T7^YM!(T`_4ef|*P-4OEX zR&N*S_MPs=ZIBHymj)+2=8iNyfeUpENjtNUXFfsleQ~wX+MT#_(b7ABfJoS@ltp)& z=>mpUg2o8OOH&HQlRF!|C9X#TH|C|_wWEL(B4_|^iARB(>i5pG122P+t|Hb25~YJPx;+iiC`Jm2)uA%ev>Kv**;Q_0St`5?2k% zV?pIR#E=Fea=1%%_=l#W(^G)qT{*B|?>2MG4zOoVmJ?s1I}I-Ugi`qAf0fkeRXO?5 zwg%mw8kJ>WZtRa8)3R!gdyOj$QPQT=6sE)POI3TZUl?(GOeLMB-GG{G=uK!Z6GId- z?GH_CaIu=f5TZ{EWA0J>+*MP1^wN7LT3k;d>q~gVr#pDZR6-mYVv85w{rzNF*?0?} zwNm6-rh!R-cEbzML{s^lru2)Z4tteYf-3dKk@dcL=;;2LO5PP)(PR-#ZsV%5$-Lmx zmzB-L0=V180VNLgXsu8B)>8hDE7;|TgTX=@)@z~*@BE}MviZ)9J7!rWq=&k}#?3z( z4Y-tUt5Hx*?1FySZZbJl$`~Lobd!I>Q!Ak`ewC=0_!^6P!b&OaR^cX$$Og`ZQ=Hqh zOEoBn(aJrdPabyxIrTm3IU43Pz$?MYixAuDtB(GUK(s z`OjqdbFC39;sdeP13TLJm#SG!N>xMo z&-WTq76dgoysi&buhKCvsE6J)8i;JpYVy;TBa>T^NX=^hvH1f~y7xzpYICIR@|niM zXfZao?}YbkBh+sb+n(FIi7Dw4y9}5XEs%a$TNjFc!!~wWCtd2k9LV>7mDZ@t%bj8< zrAJBY4YV3)oM0iejr%*``+ErKJ)u;Q-?bJB;4(Ckgj)G0H(M4`dA)eEF^=h@&d7jz zHaf+zId4ulSaRZnY;cZnzA%K7*25T+77XC$x<;XWxs>?63}n;TutAbK&0w-ceZSwX z`GX}r#^WrrX=k8~ML#V{t#tmCbJdXy8-H;Pl+uU+?s#t&?O|ejb@t<)c>tq5Sb*2D z$FVqgWpmF%CcN|%Z*U_VKOC+StP?2Fb&NOtR=_TE9GMxQyW>iGGU?7PNL`xf^3N_5 zYAwf8z-Uw+3VjQ(s1Q)%L(nBzYQqEW@%z!1!N2&e9WR!}D-d+g-+mYJO{9E@BNqBx z7OCq_0gxr}r2or+_1FW@Bn|G9IiP)ey_cUyV4^c>JCbw1-2I@ZUymuxxL`CekPExn z^0Mf8z^W$-6fK@8UH@A5JlgJU5y``+S^>*;vB?84o`&Tg^2o7yhl2~@>WDzfo9kXb zqFKBN?7&4`%#T`6Xb$4_W@Xg!dPGZaoCdkPw~n>eXDBwpnrb#=9T}ysD&bDWC6w`H^f8 zXUZ_3aSN8{z2_568Dt`*m9Z75ri@ERCe>O@8T_G`^Miur3gpUlob#6W{Zr|5J$b>` zJ*}dN=5<`jFioLk$%@;-O`k9iG0K7sx44x&pp3VLzw2+&bwKkn2Sdp00)cZjw30)% z_!H>+q5oA89to?+dB0v)9}L0hmIk%C0A@^v5t zd_aGl?d5Kal6o1sg2K+Wxb>ms3TQ}+e>bF#8V4xvvV1h&V!(Utm21#bk9O@$OrVV2 z9(b-@&y1UFalPNn+)Bmf*&u8^6zAec3^M+*AcSrveTS9{DF(6uUCt>=+(itx4z{D} z2XEe!*>1!+&ZC;G!lJZg7U0PiK!*_(j3|7`zG|SC>kA8v8ddyGj*NduY)_V~ncVB2 z!n=$O@~|Ap7u5*&vat%#Sg7CV-mpDW3N?aY7+%lCTC42~50GukJirKFqjKiXz41U+ zg4$sa*4T+|fmQ$rbmZ=+R%jtDuWP5fMAy%^DSsuo_bzp5Rb-;ZgBKFt(oJd;&sL*K z464rB=F{4roq>c>$-r&cKykWK{{7JTT2{^x-qhLm`l|qxBxjRT6!uB1r|`_nunMA! zpp-KCSw{=i!VED`fq#OgRfcc^m5SQYMa^sP0$o@r5Fl)S5!$|rO5ef~LJ~+>ZRbXs zb09h*lR71A3TM8*u?JIo@&20kJCh0oV^Ex;t8r{IdfQYD0WxKP*K^aY&;cL_n8Z^v z%Xuu98#hZ~k{WraA8nH#QG_^B0dRC-jmu^C_D%qaW<>TnfZjr0t0Ttd+jJQSIPgb1 zGZr_xLkp81Tr4?K*i3^C&2#|sPJ?dYLqvptbRD>-iDVEv-1;gns6@g%)&ci-%Lw6g z5w<+pnMHp(mx7ROcIQ4aH>RAa4R__9f%0T0{c^e@t@t!h-gs7RcCQ)`cGG~c8>W6O ziSg~x3$pHX2l?UdsGy9){2i@b$QHa#H2Q8nI>YF}0C4i`m&prG_XILrqOpHXi!T^# zfwG*tp6*lx8u^PQ!A8k&?_4j3%hY9;!HgY!Tos)N9E;+XY|)*7dY45omKed*#(vxW z>UtP8ZN2XwZ-&2d3qf}|gFY4E(fJ(^!4%@~-YGY$#N$nV{GF^pHy=T}c7+rN9#&b# zCwfJ-cv30f|8@As@H|@My~0>pRRQG3YIk6Cd_Em~6@M;slNaSk0jfk~+K5 zf)-slK<+2OVA{8(uKHVtSlqL@<-SCWY=Qj4bHY2WB)>zJyx{UR_qap@A)6G?j#g+^ z&gadyJb)*S>wD%;hOeE1R&{?5vVeyt9eR4uVv|pGk~`M}!R!$l_KH!HZRNpfvHgpWTeOqU0Y7M~T(SL8E4S2o*@Tu%fv#Y;Ug<5!bs+6=c?0C}gS6OV2kl#E+(9g(jK49+#M2nZkS99GOCS9UO<)+c z9@aI1!|nt#4UDh6R`kZml4Tw^$l1zS4$TL`eY4F_5n#+Tl+*(CfZ&-v>^7kPjr%jB zoQv}m5-Gr+rLdg%nBFTgYv>yJ@7^SC>2w#{9v9D*iw4kTe`WBsF|f2t4J9PD7QO=JecH3!G8#-@ogAu zyR&6g13amW>ak#(@S!Lur93bkVV89kPu@=(2Ihw*_cDA-%u%J6?@}HIDS5KjIc)Kt z6~Un8VqjzASFk{eWjmJi?jvyrecW)ZARL32v!>n+r#-klR_U($0aE3Tj3_}7CKy{S z4VAx&zAJzIXC2$ybZ29Mdr>+jFL<6ktZP`hU6Fb`g`-++!w)Y$#rtWwX(S6w?ZCEb zuo$tmzO^Mjbtru|Ea91|)1upORm}$jw_lg5W`#ci*k=JB&q{1@u%-2GrR2Us8}elF z^HB8J+w!*-FZ}VxGgzrwR?DAR@W$}sNCL11mMU?dZR6%wuL<{$W-2lt!oQuXUE^CDy z7pG*aN<`CSL!X}m(S6xP3W`om3Fx@wvVLPnuVrNhZdQPnRY3#LuKqJ1N^GlUw~Cp+ zvtvFtaSi)wSbmmCdqEZ_^`E^UhyOum7veSQQqm=P3{#=!cAchc9t6f2?KrLyazDAJ ztahN%q7l0ntF-qkeGV-w@v~DqPYj>CG%DGL5hUQ+Um7_X%qBd$)I@ZddKU@7`T+>z zB`|Pc0eBqXA`c57jIOIuZ-;fAEN}p7U&N3(0PwpC$aPdeEV^g3X!u4+D}Am=5UDk zW_;zhq!~SyLMGj=0H)V26GX38xK<##i~UL%;HQJZ_`K=pw8?)ErrutE)N4}LIqx6$ zhhiGf!DjH4TLd7Y<`?d&Ooe**4kqd-Sq>2`y`{@iyg(51Qd`M7>kVhTJ94*?BQ*eU zi+_F%D9E>popGIB>dDQ0M27MoqL#C##%d5ja~y8xNNVW1DRvDyF&3CJDFK2gpnN}q zN_S7n^#P!7ZmFD~s5Lax%+>C@46l_Iw6*`VbxtgM`z%9RIXD7!&(9zYZ`LwMw2&j> z$A31IgmTN^x8~eN343sV^Ki>_B?g_Wr6@*PNQ;UR?I@jQl#ds9rMx@i3J4bNW6ee^ z5OWga0pb$D2(NvOUq}`^FRA0%v@Fl#daW3T2+5pF(Db4l>f<2X|3sgop`PWtWJqM? z=lN}ve1TzGT<7@5sj@_e>`nY>U+K!ind+@r&bJ0J_S&LYsVH>mcn+gs>0mY(@LHOU zoc0*vx1%@}13%TJwNyjuKpc=wSWZm{Anx?P{&@jt`ybgAl`(m&G{ANCw?x*kjrr_% zwJ*{i;<7X?+)lW`XJ-=as)_X*p{mPWjsGLvOz{LF4~8nLUuVd5E{RwsJu%3neUVJ2 z&kXJa@IlX#ui@0!EUN?W<&Ew@-cNSH4790>*gA=(=3}I-)$XWLD_~~Vl&aQz9VqNn zLQMD}PWJ^{mK$G-mVJ)d^cp}rThit{CnI)#N=J>xUf6>vjnMjF6;#_8%+uKC_|H4; zf9fdLPC|Db<)^W!LyR^jgkROtyGg_eIEoZI$4&cc*Deo3g@mfw)P4RbzN!y0lKn$+j!YKkM1bom2 zAo0-8iaHTiZ=BCg|NJSa#z|KDv-p4X#jFEoE>^GQo?mjGL6;0qm;>z~`^S}Pe`n{e z-ie*dk_O_s@~VLT1W%uWygxO6^XCNz&)T`1Bb25cDl09i-*(4&uL0*2Rw$8Vfm`f*mPF6A_DRih-UAB>FeNim%iCTBdWq93aAOuwH!& z@PeNhsed}<*D~+FqNp|L=*iyLMBoZs9CZz^2=t^XEO%mpE0V#2+i7vrljt?iGXkSY zR}#9;qZYQkB=7az47^3j0vwzAwq^2fVKT-#e7L02W6l^h4x}LN>6%C7b9of#k}Glb z&iyF_EFh=*fY?&J?*36xtlf~aT!`9-Xv#j_3+*QA?c@L2iT5}5?_^%9{j?l? z0Pb51b^|Y1dQJoNVR-}KP9;J45n1fLFX_Rj(le+ z9*rZG_J6?692h3o#PJea%RpAX+_^2z|Vhz22@ z#x>;jABO+~|B@tv$pH=A3_{M;}3@B4|EB z>${aPwZC=IiG8hhEqBr3L#Rhprr0wZ?yX2l`G*FJ1olhy`-l$ccv7>Y#jKX?9O&Qo2iLF=k0uO!7t?t^TG_GQ*wbyY_c}><7aXSi zC8tFTY}hsQ`BpRj3v*VTJ~$HTC?)?SCw->v$pv|005(y*6}?;Bv*&q)Aq6CI@cy@2 z{BH`OaSfJ7%F>Ri0m$0cu=jD)xsOMqRVpTD<2hM7^#F>@-HL$mij0-%I4BP-S07jZj?}278Yi_p@RsPApwQEpmG489KVG#f*k;0D6uLZ820f!G<_~d|Y2beZ22K_=ov?OE)Gp>1b zlbG|4XxZyO(UYb(?DcNlyaHb(n-(>WU>DXnRMXG#f-$K7z9{HwasYbY`_AsUU>40i zD^DaZgx>>Zkz!t6+6c@6;jw`8aGx!^{z^_ImabH>_XKO?9C9!~bhzhZA^*lok6b^F z(Pa3o*3gX-5EsIA00O|F1f%Rnkh$Uv9M_qE zo7pWSUGK;wlyv3a3>Rumy^gjOF0`)n0RJaLltE-KdHu6A0I%+?)}zf zIGV9X_q@pD6ixw4iuEnlvygwHHs$TfWO@@aFZ0pQRA=$XmFC#GcrGy77rMA+ALyyT z0mdX?OsdiJKERceOz%$3AAqZ@!$(C_6gX};vfm*F7_jp#km#z#IXK9^+$hn_R{q{b z_gE<|jzwv$`uN!99ajHF{-D>fmG0JwvkFPySUA8=({~*@&EPQgIWSBKf3=vuJw#$m z_8lKP67RRX$tf^>!`odS;0d{5I*oyjW+4`%zh^#mLU}UL^`8tB%uUrnCI6d}0H{Fn z5b2~gN4&2Pa7g;MAuf~FM`4T&duB0y;F~GVhc4${LWB;qP_gg^`lKb~BHE_Q()XCj z?2M?Dx(U$v#&Pe4t=|))&gbhz=r)%D8Nk710YbMB6VIT^5x38Z68~HaPM9k!6RD)> zRfZM>SOnol<6?{Ho0H~NG;*gasmFZ!0&vX}Qcph8xG>mhNjL|%#Pab9WOM8yFKP~}nMw1dA3AW*aw z?3~Jx5^e1o1az$SWOG{rkmNlAvBU#O3q)TxILoMiciBzux!T-3#(noBptwx_sf+DM z^Wp`2Y>klLl!i!ei&6@Jm85=%Mk>u2CU#Zvt+msBN=xdx2E46p>RDo!K5y1!ixX}- zqZ8O{3vYf`s*ynEg=R~~{$_wR?K(St$#CcM*qizS1EZni-k);;@jX{tRzN%XtW02A z9iMmFa!*N(JdZ$$PWxu~a5_6mqo77^$bb8OMR~DSZh$;-y!z_pk=h2;`ni5D$ReT6 z!p)#%&TN0^fZ8=!$|F1D@pfHC=Vw0K@AA^`BTB=x(i!Lk_ta1hN9hOtOYo(n=c`Vx z0eVYspF~`)Q_PIEy-ler*o7QU$p5qs^^l%f;3`KfklVkox45p9d++>)7`r4^+$$(C z$5o69Xica#>4Y|bQ@y-PHSAFZro9f2|Acg0@QRzXDSjlB>HFYxdO5`5n%7@j~U$!HHEU_Th0$(hi-hYfO_~~>6Fd6>g>hJ9)d;IV-n`!8L!le z4Pxc3aj!a|OPdAcb>J%pydLcJY0TOc5kDZ88=PBLr)n^DTruQ+M@%P%B3)92yoS4! z1n-*f2p)9A9Bm8x)zgu2Yh|JMb!_N58E1R}A?Xg_(*iOq07X z{2cn}AofS>N6Okb<-6>wzqu()7BYd6+L*^Db3Y}zC0m#0PyTfNx`ppXNq-eb0rvk8 z_TB+ap5GrR)*@C##DTJ_v??N4WRE~C3Km3EWKTg^VF+O+EbBmpfH;v6L(!T2;ApQw6)(~@4fyldCzm6vz{|P#~&Th6D#&ikSCq2rj`&t z&-wxMV<+sfy{J8Uap%(h_D`K9>mwFnI?Y`rFH;}RS(oH`25XXFV&*FXL=i9q`;B~tu4Z#=0 z()QS9AYa;k+)N&|_kUrYPm(S@5~pfuE|0;Ov&Id6g#fgE(e?_pn>6WAH$?S z`T-22hMW!9YO~bfutO=IEJUK-+UkBPLq4oIS+J>Uz1_EV+0M}t(^p+EdodU zb&d>I|FVBH4@@0W59+M1gqh1dahZH@(mA(4WKAgcv^pzz^#E_+Mo>_i#Dn#ttq&mB zT*z%41Fe2I&=V_^(W%Zve6_Bsj)9A|4fG|Nz#OiuXew?bmQtcugH+a7y@*_vos;-KU;H_JovD&vNzOWV^#VyjvX4+M&=B{$o@#H0ye8w3F0PwdXg%#nK z$0j}nAt&QeVX6M?HDv`l7mHf$oJVi_J)izG9KzjssbdxNrH9hVrH>QrVb2+|QcRf_ zq|D+oS6_c9`^f_SK)rgov^VjMZIplffuQEQv!kn;^i1P_?pO<6R6>_^8$|Z`&h0kC z@iyp6h5khAu!K*xWs1n__91z!pvU{z@rJ1YIc~_DOkxbJ60;`~j*PBjMla8^q~0GQ z%Dy1oEItR$WV@Y5F+EwnrtL^^?xP3?&}~rfQ9Lczjvd|i2|_7_;@+i2A4`Gct^{U>7`vg zl2H0?%Kx!5aWN+AjqW``3=?2c{HpC$S-0RD{>vBF(GS3MYzHHb%?GY7GL=(?|;RyLdAnYROd+@wowCd3H-xAMot_W5?>d%ab2YZ*8Gky^87ZJ4rl88u~Iy z#_z4gG2vojIOMJ5E89BwO9%oiQ3A34!wPt5K&hbIsu&*~ogksTNLds3q(C(@Kf<=d zFHQzOS*}jVw~sf@;Cia?H-SSzXbLZY5`o*=pK89}-hL%E_$QOW=)K@^w;qbF&2}!a zbsVbkgyMN#b!eFu=*Q9ZvTCLBJ&JW{7|O9fWDQU$aUKoqIY1AA5{ZatfnLl8$eAiPhwux7{`a zUHkF#2y~Z-(yL#_2Bj`aCYwVx4K$fJ2FZ$6_Q^|AhXf7J2N|)kq1olZq2Gw`&RaXE%?WuSFuO1N} z%4w{JCogl1SByJ=v^QNT0STY0lCJG`qhGah;xW)l;)BlJkBV}ueN}X4Q+8UQ0t%L* z#TL%&je8t0h&CrDLBV0hF58Sc2q`1+Rp-@L*C%t|-hb|^AO(gM6WqZ&u8Gv;h={4q z%&ik(q??mvppRxjvGPx#3GE z%2y7^a}-pfrU9{=2vV2hGq^8xRV>#-%GzgLc;X-Cs(}EY;Q6|<4YDtw;aEtnR>}zG z-*oHFnzB1gSOM)sx#`xdJDOpF$3whM8oKW&IX_%sF*&WyM%`5D@KQyylzB>*#4h!} z?nB5S3YMahkywR3m_>QQ$aRvd{Jj~Z0ipI*NJn(2GR3MTru6Po@AAGxe3*4_`rf%) zseVn()Ntd8XjLvFUC$K!kl2uvs8AvHY{ai=QyRu*2Ci2mCcyyLETs zohHy-Auo1YXnU!!4f-^>A4Nv#hUzn*V1SYT^S831JjBYAu@^g8^bYXI+A)Ds=jm#s z1vKsUUm}FUQ`48Aub&SR6_`Z#dIz@B)^%0H9#f1bN*xB3d+rZ``k{@f`~pP`5X*`P$Hv zu-iOfT@c7_98Vwo|2snlRIULbB}i#OX<7Bqz{1@;#(*b&u{kdOW&>oE6wLoi{M0Yy z=0gI$_5-~OUtnEdP+^tZUKLof(z#IxSR(d_8u|=RYA!Q{Ayo9y-?s`FF8lR7rO-tU9L1A5OVE8iDd={40pA;F7r0^V{}OwU%$R`EfZIWBRzFMk z)ErKRLUjQy{Qvc107%Xn9BIi*c*P`lNBQCfq#F3|U*G2-dj6M$f*h^NSK>f1?tLJE z6d%p4^_rvKfN})?&1#@yr$semI%v_U`0I-cPPbY*3r-1mcL_q`@fXz-|IIo8=5|jg zMn5)6h`HJaHaCMy_4I!Mojv@&&Tg{xg$>mF1`N+?a2SUz@=tW3b99T+jQ>Y5bIU~6 zpY;D}AAox}3h~DR5|XV6`S>~ZOG@A{1ojF%3X~f9sx|>o5AtV!8z3IOlqe%BzWnd-cX zHh>pxe$}B{OlrlVeJtL*=b1KYJf~Gc0+3`o_#ndOk#=zzbs&de*F^% zodm4FEhx(lzT*oW3KWx&APX2L605D>v$lk{jCFi}L73wdF^d8IBK5|i+9m$FZ}ICt zcB%4-AYSb*Sy$-|$Oj5UQgQ%5o1Onr_Oq0KeYzwl;|F zL!fcI2qFasvXKg^%l3gwYS(R>)&!In2h^$_Y1;-xsrvu238j6@E|syEnF^B~FX%!m zx8Xy#Fqg?^H+Q*07xqb1wEHTmm2kvuX*8fb2G6khX-=$OFN7epJ zu&Z3IuT=HYk`X)aHes}HQ8`;CHU4L!Pu5Nczrli;=5D(hnAr2n+{Kj^zDP-c8)jC^`IIB+S08-hT;1!XH7J%MKr}Ci83%1RI+~r4JG$Z~YAG6EwP)PNF5A!IPmzEUslti`{_N^8H$p~vY7&U+~2U7(Z`FF<@T838rz7a%8!yHKS z)?WoK=>lZQw4gxaPkHRZ&z2r!9jAzuAzd*5QmEsCTNLZagNk@R3%Tq1x^#D-;XOO~ zC)!(DG^50Bn1Pt62%_pf7*hszz2l2r=6c7JINnS8Z;N8poh7e`jTrco0jd>Pltg(z zWqqBe|Mq*=w7mfO#EpXc`qP~Z4U^kf6Y$yY%HTftjL5;3SM5Ugc_{qxrTaer;?q-0 zOEwAf_XQuLOcT&glR!o{+Jd(3!=i6Mjt{WNz0h}w_UCh=#RmM)CsA%$Wx{m%Ged4B zmKrC>*^tEqQ zO^LI@!i$Jb3Ah4zL;s_5$O2w%QdY981;Nxq6&zX43arydI$ zz2;F$s7SWJ+0|4~K{7$=XHXJJE~J1W(OU@#F-qb8%YPJL8+5;7tar05Xim-VM!=tP;#Rl@PUt zIZ@xv#naN_*g(iZhe&%av2PWhgA!~ccf^_PY3`+gXK>QmUdor2Da^Z`&sRMg;MV=k zFQJu0{CW|L=v(NV+q~K<_Z_m}GZ~p8In9sy@2tz=uO%*VcC*xY{WuR%VSGbglmi zwk0gJF)YCtxh-q>#&G`cI2|hl$$tP5J6v>!dP{2`+Tc?!I4D1(UagaGU8tmK9$9I_ zR|P|DODp?_*FIAX4^m2qYfyoJe-GlV0DkV$?)J-W#z^dw%S7{cSL1#zNcsWxL9k^^ zERi#gH~NZKvGMDtck6&p_uj~Hd%y^|cWNecvGlTw_tC*uaaJ)pMMW}Qah9X4IUYfa zs6xc1Z^w2BYEnY5_`YK+MHA*?$MfKvFU(QJ`4^i^G;OP(d~XQF)dApSf|B2n_HvHW zHKO_Lfa62Or=GKal93a0z35Kz7Sqp#ip-$b=h}yiVd(p5Jv#?}#BQq(9UNd@Ywwp! zT1NbaT_OyWMWmn}{qu1u__*ekB5?Yx-=7}z>G}k0vuUtFxcynuvYUDqmEp#KZAPK} zdapb+o3W-QZN+|Gng|hlCdZXi`da&kw8YD$ZQru5%s5ffy0j>CGS9oXaxjLuC#bn& z2dB4>!*A0{^adsN_@Hw7)nUYbkBs{(2`BV^IKR#=KQW3*`PBLr)ySe*&y<$4MI@ z0u%OXt+0F0V%dLC$7ZN4Mzi*7m2o=P!23A%E}-BK72Q{slKrrNZP@w1NA&%@xu`VU zV)ZOC%$yJx{WJsT)S>%iy_cQRj#0jE*Z-rPk{B3`s8*)sIT-+>TG$DwfE6cVO`! z*4*CgtqGtM+V;Kk{aAT9q`3L@widbK<4;W0w!OmyS^8vi?o2ea2obzmaP5o!O{ppK zWS_AWiOKJjbZAqfRiV9*qE5h;{;SrZ=4O#T*oO&gYl?!OMD$Za4;$Xy%#M8HVli@j zT;kOh?Q^T%155dj&RjnUO8RQD`@5_(>%WrYuj7T^dwlTKh`z(mgHvHRi*NLxq`w&r zHcom_i-!XoG747_D|&~IS(=+kjXkth`ChS8CU`*9!pqhA9Y+=WZ{#?Y_UYUz?GC6W z>s)MiDEVOCQZ}mospZuxJxXJziu86Fh$B=}DqnzUrU6aLLn#lo6tob!B5YRuclr(%M{K(zY$4PxhwiK+jPFapx7LK0AV zp0|kWxbAf%nFcKVZhP@3E0!*;;hJLiT|)gnqbOAf_78|{740gKh!mu}s|-XBnQ?J| zlql+V!t-ipY+&IP=&I-igz~fA=%Pwrvq<}#BGOL77t?Gk!Al^c0yehr^?vy@X^d4z z;b%u*a9?Vw)$BhAO)Pw8=B^+AdSz)M?zEOmhg`_st>?c04AAOlkdDVIlMB^wv><^qxdZ5o3GjU!N?~-)@wh{ueGCuVy>Ul>GYU`+hN6;%zrF0)>(&q<6M;=iAbDFOQ+#*%r%y_eBv(Nf z(rv=gQoNetRWNni5217fd?W7cMY$@jrM zMbJ`=0qP+ogm85bjIb>PF*97|Lr*Sz=vM)&54+)d)R3>e#s`lSs%ew&=*w67g6T5s zk&-9OrYsv~o6>Y6Q$~?2tL@?U#>H%%z0tjO*rFBC?1aBg zu_J~jVBZGj*p(cxQ}=kJ6P!kg4n4`U?%fe{Ywn`g%f&-$Ab&cjXbl@Hf4pISIkY8CdOIIh9KwtR>j z(11t}Yezl}wKF^*^v<6Q;GD{MH6HKb{8E=52zmzJu)r$J@^(adTGR+YX0N6MH;rXD zX?2v@u`-K$6AheSsshMqpYGU#IAFPS&ZwGdG&dGk(L4pe753G=2Yb-En2{-WCLF!F zLqk2c8{al)+8P(#mwcT+F_d!Hc%>6{>kjShNy9?7<^mF|80Xv9~@f%RI>* z>=__fdgs6iUh9IV6`a!mq~pucwaNu}c})dWPl^_N8lIgeLj70kUJj0mK*kHZ4)dr-C~Be(>ynfM0rg zV@Sf6l2xi)eV?!jgiG*9fRmH8MPM?xE2{ezyzfp^Wpr?PgLzBkX4FO)e^s$+DLYBe zBAAXb$QHN<=P{(ctL#@54SM8Ya-l}*bK?=|bL)hU60I28i7B-6YTfxOz#OIo|M-4u zoi4#77%D0T1I2ZYXwc$;nZGLVI*+%VkhMW#yld5AR$UE*%7Iu~LpoSMsMycQgi0qG zf0&+C_33QTv`k(N95&I1ymUN6l^TuL+m}z*$<%A^*E5dXpU;S>!E%cA@+M$7ry1hV zALLhB5=Uq+toikZFjENq|Lr^GF6K5NG@Q?DL*=BT4Ipm;kXQCMc>uDT?I#$!x~CoS zD-GGW$wJ%n)+zSuEd>k@0>eymglszw*K{Ud3`b?zCX|!20tgWUT$&HbfU0W3Ny>puM_t$sF+OFTGgGk}er=6_ZUAfMr`ImK3WX3tz_f099(m@#@> zDkhd4iWm&2SzH$Bc9tk=jXm~l4!BW6YlZ%&D2R4d)&mfqF4gf6kiV2aa1L0e$E$S7 zzDGT%*~3%w4#fngb!5cekdE7G{HmK@>P))dT#oDLy`{YUhRX)5L>4Sexnf|~4`SIM z7our@x^8FxY+OFwsdQ*O(4fe!Ez==ukNN8oh_q=uC&8!U1kdF{Nrr?{r3KP_Avr` z%sHCmz<+vZ?n%o)m_klg7hy1{BlduA7k|IGt?vcier)HXj?6 zFQ`oT9$fQ~fu@3c7jf=Q@lIBo7%f?5h6e1GZ^G$8iv#9DmW5GlREEQ)-&)-4TUiW1B-O_i$ z+0Zgq!eF4QNUKK$e=<#e^$j;IJ7SuqxoHaY3^nf7T2aQyEAHj9LVu}o-OdfMn?&C) zkI(5Q$X<(H&X4$D$^Nufk-W~kt{NbBo@CbAgOH>Ga*D$?t7RM=Cwz`7&!%1(Lx*0L zmlURYzHD%7=sU*HZ?>!+e^W^hnyGJnIp#Wr3J4EefVpNS>lYCgFLb`p_w{jCES1Z_ z^-e5u1_;~NX?mUNBdn>|O4Oi@BJm9Sg^kt;SFIQ$W$fpjnkmysbK}06YaYe{3-17Y zR6WyNVwU1N<9s*Z){qVspYW%;!?g3Q(lnn+14K*X52%d=?1I+Ddj}>Sc_C{O&ox8_wZ$G7x=3T|2ryihRu-(0Py1DFSc=&hA-lR|z62Ouo8j@_^U-~W z*)v4y)uDJ_*DY8Y!m*Pw-==fg#Xk0c#Y9YWhw?VCeI$nx0&O2z1h}QFKa;CfM%L-c z8Tx=EmSkH2r@l*p8D(!xu5s?c+P~|sjA=AOb-;@F(Mnnj2QqogML--Hd1XM_gXdy%99&HkP}VRX;ColBj|dze(avzXwZ#$xpu z)ANXfYDB$^Gh<7X=Gp}m;W7+Y3#JNGco`5l&p~cobQ%-SM`3v|r!D+szSY7rBlB2n zWFX8(txNEFJYFX>J5w*mVM<|tJ&Bmq_KAX$BJaRG5gF@PTsV<63t5nLN+jY=o{0n}t_CMqBQ0kriBIb!VCwq~C z=$y|u!^|ifSS<0TBg^jeagdSI+GqKaMpUu84~1Grq{G2xggCRZ&WMdxC*Ks&+p$Mu z%=vFSQHiITI6;-8mV@_ZTXF{txF2h^sl<0N*Ds959s%A27aaazC{wP0iXN)#4C;8~ z?SEv-aQocHL8ffk-}YaM8&`LaW7uxHHo+P)7SI|U0Ij@pwgB2`@W}+OrQ>O9ECU_D zqeXi&{voA)SQgphQ>(0+GIwZngGwbLO)I8Rj(P_n@ zZOJJ@8IgJgm)n*|W_pG<%8S**hd-A8895vRquE!LBhsgFFFgj|+cR}DdU|)bL8+f_mIxSNl zq#DxE8gJMbtwBIg7hey=<>{hX#{EMxj0uuOb8y<|Fk>Gp_R+J@ zc$Jk(BuybCf3$yd!5=5rKkJJ0tr(r%nhQ_|co%Q_fdj>frB}^D+EO$yPx1lqzZ|!J z!r>VuYAMD;&6vOL&ml?`QP;?Yj?EvH?I%xn*M)R)_I9Fn+Dxa@2cCHQw@>u;A>i$L zV~evOH75qFV_jj*6Gj1bof~6eq2Ih&_Y{5HxGjVKC~ChBGWag$VpJm-SyzpsjYB(b zdWFV(`6^g#q+mnZG=J(xP+AHb90=6$^lu8z9i6KFBB#n_Ef@T7It{^#aRG*Dq}yaI zHxOs8^h-@2Vn>XWN?e*Hqj2!mQwij8H-^r@jb7vbb^Q*>UxB*^cW%7bTwdx>TImoJcoQvR2t*y6Vt5wE6R_7bBd?=_H5@hge$_;D_Z8xClB;l zu}ol`TB>VXn^V2aw9ax>KjKY}o*}TP4%P99rh5Py_Sp<~efohTP!6JnQdkS!Lu@Le zc$<$q?}CeZl2U0=>+mhbTSbmk&iJR8-}~RD`aVje>}rT`H(X`f>0Bd32w@|nXXv)M^Bi)aL&V zN2e$lE5_dhD{t@O5gCYO9)3j4cPF-RG7Lz_cwPD=@TjQcs!+s;6Gn`MpqZ+r`@rGG ztx(;9<&s5&hW7*r<6OlSzYmYaUDeYt^)fu)@t_o5Hm>WBXql|4+C&OxX6#*@ee{9a zcbtCiGJs#M`=6+G0HGGQ@+!B5eO~a=SBsHfl0_5W&-~Q^YsJnFQ@1QSLPsOB|ipzRTk}6!I@n0C><{^Rk3gzGl_uS(yrCTXh_}65cWn zz^l;J59U%l$it}pX|&426M0V>m0^p_Mqd)R20~L`8Nl0~!W}1*!JL0m1+{UguH8-9 zQo6SN(}_AdT2W^?wH=%imT~piYL4JF(3TTGTX&%ebuITaSQq@b99{i(PmVkL3L_^R5%93kRDu`0cSlA&KhZrFIQFqDwQ)KSP6ia>GHC%jE5Y} zmlRDWJQJH5$E>tJBQy=*L92$3M;vZA{)5=@LXWGls?h85zK0OHT`9SP?Zm(xxmR>F zXySEIi}E!mOYc8Pd8Z7)m`)^p$c!p0WpP_6UoXJ=kUg9j_i=CgOlb8pn)CZ3 z3!6I4T0Wrrk9Y+sV7(_|s9wyA>6>B4ZQ7#Q`2z}+hdLyS&d^tV*5LlgIMJXL>y3L= z0F%x+p*M|_`nk4D*{G&V6K+Y(bE3+&8yR+}b#l<5AuK{KtXYnJXxW}9o6%Y&sx!Kwek?vTL<9>~F z#lRDXO`?baop1s0`M1aW!U!y8Rda$atO#X*>jsTF+aTTK&En2Wh-Dx9X5?o-4Ln+9 zWE!5DR@(v!$T>xyt-Vg}sI9%6aGm?}fkxV`DhIiXN=6P9C6q6Gg{Vg@`!DBMkYmt( z?XRSv_ZWObxTxu*zEbL=rIf=hT2fuzm<8o2<3kAA{iScYZw>(7YuKFAB8wo%0YnHo z8cROJj3~&hlrtK`;3-ue??hg#`a3W7d7*9zbP|O8yczKq zQ@KJ8ni*Ur>|^rO<6UrN9vW=Dc%(kQVbPI@Rx9wX8THQzN!E?8N#R(s6bhf}<>zjx z&oyCDeXdxL86}adOrTyLmX5&~nYIJ;4is~#yrWSM)nM^>u?uLIAJDD>olYx~krh|Y zVUXts{3J6mp2QzOvTu5m^BAbtUHr%4!F6sarQIAt62h<-gmvzsr>qvRZ~ncpbtab5 zoZID!cWGL|=poIBEGO#VFH!1k?TY6O7M?@zg9Fr2BiejJ=+QRG@`Psr&~&qeu%>=- z_z}6L=)7XgzEq02i3%)tWuOv{ z2UDkAn9*QpRmy#t9kq+5OI4$&joi|O=s#_L8>BbIuOR#G!esn!WlEb zBq@?x@y9^YnNfhKc!M&qBoiZ+Auy-6cwv6Yv^3`Y+WKWHxDz#Lk0oIj@d_xt;7`|H z)3lvdFfS)P3*%mdp=QK(a2D!5>Ur_k|Ib<6xF&lQVjd56AAQqbM@n^4KAbAkZ5V~j zM)@!fyduiZr}(}6gWsKGpuXS~6j#pGn&_>kQ*@jTdQ0{zOt>P)mL^#QlQ#yqk5=H} z!yh-77^o}cW{$PzA>I#%*bu1(#APJ!Pb6;6UAHKnR6RZ)jTkpkYq*!sb@ge~lbV25 z8O;e-89m==40og^=~)`gIX~42qn;Vw4K}~4Xh&@zt{g)_e5cv(M30Ie2snxj*11C&DCO3DaSvoar6O=F!l1#^J-i`fDOc_p z+i9%_xmor!+V0kIMqQLCERFIMARDQ#l7A-&Rw=nIilG&IT1mGJQb^TjAlDoj^lD|9M zMBofF?sv-K35WH4(lvd21=~-}4fxMw*t>Q`hI>C@aF$ly#+e5|isVypWpd<#(~}jF zIn_lY3Pj`!o632fCdruwEXZ6WCwGSg@TTF5mYHc>pCwq!1rNKx=}H4R+iM} z=4Yv+Xt^HWP8OGkR_~#sbTkPbN8*Z|VKW?=} zZ~<75IB?`Jc%Ggmlb#aBZVt*V87m?51L6mMey%=9o+X z&ZGx16>6xs0Bl0NuJfSzg5qd@OBd6Uy_`Nw$1o}I3dKPR=f}HeO?!kz(Q|P@9RaN- z;N56pl;CM6Y)BJ%<-)30CHIO>Zcet1+v_wy@rIvtldFBs_)LSyn}{Ky984SA%y9k+0>LRj;VqZMZ%(dBfeN183MhE z|2dtoOZj=YN-mQoah}$Ey4@Y!*P7aE)X`;vA03j9%k>_Thmo9{__W3OKSy|Vm=T6K zwXKy=a=Tuqxl`~EK#ZM~P8iF{O-HDARvNF%Ss^goOW5V_W5DU!uCTU)Y7d(VQm;(H z)`j^!ARCqtjN*ajoTLns3#Wn_qkZ8 z21O%Ni^CJz4R%qVQAWk?`I`2)$ZSX?guA6;+wE83W*o!gm8X_2*g;4cq8=y-+x}hn zBLBzYQ8p}%z3gW%mRB)3Cg>yek08Sf=9 z20w`!zZ#nH@G~F=*Mws5d)iWwnx~lk_z#4rCxdXekD8a{C(2Tr!!{+PPjHB)ec zDWL>v>2AR;S^U%Q$oZT_KZaD95b8qI`1bsCO)E<^8*Ikl7NsMs2Ql8ix?G=ltTRSo z{t2(AF!_h+)E&?EaR)d@!NGD!weIz&hQ~sh3U~Oo#vk%oPIxFP|KLKWocq)-nU+8< zrRpS0RW$4G4nTA&I+V>QM^syI4ucvz4wFFdnKS;_axs zA9;njWCM7W-Fwr2iS1XV+_&w%I?M_U6ep83TI!|%h zTr4i!jR$xiXMbI79FREf-`WTsaTbdkekkq2$DrZV7eLewV(HGH2c#76?hI1~M~QM+ zcv(}I8a9aZD^E8r5V%CR{Hf|O!FYDAUn=4{Dxbl)hDx|`aSoIjnvDzoS^-ZSlY#lw zrConFT1pifmPlvy>GU8P{MhD!J^LtghYqDO^!YD3jszVCpf<`&(b{zyaflNoEe)aK zqd?LyS6Er#QeXe;Qe%rDzoeEaQNLq8o4Me3q}*pRZ?5;~#j5I+qi*(tMd1qXpRke) zUlGAN&@1j@sWJ!5LpKn&_jd{^WCX^|88*sd|JM1h%rmT$hVz+mA!&Y1lNZH4$zBxF zX6N6LnD4)ZC#`&YqOJ^QjU}0nuB!pti+bdq*Z|^GzatJzC0vDwD+RmQksM4{BaFs}_yea>`DA6r}Eky_~549O3hEm_WU;Fxsd)!SYOp^&ZOMAnWX5k3? z)w-{?wZWSTTXoLTL6eW^cj^j?J5rE0z)_4dIw)>1oonS%AzX!*1E-XC;{~VyEyd&# zMF{}-l&2B*8CUN6Ve-iPviXV@wyK{6|0R-(hz6Am%*4{c7E!5A)ZD6c>>OJQHQkL| z=WNA>yYQb=PNE$Zy+?-W^~10V&LfVv!sXp8gyD7^uDxHFQ(Mly3%02ZF%sh0F^!;R++cxG;kpFNz|FM5+N_~!PrW-Jc8hly$c zpyJ^%w&UCOFbLt{VlfNmQ@pobHb^(%<)fsc#PSK*DwC%>hHLRtz5V>Kk1+9yG%EGe z9+FGeS}&3FN^vxDgLsG9LW1pu>MpBBzNU+cYs3DJ%g`%M@0}o$Mj|i zO8&Z&g0d*m$5!*e;IfI8+G$@@Dk35>6|`>A-_CtWjWP+@w7KOKc_kbbv?RN*8+Zj; z?RoYSfN<_nCL&7`kd+Gc36Lb9wx+5CEQXW%yh`%CD$guugvQkv>NIuQ%un7f zCz!gpV+KD^IhTPwy1lYf5HO;z6Jm%PFmNnL@*)f&SMgFh_bGx9F#FMeT(jXKfrj+3 z+sv61Jmx#TP6s2BY$@Ant`g%-c(5^NwPykjXBDr)>-!>38Y%VAe(sT=9ADV@C)753 z3v~}FFRzAzLb#4pVU^CGWJFNCE^-pz>1>_*oUfoY!@}X+Ch!BUF~Dn(u{mSU!)xx&^!#?sO`bOJn;f>cdTi3b2WVnyXUDau1a{=J zb0XcTIzRWp&Z<~ij^kH8u%qi@)lfW-q1q)L7;ajy-K#x)F$Qh2Rqa!nv`2Rgx2u7F zm@z@?2oe8IxxStNy>$Ya+p`6Ws@aTM(YtBJ7Kd>$-QFMd9SYdks8lf)Xbfe-Z(U)r zj)DSo6zGEV&7!W#wxI6jYd~v>cR`+dE>of#-4mVeCQpbzbZr>Nh+a@2GBU13t+?jg zU39v}*Z)Sh^V1n$Diqo+BwyB`!){_xw3B#@I>x%f+SYWX zI2C1Fy(()d6@=dkqMlaw(E)q~V7U#%@{54wDiO!dQq8BGVpC08*v0eV9&Al4Mle;g zK!+{X)QD?5kAFP%;^`h_Ja(Lr_$mlC$afz%Z_#>^J6tq(E{}2Yq0}p5f`!tT{>thx zZUBpbACvbEkN<9-#dAB)dzKzimsRU>rE9 zb|=YxwT$ko>Y$m9406n-<^P0g!1lj{QtjTtYsBMFLC{c0Pa$N^nrDnJjeGueXPV;*dUm@pSTEx!Wd3=P~M{uPAo1O92A1(@mjFJ^jtwPWh-7v1{Egj(FY z`ZSaEZ0xUT!N7VfZY_xas~4r<8B@2(3&i23Azb%1XXJ8Iqhb517)f6J%eOuqgBo3w{1bjV9#7KIT3LDYT{vmG7Bp&%T@9fa z_g%)aoyi}!xGBRv#8HALINWpv;v!SiVyqbf@$9PiP!{cSsdW=A$-B5XYnLFR1!gc+ zLtB5krz#iYn?{L8jim-IQ)1ljeEPdmdp#GtE}}?VioeM%9$^>R9;cQD&kcQZ~C5HNw16g zsQ;`hT(jk=p33^#+Vl*$a>IKCj+N3zas-3kAsEZ}Zbx3k66yhG$SBRPd;ZsdX0k52 z`S0A&0~*1|8z2u4YG|c9QQ~vvEXta|*+w8!ArYd6W+;{o-q}zrazctAmC?uefMN93 znFL59P+=55fx*p?vn$#M3K&ZUDlMz-7A6}u6J>!pCv{!^6?(IRP*5DLDLjM z38m4H!M9}0W5{#hG4(&uMHH{GFoJ!hrSMxD9fImp45*qnXO#h}vOu29hAC?M7D?6l z?uGU(AWp2ryG`HMO_TtMbAEJa4dX6c?rz_h|MW<)6Vn$SU#>xZa*gmomUNNzDV*3azUNzNSY|5rtI+TgH+siDc3J_IYq6xWRLT?bkv-YR@s-~OuhU+sFI8bJyAEbjd|l}H@m zhdjtlk-xUVL;L_9-~lBBBkX-7RLFx#yWj7|@1%|1dkCw=H0KQ4WL;PotWbirzlM^L zyl(o{oMMJ6!gA5H%Y*Jq&w|lZjC21EtHjhBiC;_CP=kzq2kvc~DP#h4L665OEZuk} zeUphZ;*7%*+CmJ|d7ufkbgG&$M*QNRZegMKI~-q_K7TT@adQ@R z(cS${Tu8XmZ%G{o5F12uQHe72Z{3qnvxowN>NA!LVGGKGRC+x0CAx4cRb)Y&xL7pr za&+2u34pOZmJ{^D7>_9kIz<$#&Af#tW!4r(kuYQD(`3<(St>bJbJiD707Kqt1EntKQOl8d{1QMzNpGL=^YDargY4i5^e*ksp|{-k_7v`9 zUS0i#2Z6q)@O{eBfSubzu_OAqH)Es#%%j#*lVFfjX8;3qjV$@W$WKGzg-KD!+(xk> z1Hq{jsB&>f13AMOxE(k(+J9XBCU1r6r=@?-$oDMC_1072f`N`hWYp~rCvuEiPMpmt z<13)wf;?Dx;J+w{UV)I@D5+1)mGkV~+7GPTxm4V?cxY3T;q$pr2r9M~$Pl<g*^R)L^S%0`)&y~;1Uz~`JAPq6`h;ajI=8!_j>!@Fm zG)<+KZ+EjS++SfNo&GNg(D-aNTjm8L0328<>9Zmj?FIYB9&nVDpMmzkUAl__)_uQF zAM_kWzod!3*gwo31%^adRB(ue zFw~)c9Z~B)L_s_~u5{_F8F}mtkQBt;f}!79&~gkRjRIIu(a$Bml=XXI!VlZ% z*VM6b@J26Lo@)9H`CX{+DUewp+QfcDnL#vF6m6n`O2;06z`*ZuO$@cqkucsG_wMy- z{p>>k>~Q^i=@mmS<|o&8SBKST9Is%)@+vh^@<-?iJhPo1c3xAf!%~^!S{FX|KB62tmkHHrAY!RvL{t9(I12J#7C{A zy8tRWBQQbDvq^z7|02a#^wh$&Yl5HB5e;OExRbv={MA=-=C-~F0iAGLpb1xiLp+*d zNTx)lEt9v592$pYaTPooyrP>r)(s}c#idf~mM5YEq(hv&So6Obj-}?Uq*f`eUMWPF zE*7nH8Bc$@&dy8K1ktLMO5(B_XyeEilkXrOUc-wf*>ns#;x8Afuy&|CP^NB|NOCi9R4K{*R zn(;PZumQJvwQ~f`ofQh#`T6{I*2@h_0bM?2Jj)EWOs)h0?cdsebdc@J2HuSkft|0%-;k&I?(^s$nF2Kz>9VHAu%n zJ%MT117;>aFbk+yIU^o`=79c9f-hqlB7Qy}!+Y70q~r)@s(^JE1bLgUCm*crQTnZD z_qnMH$e@+%Q503mxsADi07KxP+*C3nh|5G?V ztn3?<3YizMcaOae5!lj&SiL#KmHRy2CUvM0CiS#C#I5}yItk^)aL)SKrHrQph9W8> zg6}>=+g$UP>^~Ol;HPw~h^j}9aK>%J<4fR05gXdw>Vu=#annsbM-<^_TbS)&l2S~p zmD3Z0>O^jR>cYGD|FHL-QB7xEyl_Cp0``JPbr>rO0@4J6Wdui5L@7#D5Q2mdq=yiK z-A93lO2@oV%+U z6kHgoN8Ej6Wa~>YxnZeR?|#vo+!9Rc{un{}BxOU;a?XSyBGS;KXk*&jekqVfbz^eN zGcAhF7LK`{EbAS2Bb)Ue;Zj+AbNVUiZPBCP~KdR!1XL+({zyj?;aPWZnxC zN}0pxX{CU$;0s?my#rl60;*W0@5hB*HKBSA6&KsG1n(d7524ALanP2-4bzoACQX`yw8`3HcZ2Q+${y|3bojD=9}#U4>@k zh1d>J){|f+C8UAueq`%a(llvHl2`RfCcW)yaqqmaeTv?5m093q=mTpPv<#d(8K#MC zM^D8X>RE$&l(c+g=mgE@s+Af4eS=RVqE1DWZJ@&a6v1AYmLJBp9|Bn~A?G_kaTUT2 z80M3KkUoA+7y=LeT9SFd-FfOt$Z@#nKRF@(iD~X+>#{Q zJ^p!!6Q5@Z`d|QRa{eID!-v<9Uilg%b~gqA!OnjB5L8?i`&J)yGFfY&Hj3BonTyK; z*%_#_aaWKLq>)>WT*)p)hsL76;CG@0ORqc(NyzQ|wGXj_5Nye~(q%EDIY3-ex9cS

`MyrhmXnBoeU7xn61yMu+w-h-Oqet%E-ddG^&Cgp| zdc-M{5xvEUUkIWdYYpslp)qvkdhS3R{-P&EbYQG0@!eG?ZyjV^KnBil&XlvdHpBnU#9v}xBNIwq(jXK+)r|Vc(h!a}hR{t$+Tkejz#EgM z8>%-8!5L?`j7>XVe9KLpbji5)@;JL}}L8yQ)W-MxM?%17`$x z6M#=+Gdj`Q5#yq+GEpBb^~*D~Wm^RLj)Q3zvn-dKs0)f+U#vYi`RKLtgDsi7!gU?^ zJgIS0xzZ1#cY+;`zZk3H3Fa*%#=ZzT;#KXWJTKsM=-CzX^FpOH25Se}0VlGYN2Yti0Of*#5nZwPhn`>0R&FLIk|F4E# z)r@{6Y4ak8%GpP9`DT;tHM(XfP2_#fTTVkJ=*lumb6mG#-wL=T=rV5&YDzk|r^<{R zHc=MNL_zm^rEuNayANyh>hRfQF&9LFd*Y_+B(}}7% zU$yFW=SqgpXx&ogpjowX8W1>9ned$(vWlt(r-Ecfko#v8@h5+*EEsQIcGRnZ)`>29 zb1UfKO4Bs}R~~5|iG}foBgn3th#;%fibqfO7ILA&Qxw70j*_`9fc3jiTt1DD@atQT zFSE6|pCrCaP2_}|gyxWR!KskXGg_!=v>5%&bBuK=VenOy_4kRX_*;$DJ4nhcD*WP+ zWUEHBy>!KXj%A?gSdUq>UvNe-lvj0VX{`!vbHUB`@gtXjm_;lJww{gtlmBUl>9u%? zR2`goJh%MQn$_(Yjl_QL+YCQ9zCa&bGBU!djbZaH$eFI=$J+m^A))kN=V?)!5oQH` z_X|5?`_>t9d|Ft_;4z$xpcTFTKD|MnX7I|*DG1P)@R>Yqp#8=I_{}c(&QLUe@_6-0 zJ*QJ62DC72o&GWDW*grmbz9;a2Gv~}@u+C6`S3bHXr@QsL~ecNq8O=1ehMQTC0k>pqt^~5;@OMPk$h042@Vy$06(1dVWRlhzq+fO z<%fz6TY?L_loIbda*#hI1Gf5^(Na>{os9Op7*_aTtizDpp+e^mpI7r^eg2+mzHAVR zaFvUFN5X&OBXL7{4yfgY&p6F{X6u@&V45Y$&;Hz;1g^hb7o&_~BP$ww`sOr; z+k}Z_B=lr9CW6o(({j@3dP2-@55%ZaMc1a`yg4?1WiFmG{_ne;G)TXGH$-(rqTSH4WBX$J7HwqhxX0 zOpDu}^aiI}ac>WBD)pnx8)KBA4MR#+{}S1(9oB6Y(yDV+dk;lu&s|`f45gfvT7+jb zY0ycxq~DeVNm=U{52q%+6sveYdi>rg=Ul-`BK<>zkiw0$<;y?sm&)g(z~16=8KkjG>1C zmT$62vsw-UQ9O%W=VY|Ws%dP(k~G%-(CE0P?#Ur<1Buy_&}HY@Cs;}opE8X8aNVyeGAa|F+2*r+?Yd9$nR)dO3sj%56{E>7c3O1uupHco1CU3XdSqIR?>_2+|Z+ zkSo=4l?w(hdu&+oHL~t=xfS^HgAZccPaWY;UcV}(0>bGjJPX!#%P`{8-wVIC_fpQ0 z0+Dln$geH@-~>j@XG0>QZ~S_gRI)k;|B{jUidoLB?8~QmN897s*C-~I(k7aU4`bDS znRxCivqvqvTd~)?Cr&Sw_R3R>VVT8r?S&-Iz0ef>W3<&kRt*#cy6%pL!CEbm$t`aSA%|)W?K;x@1j93usLYzrzL<-X$4IO=E;7ElSAhG zye}k!zbD>XE?>In^DMK}^Bf~y%e4ij5w-&1cHr9Pk7Y*Dai$mjt#iw$bLbFJ6zO%momTQ%Qk-{0cj91c+y@7R3jh{x*LjYf>yBkw!SH0HJWda2J%5q(-| zVv$DAhCo-Rw1wv?ok-j{xq|G{x~wKM-{nBAHCzy_aEh3K`9hJm*E`MVXn0M?d4$?+ z893$nmz7rLC`8O(5wNsao76B*?+nR7C{?YXrDVcB97HyEBO{Z7+AEjSS_}O$OupXW z%Dt5aeI*5k%WI-3P90LU0q#5pIdj=XMb})C+6H8lo;hfVzkFU_`@jk!^M4=lTQhT= zkJSEi{fDzg*4_Pug(rqf-aPtw7bFY~uI*u0@=W5bB+So@nr?Qiy!#jK#PFWhHXmo= z&x1pvb$sKj|2Z#aUgw&p>8q5IrLR2 z{(m?Q?mwMWNRRbTDh?9)_Q%2g-*fi<-(>%bDhxY4)?4i!_4(77NWH>+?;aOoa0SBd{ve=bKSKc^ zK|McFitl7Bmk0l*@m)PvViy1M-~CTKX74EjN2dG7N3?$S&9zmskO25klk%FMS$nN# z&VYLIUl@X)?wQQ_g&p@c4lDgHtr4~c0x6??zcGrQDA>}s{<2;yc0aK8n05a@Ps9UJ z64_Vr&h)g{k-`L9<@tT9APrk1U5V>zX0}N=vE_$N;q)x^EIhL_3P^zMPZAJ!?b%CU z-$76O*e*wL#0Lcj+&%I(IWY1MUShl+L=;4BUk8cC#sAo>g30sk>vCrL;b{)M*}~50 z4ZWeJzwlvQx_5G?FCTu5A?vaaII`*+e-f9=Er%DCuD@DTj$aQ3{$Waq?(G}qUd`wV z3k7aj(T_`C%2t?;O6-gq80i;w!z!GNMPVNn_qcU3I%XL?E)VXN9Frjawy}BlT?a*@ zYvn`o72^Wg9TJ&v&5v?;X=KruZdhnL+J3l9N`5Y9VJ2*P>a&;xG&t&hm zkZzBk_;ga zT_8|v{K9)D7&|wA-?&N)VgWIK0hkC?Sq%BrQtV=MG8E{EcwT@73hJ|<%|w$cl}(LY@0ZZpe)8q|5)i*}0dz zAO}vkjj%u#7FO((ucY;x?EgPzgc7nOI~kdv|NMV4$16E+Zy`xDcI^XAvOUmol^!$5 zueLC>j=fNk?bN@;Qy|n|5-qL?iWWeAHQzt&Kz%^)esf`kTFL~dqm~7z{hK9E*rZcN za=lW=Y}^VN)uhWb&imD<@5#@>7+esebdVMqkRqJfLgVGX8uHQf@h30d6gu!Yv@%J| ze5zt6QScZ~x;K_+d|HmF;D0 zFH~wBy!%XhT&BwgKQDdZuO3(>jJf0(U3+d12vKT2Y`Hw)@;jY$CkpdJ>-f}^EnJWU zOqS0hICX3Tfw1$tW`Qz0pSaU=Q^ReOL)D!zG1@m=hqqny z`>rq}%gfe>g--3>Q7P#w2Jy@bzDNL*G5IoAW!Rs`1ONqWbR2-k3=qU3Hi>mTY04 zTW8~xW_77O^RaBlidi4p)z3vke zQH+d|jJw&t>S!|do=M+lk((}75sW`s)mGr?#@xc`z1!!>81^(<@mkw{$+?B%gzaLf zIUQiblRf7S*`;|IZ?i;0?@(l)Sqk8?*&>=+gGwhss}}F$o=CgMJtO|gXo%Fgk30dc8>2Kp9REhJyQ{qcpb%;4JX)ssF; z=XJaY{mKOhBwz2{bOFR;O&5ir8c%?dIy+%&j_00d`Y*^j%7!DEZjH@8>`fEALTCBC z`Zu~ep&WzD%%)S8;>c8X91qa?grN@D%F7%^OBY{xsPqQv5jc0ydZ*#$bKym6KO%-+ zy>Lhf@|L@krOq4_p0y&J)SITAy6OIQ}u_UqeqjxV(9BK^9L{?ykhj*Ey)%kse zy{lfAKOTP}rKX29{%}xpK_y7B?P;dZgA?Kq_KU~$&UC#;maf}gzURh$6TDjmeefi) zBdp+PZMAnOfnpNnSfQGvAv8!>4v;E>9>`^JSF$D0*5i{kQ2yW2RUBg=Ww;&z=&Wfq=}29S zLD|uaFN=xeT%>@02Y9rVx9m$UgR!-*ORp5kV#jY#W!I1Cl*0*O@q(`5vlYO0=4jc; z5w^6b%eKEcQ~Fh=Mz>j9c<<|@&qGe?>U~OodID0qp6i}H2ZzmF3^Tv^x>c&W-bN_yWC$1b2>MZdqcVTs zO$!@u!I_hsHvRf^BH#c=vbz-1`js|`XMRg{O;7&ulVCsop>9wYs1=Cdiv|``g7b>H zGVO_+_|kcIG_)q@DzkA%E}Esc3ZF0}fDSnlC)?ilRO$eTku1AaP(1hu%u*K~;UD zuJ^f=I{o1ffOCVc-`482B2Cd%AS|m)Rs7@Vc}Y>GFYM-MNLL(wC`iSOim3W=P7#>FRS?xcC6Gdlk@oJUYKWuya_$9d8m3pSu7m2^yI1lBbPg%Ds zuCH8Q%!wj(7Dr~4A;|o#c06=0F!98ys`RhpnJ|DF&7aqP@cSj##b6yQDZ>!kwBN~o zOc^)ZwFg&5T(>Ijh6jIy@9o`rRXm7T4aYM{Nuox#Z_C`J2w1^-O}=nkwdEvhyW5-BA-N$ua{D?I!Pq z>i3CBV~s+%r8#kM#-Utm9}%A)!9^Pw_fT9RZibYfd7mj2iRoDztUbb?|1@dh0NXTSC$%mA zt6?tXTG)TJ$)(23e>caacCFH!sQ(v})bzia>FDX^)zS;<{~)+N(aDaG)IESaNcvBK zfOiGY40Jk+qZd}Dn%NjT{+l0xh7+P2ZiQqFQ{D;rfVI~6E#odSWtP9l9NBkKnqq<_ z0lz?MzXIpiUw7MggLssPxnrQyLb9)AN>on+vs~);euL9{{xywN8Bx9oZpj`GZ|G9f zlBf4J<{HgHM0YrgGh0G#eK}@j`BE?`XeMTxL`;H}Ij)kvSXOy8w%o1AUOct+(b3`x z>2JmhUli}(7DDrdCw%!`dcPD`oUWhIbQeuI_ahV;tS1GvSmP2q@znF9XtrPnssaX# z$+^L_k4#Yg;d-FLM6lgi(G6m3RT{oC#(ubS(%oiRD%4?4C*hoA+hLRJRU*lC-DReiXM}LL@(E0q+*?b5w3aF_)4O#YeMBOJ7>kWV(A{iT+xs|2&cW{ za(h{LeBq>}xO})_w(ZGTtKK8Uv&6W0Abz-hek@o8eDi_Ep&6L5aTR~bIZ;$~#XKo6 z193SecUzM7sR@x$k=eo^LjT;e#95rzhd3X61ej0l8fSLc3;$gBsv&Sz-`uzjCii?w zJlhRjT>6D;Z@eH=hiJpHhum(wy|u!m@prJ4p5<~cJhGnC|9){isBl(4efI!t{&VLF zvBd!_R)WS0p%1Y-cV>4@`W){Z%|KX05blbwkED4gACFpY?2E6xwTyipxdVmX&;T~p z$Z*jbYlFcc%j79s?F>D5yq&(}oFGiZf5&F8y5fDPbNj1zn)`;HBHLEgs0~RYa*_G9 zX%bpQriyixo)OX}qjw>sr%G<0M^=f1uApm?rMC2(nB85W61a)1inNzSJ}C>xbGdP=w)!DTP(q58MN|FY`W3lncBoJY?DsjbG8*cci1lr zYM`HI{3`B_jwyx(qG8Ynf}p;N0u8h)b!pu~0!;~n;e z6?;QntfW6^beD8X>NP?Km_gh3owuN-u#RR*H@I@!_{(~~;&6b6BIRT}vg9zwmY&O> z)xU2hocmq5`%({vUB$X0w)f^8r1_aR6`Q%=1<3G@V$quJ62{-~Nng~3$4=TVKwOqz z*2uH#fL(BSnt~w=J<=tttQ1bOKfv}k#cS^49y#T-_%KfBzg?PA6s=e%zXI1{Z->ir zeU?n?0Tf(Uo_`Y@i=n0feX)7-WlwX{XxBcz09PYYfKMa5S*CWE-e=I#4r8T^xvD0a z@7LB^a7(G~2?ikLXM9%dNZc;YG1(C4O@Qq&u7WLic1ytq_NvZJ=oB*BOpdB4 zBtTui!Ze-NA(C)sARiIq4dPZ-C8xa{aH=S8ALMj4SMXHffItYlDK0+@VJa`UL+V7Q zuDcYc4P0mnbGm|DB2s(6_HGF}YH&kUwYpQ%$G%FMSO{TR&7xnlP0_~Duky{rc^DYb@1Aq|J>6^ZK>>$85khcOID_W>-8G15@H6k-4>P!dXp8$x5}Bn^ zeFO_BcaIXhfK1{SQ8mT{h_2c0{KlW*G*iX&fIFV^h z=(NL>Tb*ddPt!aRmDeDb+3Io$*k*Kbgm+Z@*{bIRI8W#$0hs> zLFp+p>rpv2Q=}P`OdUlBt6R@@g*G_M?yS=tz!atq&4WC7dv{c6Qh_(W1cY+TT)#L! zl?cQFUkRn44AIb}VR$)<)VUPHwJUdrO-98D*(Ydx($xIuCpCAQltQRn_I8^}lo%ZAuQD+Y($(hhAn}Fm zrU$00UguuDQuk!OfMeZHDSRyP>(CMLu;q3kG0uT5C~O7+ckYHuE8l1jo?B{E?vPQ; zLzp8YTJfk^v}acd{U9q0N)U7Q3EhPqdie-eSlro(Ajl^}$)966drpodZK-pZx@E(P zviwNHYmFVN9h-rY(u)XTVF z?Vg7Dc^EoHtd^o=Q_;-|$M3w%iLW)J)ow9|*>Q;DW#^}(oN*^x>pxF0d8#(#>Cf4I z`ueOl^&4cPod<2=F#S3kf7vGogX480?(po50C>q}@JmB1T6yKx7I?}>fA9K)DE(~u z_2Ez$j+`arg2t7-hbs7;p2wA}GHtROcS5=>XSA{?s{?*vzx`6o_%x%F+Nwci`;!=n z!$o3UWGtt2qW3NQ`mNzEvkl%jI}WA9wLctYj}|f;phC$QiC1bA=c2D4H@Xn=}O!4PK-ny6cwg(xE$lmZ;h@n!Q?|PmV3`$h;Tngc$!j{23 z13ojUn$^@cIH)QxsUmR>OrnBm*Ql+)}Lf>E%mEF7RVZBR7soi*4EofwTEGk*L`W z-QC3v9lgMw@cuT@h|j5eGM%f|Ks_vfhJ-7^Czu=Il=v! zqE$rlePDQp!F5`1zxY{dnVS(Y!a{=aLxlaICdMmRYKdb8d?xbaHE{@oo?Iczltp7U z*Q)@rH4~!L;oEzkPRK+j)wvIk_p#W9d$Rg6@*bIus3VJt%bPZDd{cT z6;na_sP!tBggEIo!aT9m50|Wpb?bGJ=SP^#M6raULEiY($Rl%7)xa7P7V=eX^!2Yx zLeWfN_SxXfFp46i%nrX>@F>0T$>&VZf(FfT#pv=*gmpgxC651x+5i(OT@9<7rNhIw zkvm9NPt(dOXyRlgdJcGMpsT-#Se=HmnPsEJ9Ly+!txjj@_7}BryJz(|y9&FRe zBN{>6AXyZ5p-IRr0bLCFGl_QvPTF;jU+wDQ;Zzm$(uuV5a@e$$~^j1##` zSXcuONEjP{!fCh~R>oL?*m+h)8LofUaYCHi4TCP6o~_s{I;|hXhSTC2&sMm4 z5xC|XtjX{5l_p)8QH#%L0i6hLGOw9cNrg|!Fw)h!8~$V<0W-mVX$v*SRk;oxt_c@w z_n!6*c7EeDn~C&_aej_un_}^vr{#O!KXnZ0QVRBuy^w;NsbJU@j)=*s$T$Qd(i-=f zZ&2(ibRN~jmUmINh>=R&)k>a_=#w$W{-BYVmKAZNzE1WEF)E)MDT_m0ub=v8Z7)e;*;g$1j(V$y26w1b>5P`g563@SJ>BlZ5P zrcnK$JXj0Xy1yKTmaW`oS+Rq%nlaeN^o3V=v0=&PDIh@b)74@>k8-oj&`>#$3dbM_ z-24~>)g3u>-<-ar)UsDCwzvW_P%dV5@_4hPJ zDd^K6J!^PM|`eB zSpBriz~K<5O6<5!v~i+p;EqdnAf5I{DxpZ|vtB&hBk=7787~dr(*Yn>uiCY);2l*~ z0~Py~gJ8B(1r@Z^7Xwe7+NWyCng9%V@;$Kuazg&JGv$mSz#pJaUrZONEAUqDklTK5 z2xR?_^h)T_Nv*^M&moY{zkf%EKCRh#s^M7(`7_NK0-5=d80(|=Ajd&okKA);5i@BQ z$o*jdNC@HhZX9}Qsh6CdrFA9QYNN?NDQNsenF z;sE|2{{#P}x9oqTu%S?US$}B$U{)5+Wb-mwC9aJ(H^n zlXqiOwM3P#tDm;p0jd1KtxDL21+j3fI`u6AHexR`z`Y=pVjoiNe&c&W&Zi^!8$JC? z=cghFIbHr8!nJ`ar0mWuou%(fBTreKol54*p;*tTrI8b&FhHMxI>-K74}mx)lRRJpR+%mK%H9-u$($#G91D zlN`y=2wiN)ka{<~_0*TX;MD!tLTIzo-r{w~8f);@AE%b^!UK1lM)(2MCv|OHe&RAk zL)cU~aT=qZXZW}yqF)zMmL^<&b_V{@DO;LG!+V6i5@z}n1yty^>6!(_TuKYE;=NII z&?B`J#pu%WGB)LL+cR?=dFn@Y{Xid~j5fzHwZ*E1)3i>9k1ko70+|5V)E+SMH;l3< zc_!qASe^Cf?9Nl=Z^3O-6hjMmPD{xulR+{OSD!heGz-GY;Pxr=ATwLttrLD^&nPxm zXooL))Q*Eg5;4&suH2Kgagz=`4~i zhl+F95Ie=i-cFY=2KaI1=x!0cH(wnl9o<|%W&sEYM)sutoZkW{Ui(tJ`Xc~5!xrih z9${VEml&wqqWmoX@}{&^-DjFRok!Heds7UCD-5oO32uf|h~D}G?PC#cxqhT!Q6;9| zu;V2tmu6IcAdU0HZ0%opCJ}Qom*;Rca&y%mKAf3xwev70$V@ ztckn{_{$XqNze_nYA>NK_dtt-6{yeEx`CK{nvS!on#u}{E4Rj0z{pBq{Rb#U%cm?u zAD0V`+8m4{uZ7T)$TT1t4y@*szHx@+2zcA72mezLuKs9|NLsD|N2uK1eU zBe(AyfGSP5%H>(RZoG~0(h!VJGp<^_dbL}Stb$TdUwT5l+oC$1pNZ=nMxRS33?~Tw zKA8vj@hY*RqM3E(oU3cOOjO^|U67Ee&XGyQFIilb8qst7xC{6}2K-Q}DJup1sNcKI zqN$iu`KX{A0CG|&32U^$ic|P0)8%We)LzX%f!J(ac?_?S1oG{?wF%K1_&?MN9; zowU$l*BtQ7dT|-7gsoKLzd#S?!&ldP*OBde$RL9J+<`X(V^!Osbv$`k!ypUiX}c7sB_2uBaeJv7((BjLk_P#nI}5VAu%r2mLSO>% zn4$)zU_Cv85d8atRFpzcSF8AtB$C_Bsp(8sS8}f4d+?$f?+7{=gD8Fd#3-?Cdub~c zIVv3RdhAG6r?*8}&Ab2@8t^@g0zgKmc%0HavgK<6*}lrB1H&m7xo#Tz@HIzBSMTx4 z^$&F_zk1%?X0fUP?|kvNzWxB0Rw&6S$J+Pny2y{m4Wm_u@(l+fcVxFslO&%NOxhga z^vhQG5z=(;dUFD->OHr?8jB`or(nFP-~#=$erf=CvS-}OLn9n=mKp?Pd~(Rs2&@*zqKet3}(eF+ zR3wUk9v^dRMxInfQ^LI5vT3P@D_Z#arq_W?A&JlsFz<0ZXmWGVJ3ae zOG7K!d-0m?Ua4x`7Q9Jxa6OJ|`W^?{oSbcTjTA;yV0iQ4V_c0;zVHnz6kVu3HYj+U z#bqN;VqyaQ;Msx`O0fL3*T^Q*k)V7h94=8N zMKXeD&yUukoKN0Q8V-6MNXSwjX?qB!OY)-$+U3{2Igw20; z%U2_x69Yy6)%lQCU9$^3%fq);Qx&+)o^E}orD`4*^;uuUFf+Y@5aO338pWRLv%2Ux z`Vph5&duu1lT-F7cOOS6Bt*5kW%14Pf$E1qj*RF8B3!w$<&JaF$9>P{4rLU`rz4|O zmbd87Yk$+UV$=PmC##N4GIQ*in+uf}oW{kW$g?@XjuT6q8U{IG15m{TUH;YR1YNsP zSeuf$7JYK2ok%CsOq}agUa^d~SL^*I4TM1eny6ST)W*xOw@3rym2)8|)WR(b^4KdY zwY_CicETn)i_~_87jGs9=@iZGb4KdbsM+^2Ve%$bN`#_M8 zZfd;#b@^}6u4bzqO;BH^-t4kqU!LHf&i<>xq2jTHutS$0E4q>KqNS<&V|?#yt_D@9 zK`;o@)EAvhz)5ntu!zqIh!a9LeN!E{=MZ6G{*`y2xEhugmqKUF+raoTo$dlykTX4oMIR$G3|~yrAHEC6C-mLK6-(kY_x-en9*} ziLLb7`%G9cn}&c*2n+>f=f{hSAG03=AWewBpHz;-mg$?HfaZd&JlUz7(0|keeKPP7 zK5LTCeqcY`;VD~`|Fedliw-QixsSURBwP7u%|5csg?yBV()5jm^``x5;Q(Z{bm+@wE)@|dyv;uYRApjbB-$udwRu5{{?%{ zyu<0;U4E=E!pMXL2#A|V$0#_n&8`h&c6zJf;yZLXy#+1!4sl8oE~C?wgR!n~og911 z0kE3jJ^wEKFHJQNuz(c(MKQW=HFA19%9}X7c?G!ONQjUSR315EBhsOi5E|!dN~eku zA$`s33I2%2Hs6$L7=9$FT2IFk%USQ;_sL23{E9;$B2#ubK|^>`hWqy+jeM_(l6>KG z`q^Vd3Wb2N^5lu_#fHVar(w+mQ6Padqp!!!ehR&oF~wrSjg3NKM1Db49jA83z@q9Wpf!Qb~oW#0ka2ih}aO$|iqtGOV%Kap>xRkufX)zf}2NC)-bYBDC$^2EP@(TwZ zHB`mApNCOJft>o1$oqiDCM*Y->k;N2cV6ph&r=0abtdE8-1~ImWKACD;D?R~DdAQ3 z2oLL->@Uzizh@*b@;W4RtY+kO8~hcwlU!EuROk``kc!9MZYH9MzgmyXDq+|+GjJc; zdJ8#gfd}!)QDhQmk)KVk%gm-HXo~wzwE;3Ca~rtK5rPHIY&oD)d59g8Zcl#}df_ZD z*0ns|xi)Q6bWr~YH@|Tn?Cq_;B(vDpohX=zD5lZT`gkWYEU|1h>?G}7=K#gN(aYUg zOzs#qNTquzNT}pQPm7QvN|oh7km5}^vQx+PCp88}Co@9Q6B!9jBQH8frtwYi*1?d> z3R;9k1`FO=5M7 zwrVjF=-`2ABhAxwY26(W*HoPQ8|Z_veJm)X{w<@!!Lf~?JpQoDwgYCuw$p(c!UzY% zdFdUZ(gIyk&}oAuf56Z&QP|{^SBBS8#OOq`YYxku<1s@Y{96=1t&1N%6-T{=p3PMxa*@TLQ(^zn<7zkI5Fx z9KTD>bBwyrt8QNyD51l&bG_b$Wy&{N;fA(1F7ilAd0>X!(kYK1=UOCY)_TwTL9h2T zqd5$_vtI&o%E2vh0=04~8@VGeruD)Av{eFm`j*j7EN>i`$_<;4b-flzE^ANs>>!f% z1~$b#K_tm|5rz4OaT$$EJknIesb=M2N!7Fv?rgyBXh{o1Pbwq}{k=!h<=NW^x2&SV z#+FNYe!YJ|n^t-8V6~Cp8dQ`ux^VB&@+!BD*3LDHFBp1vhu#WLKTOuKSEtpjDZBo10&OH<NJ@RVhY>dd+}Lt z-kM`s&-$)151Su|8!??T%usI_bcMeyy)Rb~v6r5!Go1!g0l-gkHAb2XMAvG|>>HqJ zXyJe-Ul?`|=S9RCn?~DXbE0x(KCR1Odpc3rnr%@8u;HH!;Yg>r7X3a*zOhqdGgtN0ai7*HdWRdIj)nz7RKUI)iJiv3izS*Tr?{H!+>b9E+J zOL3zh>>>$un4WygQ7%uvI?79;E1_2`d%1tItac$769SU@Z{c8HNNn(xu@N2z<9C(heqTIXkBZ}xmYiO~6CA27^d^W$-&1iaGgfynd=pB-D& z@7lbM3i>vJe}Wk6Z`?3OPWnP=ZkeF3%k6xW{u!bVdA3gI%(*liN`9{%CWqTL zYumO`U*x#)2F3+@WH#JS65GztirfWAfk;yYlM+6h%N*U#IR+}T{x&lybWCMK>+3!u zjvCzi+@c{I%$pG8g<;piVzLSi)C-q*D9Uzl94r{ppLaRBJ%G1rhey>Otl{4i4F0C_ z#m94*8%2c?U;EDAcB!9xW}w0?{rz;Ug?S0pzTV}mgV-a)>ZnkSv~Ln89Zb~XZtQw^ z5&B4D#;t%aSVB;Lmz!6Vex#`reB&8mg;ThZKK1K3Haa3f>+tG6U4$Cr^hG}*CJYt% zwIKk=_B<5&VX!FOD(I^d=Ge%yA26z(I7E`n%Zy5+MDy*Z^LPs~U{~-7Q>hoKl2bo- zexMZBu&*~7UvnJ6!LnR&a?d;X-Th>*q*_}l z3ep_WUM0oj{H;2nC5sjUk8!*hE?{FNBRK5rWU=VNPQXZG;pgDqm8}pRoMb!aUDOfu zK0p0Zj1CrO{7Pw`AM_f!I)R>+AwsW}24{94& zRjD1KJ~wpK4)h0Rs)8b8`dm0;cnRm-Oj)_1&}~L-SB9QVzS>d`L3p9Y?MyQJx7U4zZb2})d|5`T>H(sP})6*16|de z(^?@8E5x;)^pB%40lO|&n`hYEbjaofRfVHX)G>&w_wqOPb@cjEtI8d%pbJU|292o$ zqSC%(C-a6?H3Rgo2AA|KNfVxbW>p|Cg6FnGO{`xPzpv{^B{kBXw>8-nn$S6{v~R#; zsI>Sd0JzvO10pITF$65@!;Yd&Z!1>Tr&K@%i2OI%Y-YtDO>(Erbt9pOj5 zOKCU)53VGsl!omIEqeaXta1qM?XCOTFJAxz;&X4OnQ1gFD0V|K|=MKMlu+ zpM;>JP`t}pZyDx4HzA3x?t61g@k7ssnIi33QN@gkMs`pwT;1i*nPVP5Hzk>v8MjBt z@cHho{=K-sT$d}C;h!+(Gi2Sbi9BqU;sgbo5jOM$P@8 zw`Ag9?VN=F^zjQ{w`W8=@{ zhsu$DDF@cn;2krj7PxKt<;(I;hCJtLiDrn1ysdF+uB5eY4DjnV4VTU|RW)@v{cG-X z*`ct4(V49Fbllw7U2bWx1^SEBse!*CJb+FEVneYaugUq3X9-jUG`Jbp zVql`#-%XYi3>6bJs7Zvx+-nbDrh0PwxGPge6R$KD{Pq;re9`%cb><^d1G z8;I%Rr=vmCD1}xIRYREHR}wkuSu+2>^YLQy2{g7jXy+A@oGW1~=kI3im#T|B#1AS; z=pAup7D28bS%Iz*N9YMb@Tjk$h9B`bbFZEjNBPE1UL9NF*ZQrFyUQjqsA>4_A`g^f zv9|eRPHnNlw@|{@3P?@M;EAkymvS1T$ z_Me)Tbm|sl&tzPUVn-3uGy2t!PB8fm_It+HS6q%dmMArE2EGOqew4CwIbJief*Vdu z?KV*-LErivN|Ncrr*J+v+)fddIs(X@SbZX;I!fH1%-BC%MtWaiR6@479n^Xgm|Usu zU&9ICLwW(oj5Dyu-t!1H_k!LJ->sjYr}T%z{^|76nQ}`youXSHb_3-~(*zw#%uZ~1 zAv@Jf$km;mN{nLmw?DUHZ@D~}ts>g;ws^Xr7fnfb7RdivoPA0@T%=7-Rw8c0NB+As8QSg8j#N{-W94<=`!J&4RsfsB94D5Jm<6g zF2@G~Q8oPYk9~Hfo6*$S?zAWWqrG$gOZt5OxHZ#CSFSb>WngpVXJwjMEfgiI&6=jQ z=2^o-X^E(LMiflf;WJBIElX3V+_FMMGDSs1v!XnaD?Fi6dB78*A|N92y|KfpPy74< z-^a(_z3=;dbG@(ox~}_mJ>MO$&>2O?h$?(0h<7z&puY>;UcOHwO5Aj|-W6)W#Z^mg zKLlsT%)RtTBbPDmBpl|G5#-83$HGfwEyf)M$RJeE2sRwu1|W>1Qqg+B_)5aWrKs@t zt}4|h9DKcH91geu-I3to(Wf}@5dieM2Vs+*8zD?mscVrmnH+RH_|dZn#&b9#+|J5cub*muIQa86n)~&OQaBeM|RWP%y&J?SV(5X#| zz5NrR5F-U+kRZB95W9W69KiM{UXS`=%$A`t14k1n?u(*Tqno^IE+ZqD207B11M#;< zJ%&0We3Efewl~H&gf0>afKcL4E?LH9*!tt?>T zn4@05)eaN8a7)gGpkmCe**14$jg{r(XmQ32%=4;FM#Ddh?YGSzb@J)I;0*Dpf_dK^ zvWSMI6B@(#5k8-spSM@TXZ36h8>=r*3pX%QPO() zui#}7tXUX-N)twxWh2YWK8%#c<&%M3*2BjROf8AB@J_zaVNzyiu;KcUb4vDtA#YAk z{32Qfr-x?ViSy~rfwgW@me0__yJZD~g2(}@WV~u_1gSd6xfqQl$xop^I{!(QyJ;mO zzhw@t>`S^g^9|P|?#r5R;YCs_1l=ZU?7?yvqbxe;D0Vi5m93jH_FCA^oO66+f8nIe z$d3O#;*3*wooMZ-Dv4XNup^hJXteb8`7j)rPBPk?=M}#=TH2QjCLqA^WvP$W(~;6A z{v~d>$rw?^WnPG?)b*E)F$VNmP76+1ozJ5W6!61Ep7e7N7Db`_2Gd0udr5E@{iiv~ z&*(pzx@0iu-M>9Q^yJf@W-SC0z$Z}bkkZgigQJvFe|j~D(NiUxe1iC^km0=|IK)0kJQ-`KO$*V!`^o(WSb~#d7Nkt<>D&fa#$x(c!NKU{zhaztX1f~? zQh^ryN_$yD&@rY=3O)ZVyCnEt1l}1d>o$h9Zi8hp9?MxAS_Bw<(LaywqKEZu{xdz& zcRzHGM_r#Q$RX`fCHfCQ^fl1c6M}o$Ie#zl-YG1>)9+3W?QHE=2fiR|oe|hlB)*qr zURR?XMq74n7f9{Fsq;}JuXdIohA;Ytl_htH^6L>y6Bf}*PKGrLlfjAlQNLwP&}3i% zSkl8h#OJ)e$|_E0lKEMR)~6q$hN$0jk7_w)Iauo2(Y@)p*F^(czh8PcM0NMhhS&Yu7KjIlIR%YqL}UJMl%v#>aZn43tC`q~fb`YH!%M8$BKvA%d9u zBM@Mut32M+(V^+^Vn!Li8<=pasBAXv*CdOwRZ7!z+iB%AsKT^?#7f)<@_~=og#e%v z)`>6Z3MP-43to+hYf*)iHpc1VCQ-D>*<_be3|bwzum3pgJ-t1@c)jH-G&c|N)z#>h zrPaJ+`}r8Z?JUkI6KREnHTMuq<@8bNq3+lOjeNULX;S+M9$$~~z_{PF?O%}GPSmPJ}D|@NpM*A_khFo!3 zSu1$9u;ZPMt(;m)ZEslR*WQ>+l3z;kxGd&^ANlP&83r1@E1315K-jVL5D)EiAX{*+ ze$Et?+qPwRE9W6mk)gB38{k@(8L#9W@ zD}Gw8eK(B=y2{ky&{K0HrOhI^C|TKagCBm|w&86R08C)4c9Uw`A~!}Li1`lQr)gM0 z1({RV3R8AZsSLwlMROro0yk%){b|R3T9smA)B|R2O%hW!mdhT$HRqY7hDPY4Y`|Fm z`s7$xJw@TWvBZ0?Wg+WW`ePEFv2yExQB)PSG!A}SrGM@q!EqqL9hV$Qh4M#xpUQH( zWxr0IsIN#w86~;6!!p;5`n;we%*Vg4ONIc!I$z%eKV1IW06yx=r$?vdKncq1)Cmlk zDXqZ76m9$g=>)H&xN%#QMdnbFE3AlrWE@i*2M{dwZ??AU5W_z)uG{Tx0S3qfKzVb1 zFC97iv820Q45e*pke_`;4#0ANMjEYbW*0)y2l)9h)w0oU54@svLQ*tkNL&ZK><%?e z<7lI{Wv&T(v)*~=#eC#71~-UYr@o$lUEEbnoV#CXge7H-Mv%4e{QklAEyw(H%y?Y` zv$<9RlsBKkzA?lu**+E%Lo6Dl_sZKG_TF+IDcBiTy#H@Jj|)d#j{-$``VQAOMx1}$ zU+X+mSBt9uYK@T(B;x2?6y(l=!NTDQ(4_JNfH{)QSZfF-(gRA<%r#x^cM$fVT?tgq z-0&|a3MN}#OTELAjW-r*3_v*)al+u+Y+d9!iw z)b=yO)HKqiH{h7D+pO^f_inf5G<8sqnfDIL1jy&DTh0m^Y+$Z*b+{3i(h5FI@BQL|{m=GafNLp@n%y%xgb=P@sSf?V=buG>Dv86| z2Dd(AdSxmOPOu+{Um6%fclC*uoXr*d8hR_2NtGHxB)o~mfy*zkUXSo?=fg*)Tx6H8 zg|`L315620vol9KCXFR$DUmdZy?B0CRutMNn!}(WL(sJP6I*=&g8dU1{0!m}mK`{i!4rbb`d zN8v+8*pfBsdV^1`;2h4G(AsI`C%1xcATYTAb`pIzPCXF+?|}|@SWGS)hiw_G_)(*U zAUJj_i!|nI%kGc!$WFVtW$rNkFg1+SJXf*^Mt6iXfLjBre&xNycnq8r>8#4E4WZSm z*)I9OpDvSw6H~BLDN|nsAn;_oLZUj-aOhq&1;--A;bEtb8nX!fUcE1%YIuvPq3!xD zm6;5-dqgopfT~)?@Mv8mLPemWNn3zQCdGAI<*}jH2)-8^1SfHD$NP*HShy4JM%1Qp zMY!_HhT2dFyU;PMYickdXVx(YHCbH*ygV1$&_iS8RXt@LdZu0)d46fIF1WYgm+LBB zWC{MyIcwetV$$cUp5y!M37+@cYL%nzQXnGsFZ8?CtaB9_|J(8uKg_c7ddxK_Crr`c5e?*%$-liyhEE zyvQWgHL{0)+bm7cVEk?(-B)doo_RKMz_V%A*5~?0+ z*A&6Eef!~02?Z-|Y)3P6SBA(q$vjv|rRr7VI292Ru_%+7n^r$9ZYRr1*J0fs(QcB? zP~=St-!c;DG*nDmV2lA}=x{qBaR;CbC0^d3s9B3RlMR|E1l?gX%0tB{Bm#aYwcRXx z@ej}$?-!vj7#49E)9~OlaM8Pbw}QkB#7O%QvCAF$n#0 ze{DH!Zw_~Y@CN4`qh@^qj`Xm-SUP=(*~C2=CmPhpY}BlW;j`nD_vhYY-<+8>4ko&l zZkEdQw#)3i!R*sB3^IbLMS1>`YDQd)jo*j`ca}+&RXb(J@+OuTf|g&Rwzr={#__VU zRJI+;p~pGzDB8T?JKw@QdYg1a)^shVLa2*Tp?Y(zo>_`idzs!Df~7$=`+eIHb}4>G zQVsx+w|ZI&37>W94=-yZ)K{MKYQ`*p7bmQ~9IDDwEDa?2Z#QXDZoCr^vAUrxq0=k` zPi~pMivZrI04Na%`f3QqNph}El(Tj0)|CD7ZyQ5}r+xuiSz0_Yzc`lCyfomdvDk>P z590KFM!q*zJhLXs831(J7AXtVo#1+E5ke;EGmiHyFXcBQS){b*2hoIlxxiz!D5BwB zlJGcp(G5iRc7^1@B|Yg#^>zhLBByxt00Hp$5U5a?#yJvHV%=wFz{SvxKEaC; zNXm9az;HPSm+7Mj4I+m2MwD5Q_BN4JaX!+HyI%}ilp5857hqhx2-MyO%=|SHEHN(c zh>{M22f!f?_A@11`<5v}q+qY=SQdGz*np;gp^R5%|0E~5HB2(SVJ*-t?5v&qHY3~H ze&WQRuE`qXtBj_8w;W#p$aCP-_t%5}{@Nn1IdRk4nXdGkOyNenPgcZlR9lMo4o0lP z&UBh`Ncm>RUQhyI!Z+(D@zJbx?UpOv>aKmBhbP(u~gNv2;BoAAVWC z-A4<2#CrbrJ0i=0kRJV(-I#O>Xij$HmhB=ex?%ltxV6lvb8^dSlDjaiokG>`0Zlso zBz}DX5DkDgL2=}L#QPqg_%OcUFzB678KM|D4Ri=Rm6z`i)dPi0X`j#!joT2{`|KV= z0X7f7`k!1A6r`urIL#+FhMIc7^GEL0x{i7|1aTO3^wQbqNc!227bl7hMIqF}!y3-y z*S=(y;D?KMkz`ii4;o2TaD%YJ?VnZef333AP_v`X9MP-PCyv3)&MHNSFm}Vw)maHA zrbhl9pV|&|AsQNEw@&3_z8E|AG=?G~MePQCKt%0#GbtI1uq; zbVka<(@o#twdfh@TwhEP9Bc2@T@m3Oc_Amgb za?zIIX7H*X?Y<0LHY1eUO-dfvDhhjm$EsOlXMHv~I6|XmH&NRHe_cQP>(@%r6cEq8 z+^0#~h7hSZKl%Wyf)ZEax;&5+lTA=@A=DKFx2!`%z~mzCi*EQ?_n`( zOp?GlPVU~KsSE+l$Q2?Si9{b65sa&C-P)|Rvu&kl5wC9k=UWe!0+2e9S?|F_4Kf;y?Xt z{NL{}QvLO8UcYnN*PPJWG%V7xs;!rgQzFuYCElKlo}dXVbvsds_L3A**B#yCPIh+YenI&IQ1cGO^E~&C)2bIz#H|_V%19=o(KM9r_vy zNSg11MHd5k1lWOq0i#mreTzo`S-s)`(e;N?jvYik?E2 zAK}e8^Om@Huv`+FT&{Qz)2(kd*{py7S5}o)N;Nxtr~B}dBeI$DK~11wgG5@q<<_p< zHSeAR25_a#%y$vJ77Rz@4ieSy8WM6bnVQ!Eb4%Z*{R-Jb~w&_lhOLLaznWLi zXA$W0GiPG7-_;et5B1-^^zc90{C}g(gU$Qj-~ay|NLejcEzm+^iFWL!o$ANk_r1%W JqFw%}{|8?{u4VuL literal 0 HcmV?d00001 diff --git a/doc/source/images/IMG_NSRDB-map.png b/doc/source/images/IMG_NSRDB-map.png deleted file mode 100644 index ed937bf47572837de44ec3437de28618acd00eb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130662 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

x2s5Xx{}mme~c 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 diff --git a/doc/source/images/SS_PV-ArraySizingMessages.png b/doc/source/images/SS_PV-ArraySizingMessages.png index 94b9ae3925eb133435a656297eaee79fd4ae778e..aa92547be4560cf80be59738abb90a92dd6c1dab 100644 GIT binary patch literal 3791 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 literal 5792 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 THFiw&Cl}*j>$JPrhK~FJI_~r} diff --git a/doc/source/images/SS_SolarResource-download.png b/doc/source/images/SS_SolarResource-download.png deleted file mode 100644 index 308b7e4d2857bc28ed7d4e5eda00aa87a1ca2825..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42726 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

fHyOpDjL&wr06k2N3f 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 KVs#=$LH`F>3Sy`L diff --git a/doc/source/images/SS_SolarResource-library.png b/doc/source/images/SS_SolarResource-library.png deleted file mode 100644 index f262cd3c3419ec8b88e81f07b1e856818af4b565..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108712 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