Tutorial D (extra) - pySAM Simulation
Contents
Tutorial D (extra) - pySAM Simulation#
This is only one way to interact with SAM through locally definning ALL the necessary variables and dictionaries natively on the pySAM, and then executing the simulation. SAM’s webinars offer more accessible alternatives, where you create your system on the GUI, export the values as a JSON, and modify/run simulations based on that.
STEPS:#
- Create default PV
- Modify default values
- Assign Solar Resource
- Obtaining the MODULE Data
- Run, Save and Explore Outputs
# if running on google colab, uncomment the next line and execute this cell to install the dependencies and prevent "ModuleNotFoundError" in later cells:
# !pip install -r https://raw.githubusercontent.com/PVSC-Python-Tutorials/PVPMC_2022/main/requirements.txt
datafolder = r'data'
exampleflag = False
debugflag = False
import PySAM.Pvsamv1 as pv
import PySAM
import xlsxwriter
import json
import pandas as pd
import os
import pprint as pp
PySAM.__version__
'2.2.4'
1. Create default PV#
Doing Commercial type because the size is bigger and it’s tracking than a rooftop. We are not really interested in the financial model here though just in the irradiance and power generation so you can choose a different one if you want
sam1 = pv.default("FlatPlatePVCommercial")
You can explore attributes of the pySAM object with the below cell. This will give variables, methods, etc.
#dir(sam1)
You can also query a single attribute. And export it to see the contents more easily
sam1.__getattribute__('SolarResource').use_wf_albedo
dic = sam1.export()
dic
{'SolarResource': {'albedo': (0.2,
0.2,
0.2,
0.2,
0.2,
0.2,
0.2,
0.2,
0.2,
0.2,
0.2,
0.2),
'irrad_mode': 0.0,
'sky_model': 2.0,
'use_wf_albedo': 0.0},
'Losses': {'acwiring_loss': 1.0,
'dcoptimizer_loss': 0.0,
'en_snow_model': 0.0,
'subarray1_dcwiring_loss': 2.0,
'subarray1_diodeconn_loss': 0.5,
'subarray1_mismatch_loss': 2.0,
'subarray1_nameplate_loss': 0.0,
'subarray1_rear_irradiance_loss': 0.0,
'subarray1_soiling': (5.0,
5.0,
5.0,
5.0,
5.0,
5.0,
5.0,
5.0,
5.0,
5.0,
5.0,
5.0),
'subarray1_tracking_loss': 0.0,
'subarray2_dcwiring_loss': 2.0,
'subarray2_diodeconn_loss': 0.5,
'subarray2_mismatch_loss': 2.0,
'subarray2_nameplate_loss': 0.0,
'subarray2_rear_irradiance_loss': 0.0,
'subarray2_soiling': (5.0,
5.0,
5.0,
5.0,
5.0,
5.0,
5.0,
5.0,
5.0,
5.0,
5.0,
5.0),
'subarray2_tracking_loss': 0.0,
'subarray3_dcwiring_loss': 2.0,
'subarray3_diodeconn_loss': 0.5,
'subarray3_mismatch_loss': 2.0,
'subarray3_nameplate_loss': 0.0,
'subarray3_rear_irradiance_loss': 0.0,
'subarray3_soiling': (5.0,
5.0,
5.0,
5.0,
5.0,
5.0,
5.0,
5.0,
5.0,
5.0,
5.0,
5.0),
'subarray3_tracking_loss': 0.0,
'subarray4_dcwiring_loss': 2.0,
'subarray4_diodeconn_loss': 0.5,
'subarray4_mismatch_loss': 2.0,
'subarray4_nameplate_loss': 0.0,
'subarray4_rear_irradiance_loss': 0.0,
'subarray4_soiling': (5.0,
5.0,
5.0,
5.0,
5.0,
5.0,
5.0,
5.0,
5.0,
5.0,
5.0,
5.0),
'subarray4_tracking_loss': 0.0,
'transformer_load_loss': 0.0,
'transformer_no_load_loss': 0.0,
'transmission_loss': 0.0},
'Lifetime': {'ac_lifetime_losses': (0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
...),
'analysis_period': 25.0,
'dc_degradation': (0.5,),
'dc_lifetime_losses': (0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
...),
'en_ac_lifetime_losses': 0.0,
'en_dc_lifetime_losses': 0.0,
'inflation_rate': 2.5,
'save_full_lifetime_variables': 1.0,
'system_use_lifetime_output': 1.0},
'SystemDesign': {'enable_mismatch_vmax_calc': 0.0,
'inverter_count': 7.0,
'subarray1_azimuth': 180.0,
'subarray1_backtrack': 0.0,
'subarray1_gcr': 0.3,
'subarray1_modules_per_string': 12.0,
'subarray1_monthly_tilt': (40.0,
40.0,
40.0,
20.0,
20.0,
20.0,
20.0,
20.0,
20.0,
40.0,
40.0,
40.0),
'subarray1_mppt_input': 1.0,
'subarray1_nstrings': 134.0,
'subarray1_rotlim': 45.0,
'subarray1_tilt': 20.0,
'subarray1_tilt_eq_lat': 0.0,
'subarray1_track_mode': 0.0,
'subarray2_azimuth': 180.0,
'subarray2_backtrack': 0.0,
'subarray2_enable': 0.0,
'subarray2_gcr': 0.3,
'subarray2_modules_per_string': 0.0,
'subarray2_monthly_tilt': (40.0,
40.0,
40.0,
20.0,
20.0,
20.0,
20.0,
20.0,
20.0,
40.0,
40.0,
40.0),
'subarray2_mppt_input': 1.0,
'subarray2_nstrings': 0.0,
'subarray2_rotlim': 45.0,
'subarray2_tilt': 20.0,
'subarray2_tilt_eq_lat': 0.0,
'subarray2_track_mode': 0.0,
'subarray3_azimuth': 180.0,
'subarray3_backtrack': 0.0,
'subarray3_enable': 0.0,
'subarray3_gcr': 0.3,
'subarray3_modules_per_string': 0.0,
'subarray3_monthly_tilt': (40.0,
40.0,
40.0,
20.0,
20.0,
20.0,
20.0,
20.0,
20.0,
40.0,
40.0,
40.0),
'subarray3_mppt_input': 1.0,
'subarray3_nstrings': 0.0,
'subarray3_rotlim': 45.0,
'subarray3_tilt': 20.0,
'subarray3_tilt_eq_lat': 0.0,
'subarray3_track_mode': 0.0,
'subarray4_azimuth': 180.0,
'subarray4_backtrack': 0.0,
'subarray4_enable': 0.0,
'subarray4_gcr': 0.3,
'subarray4_modules_per_string': 0.0,
'subarray4_monthly_tilt': (40.0,
40.0,
40.0,
20.0,
20.0,
20.0,
20.0,
20.0,
20.0,
40.0,
40.0,
40.0),
'subarray4_mppt_input': 1.0,
'subarray4_nstrings': 0.0,
'subarray4_rotlim': 45.0,
'subarray4_tilt': 20.0,
'subarray4_tilt_eq_lat': 0.0,
'subarray4_track_mode': 0.0,
'system_capacity': 498.72},
'Shading': {'subarray1_shade_mode': 0.0,
'subarray2_shade_mode': 0.0,
'subarray3_shade_mode': 0.0,
'subarray4_shade_mode': 0.0},
'Layout': {'module_aspect_ratio': 1.7,
'subarray1_mod_orient': 0.0,
'subarray1_nmodx': 48.0,
'subarray1_nmody': 2.0,
'subarray2_mod_orient': 0.0,
'subarray2_nmodx': 9.0,
'subarray2_nmody': 2.0,
'subarray3_mod_orient': 0.0,
'subarray3_nmodx': 9.0,
'subarray3_nmody': 2.0,
'subarray4_mod_orient': 0.0,
'subarray4_nmodx': 9.0,
'subarray4_nmody': 2.0},
'Module': {'module_model': 1.0},
'SimpleEfficiencyModuleModel': {'spe_a': -3.56,
'spe_area': 0.74074,
'spe_b': -0.075,
'spe_bifacial_ground_clearance_height': 1.0,
'spe_bifacial_transmission_factor': 0.013,
'spe_bifaciality': 0.65,
'spe_dT': 3.0,
'spe_eff0': 13.5,
'spe_eff1': 13.5,
'spe_eff2': 13.5,
'spe_eff3': 13.5,
'spe_eff4': 13.5,
'spe_fd': 1.0,
'spe_is_bifacial': 0.0,
'spe_module_structure': 0.0,
'spe_rad0': 200.0,
'spe_rad1': 400.0,
'spe_rad2': 600.0,
'spe_rad3': 800.0,
'spe_rad4': 1000.0,
'spe_reference': 4.0,
'spe_temp_coeff': -0.5,
'spe_vmp': 30.0,
'spe_voc': 36.0},
'CECPerformanceModelWithModuleDatabase': {'cec_a_ref': 2.57764,
'cec_adjust': 22.9092,
'cec_alpha_sc': 0.003735,
'cec_area': 1.631,
'cec_array_cols': 10.0,
'cec_array_rows': 1.0,
'cec_backside_temp': 20.0,
'cec_beta_oc': -0.175619,
'cec_bifacial_ground_clearance_height': 1.0,
'cec_bifacial_transmission_factor': 0.013,
'cec_bifaciality': 0.65,
'cec_gamma_r': -0.386,
'cec_gap_spacing': 0.05,
'cec_heat_transfer': 0.0,
'cec_height': 0.0,
'cec_i_l_ref': 6.05373,
'cec_i_mp_ref': 5.67,
'cec_i_o_ref': 8.36043e-11,
'cec_i_sc_ref': 6.05,
'cec_is_bifacial': 0.0,
'cec_module_length': 1.631,
'cec_module_width': 1.0,
'cec_mounting_config': 0.0,
'cec_mounting_orientation': 0.0,
'cec_n_s': 96.0,
'cec_r_s': 0.30812,
'cec_r_sh_ref': 500.069,
'cec_standoff': 6.0,
'cec_t_noct': 46.0,
'cec_temp_corr_mode': 0.0,
'cec_transient_thermal_model_unit_mass': 11.0919,
'cec_v_mp_ref': 54.7,
'cec_v_oc_ref': 64.4},
'CECPerformanceModelWithUserEnteredSpecifications': {'sixpar_aisc': 0.004,
'sixpar_area': 1.3,
'sixpar_bifacial_ground_clearance_height': 1.0,
'sixpar_bifacial_transmission_factor': 0.013,
'sixpar_bifaciality': 0.65,
'sixpar_bvoc': -0.11,
'sixpar_celltech': 1.0,
'sixpar_gpmp': -0.41,
'sixpar_imp': 6.0,
'sixpar_is_bifacial': 0.0,
'sixpar_isc': 7.0,
'sixpar_mounting': 0.0,
'sixpar_nser': 60.0,
'sixpar_standoff': 6.0,
'sixpar_tnoct': 46.0,
'sixpar_transient_thermal_model_unit_mass': 11.0919,
'sixpar_vmp': 30.0,
'sixpar_voc': 37.0},
'SandiaPVArrayPerformanceModelWithModuleDatabase': {'snl_a': -3.62,
'snl_a0': 0.94045,
'snl_a1': 0.052641,
'snl_a2': -0.0093897,
'snl_a3': 0.00072623,
'snl_a4': -1.9938e-05,
'snl_aimp': -0.00038,
'snl_aisc': 0.00061,
'snl_area': 1.244,
'snl_b': -0.075,
'snl_b0': 1.0,
'snl_b1': -0.002438,
'snl_b2': 0.0003103,
'snl_b3': -1.246e-05,
'snl_b4': 2.11e-07,
'snl_b5': -1.36e-09,
'snl_bvmpo': -0.139,
'snl_bvoco': -0.136,
'snl_c0': 1.0039,
'snl_c1': -0.0039,
'snl_c2': 0.291066,
'snl_c3': -4.73546,
'snl_c4': 0.9942,
'snl_c5': 0.0058,
'snl_c6': 1.0723,
'snl_c7': -0.0723,
'snl_dtc': 3.0,
'snl_fd': 1.0,
'snl_impo': 5.25,
'snl_isco': 5.75,
'snl_ixo': 5.65,
'snl_ixxo': 3.85,
'snl_mbvmp': 0.0,
'snl_mbvoc': 0.0,
'snl_module_structure': 0.0,
'snl_n': 1.221,
'snl_ref_a': -3.62,
'snl_ref_b': -0.075,
'snl_ref_dT': 3.0,
'snl_series_cells': 72.0,
'snl_transient_thermal_model_unit_mass': 11.0919,
'snl_vmpo': 40.0,
'snl_voco': 47.7},
'IEC61853SingleDiodeModel': {'sd11par_AMa0': 0.9417,
'sd11par_AMa1': 0.06516,
'sd11par_AMa2': -0.02022,
'sd11par_AMa3': 0.00219,
'sd11par_AMa4': -9.1e-05,
'sd11par_Egref': 0.737668,
'sd11par_Il': 1.18951,
'sd11par_Imp0': 1.05,
'sd11par_Io': 2.08522e-09,
'sd11par_Isc0': 1.18,
'sd11par_Vmp0': 64.6,
'sd11par_Voc0': 87.0,
'sd11par_alphaIsc': 0.000472001,
'sd11par_area': 0.72,
'sd11par_c1': 1930.15,
'sd11par_c2': 474.64,
'sd11par_c3': 1.48746,
'sd11par_d1': 13.5504,
'sd11par_d2': -0.0769735,
'sd11par_d3': 0.237327,
'sd11par_glass': 0.0,
'sd11par_mounting': 0.0,
'sd11par_n': 1.45071,
'sd11par_nser': 116.0,
'sd11par_standoff': 6.0,
'sd11par_tnoct': 44.9},
'MermoudLejeuneSingleDiodeModel': {},
'Inverter': {'inv_cec_cg_eff_cec': 96.6095,
'inv_cec_cg_paco': 3800.0,
'inv_ds_eff': 96.0,
'inv_ds_paco': 4000.0,
'inv_num_mppt': 1.0,
'inv_pd_eff': 95.0,
'inv_pd_paco': 4000.0,
'inv_snl_eff_cec': 98.2284,
'inv_snl_paco': 59860.0,
'inverter_count': 7.0,
'inverter_model': 0.0,
'mppt_hi_inverter': 800.0,
'mppt_low_inverter': 570.0},
'InverterCECDatabase': {'inv_snl_c0': -2.06147e-07,
'inv_snl_c1': 2.7e-05,
'inv_snl_c2': 0.002606,
'inv_snl_c3': 0.000501,
'inv_snl_paco': 59860.0,
'inv_snl_pdco': 61130.8,
'inv_snl_pnt': 17.958,
'inv_snl_pso': 97.214,
'inv_snl_vdcmax': 800.0,
'inv_snl_vdco': 630.0,
'inv_tdc_cec_db': ((800.0, 28.0, -0.02, 56.0, 0.0),
(600.0, 52.0, -0.0375, 60.0, 0.0),
(390.0, 38.0, -0.0125, 50.0, -0.025))},
'InverterCECCoefficientGenerator': {'inv_cec_cg_c0': -3e-06,
'inv_cec_cg_c1': -5.1e-05,
'inv_cec_cg_c2': 0.000984,
'inv_cec_cg_c3': -0.001508,
'inv_cec_cg_paco': 3800.0,
'inv_cec_cg_pdco': 3928.11,
'inv_cec_cg_pnt': 0.99,
'inv_cec_cg_psco': 19.4484,
'inv_cec_cg_vdcmax': 600.0,
'inv_cec_cg_vdco': 398.497,
'inv_tdc_cec_cg': ((800.0, 28.0, -0.02, 56.0, 0.0),
(600.0, 52.0, -0.0375, 60.0, 0.0),
(390.0, 38.0, -0.0125, 50.0, -0.025))},
'InverterDatasheet': {'inv_ds_eff': 96.0,
'inv_ds_paco': 4000.0,
'inv_ds_pnt': 1.0,
'inv_ds_pso': 0.0,
'inv_ds_vdcmax': 600.0,
'inv_ds_vdco': 310.0,
'inv_tdc_ds': ((800.0, 28.0, -0.02, 56.0, 0.0),
(600.0, 52.0, -0.0375, 60.0, 0.0),
(390.0, 38.0, -0.0125, 50.0, -0.025))},
'InverterPartLoadCurve': {'inv_pd_efficiency': (0.0,
0.0,
34.42,
55.2,
65.59,
71.82,
75.97,
78.94,
81.17,
82.9,
84.28,
85.42,
86.36,
87.16,
87.84,
88.44,
88.95,
89.41,
89.82,
90.18,
90.51,
90.81,
91.08,
91.32,
91.55,
91.75,
91.95,
92.12,
92.29,
92.44,
92.58,
92.72,
92.84,
92.96,
93.07,
93.17,
93.27,
93.37,
93.45,
93.54,
93.62,
93.69,
93.76,
93.83,
93.9,
93.96,
94.02,
94.08,
94.13,
94.18,
94.23,
94.28,
94.33,
94.37,
94.42,
94.46,
94.5,
94.54,
94.57,
94.61,
94.64,
94.68,
94.71,
94.74,
94.77,
94.8,
94.83,
94.86,
94.89,
94.91,
94.94,
94.96,
94.98,
95.01,
95.03,
95.05,
95.07,
95.09,
95.11,
95.13,
95.15,
95.17,
95.19,
95.21,
95.23,
95.24,
95.26,
95.28,
95.29,
95.31,
95.32,
95.34,
95.35,
95.36,
95.38,
95.39,
95.4,
95.42,
95.43,
95.44,
95.45,
95.47,
95.48,
95.49,
95.5,
95.51,
95.52,
95.53,
95.54,
95.55,
95.56,
95.57,
95.58,
95.59,
95.6,
95.61,
95.62,
95.63,
95.64,
95.64,
95.65,
95.66,
95.67,
95.68,
95.68,
95.69,
95.7,
95.71,
95.71,
95.72,
95.73,
95.73,
95.74,
95.75,
95.75,
95.76,
95.77,
95.77,
95.78,
95.78,
95.79,
95.8,
95.8,
95.81,
95.81,
95.82,
95.82,
95.83,
95.83,
95.84,
95.84,
95.85,
95.85,
95.86,
95.86,
95.87,
95.87,
95.88,
95.88,
95.89,
95.89,
95.89,
95.9,
95.9,
95.91,
95.91,
95.91,
95.92,
95.92,
95.93,
95.93,
95.93,
95.94,
95.94,
95.94,
95.95,
95.95,
95.96,
95.96,
95.96,
95.97,
95.97,
95.97,
95.98,
95.98,
95.98,
95.98,
95.99,
95.99,
95.99,
96.0,
96.0,
96.0,
96.01,
96.01,
96.01,
96.01,
96.02,
96.02,
96.02,
96.02,
96.03,
96.03,
96.03,
96.03,
96.04,
96.04,
96.04,
96.04,
96.05,
96.05,
96.05,
96.05,
96.06,
96.06,
96.06,
96.06,
96.06,
96.07,
96.07,
96.07,
96.07,
96.07,
96.08,
96.08,
96.08,
96.08,
96.08,
96.09,
96.09,
96.09,
96.09,
96.09,
96.09,
96.1,
96.1,
96.1,
96.1,
96.1,
96.1,
96.11,
96.11,
96.11,
96.11,
96.11,
96.11,
96.12,
96.12,
96.12,
96.12,
96.12),
'inv_pd_paco': 4000.0,
'inv_pd_partload': (0.0,
0.404,
0.808,
1.212,
1.616,
2.02,
2.424,
2.828,
3.232,
3.636,
4.04,
4.444,
4.848,
5.252,
5.656,
6.06,
6.464,
6.868,
7.272,
7.676,
8.08,
8.484,
8.888,
9.292,
9.696,
10.1,
10.504,
10.908,
11.312,
11.716,
12.12,
12.524,
12.928,
13.332,
13.736,
14.14,
14.544,
14.948,
15.352,
15.756,
16.16,
16.564,
16.968,
17.372,
17.776,
18.18,
18.584,
18.988,
19.392,
19.796,
20.2,
20.604,
21.008,
21.412,
21.816,
22.22,
22.624,
23.028,
23.432,
23.836,
24.24,
24.644,
25.048,
25.452,
25.856,
26.26,
26.664,
27.068,
27.472,
27.876,
28.28,
28.684,
29.088,
29.492,
29.896,
30.3,
30.704,
31.108,
31.512,
31.916,
32.32,
32.724,
33.128,
33.532,
33.936,
34.34,
34.744,
35.148,
35.552,
35.956,
36.36,
36.764,
37.168,
37.572,
37.976,
38.38,
38.784,
39.188,
39.592,
39.996,
40.4,
40.804,
41.208,
41.612,
42.016,
42.42,
42.824,
43.228,
43.632,
44.036,
44.44,
44.844,
45.248,
45.652,
46.056,
46.46,
46.864,
47.268,
47.672,
48.076,
48.48,
48.884,
49.288,
49.692,
50.096,
50.5,
50.904,
51.308,
51.712,
52.116,
52.52,
52.924,
53.328,
53.732,
54.136,
54.54,
54.944,
55.348,
55.752,
56.156,
56.56,
56.964,
57.368,
57.772,
58.176,
58.58,
58.984,
59.388,
59.792,
60.196,
60.6,
61.004,
61.408,
61.812,
62.216,
62.62,
63.024,
63.428,
63.832,
64.236,
64.64,
65.044,
65.448,
65.852,
66.256,
66.66,
67.064,
67.468,
67.872,
68.276,
68.68,
69.084,
69.488,
69.892,
70.296,
70.7,
71.104,
71.508,
71.912,
72.316,
72.72,
73.124,
73.528,
73.932,
74.336,
74.74,
75.144,
75.548,
75.952,
76.356,
76.76,
77.164,
77.568,
77.972,
78.376,
78.78,
79.184,
79.588,
79.992,
80.396,
80.8,
81.204,
81.608,
82.012,
82.416,
82.82,
83.224,
83.628,
84.032,
84.436,
84.84,
85.244,
85.648,
86.052,
86.456,
86.86,
87.264,
87.668,
88.072,
88.476,
88.88,
89.284,
89.688,
90.092,
90.496,
90.9,
91.304,
91.708,
92.112,
92.516,
92.92,
93.324,
93.728,
94.132,
94.536,
94.94,
95.344,
95.748,
96.152,
96.556,
96.96,
97.364,
97.768,
98.172,
98.576,
98.98,
99.384,
99.788,
100.192,
100.596,
101.0),
'inv_pd_pdco': 4210.53,
'inv_pd_pnt': 0.0,
'inv_pd_vdcmax': 600.0,
'inv_pd_vdco': 310.0,
'inv_tdc_plc': ((800.0, 28.0, -0.02, 56.0, 0.0),
(600.0, 52.0, -0.0375, 60.0, 0.0),
(390.0, 38.0, -0.0125, 50.0, -0.025))},
'InverterMermoudLejeuneModel': {},
'BatterySystem': {'en_batt': 0.0},
'Load': {'load': (65.6374,
62.5244,
75.1593,
66.7696,
78.4194,
69.7381,
79.1304,
50.4748,
50.3969,
37.7489,
37.1335,
28.3751,
27.4458,
23.7839,
21.3821,
20.961,
26.3378,
42.4988,
44.2319,
50.8582,
50.5752,
57.2174,
54.77,
62.5655,
62.5466,
69.0273,
64.4617,
71.8981,
68.3173,
74.5008,
234.676,
217.896,
230.172,
191.794,
172.779,
165.046,
163.967,
149.935,
141.272,
139.715,
147.919,
155.912,
130.833,
132.272,
128.764,
130.137,
41.6166,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
163.928,
142.125,
168.956,
147.914,
139.89,
136.938,
140.046,
132.461,
127.632,
127.446,
136.442,
141.771,
114.75,
114.797,
108.864,
112.226,
41.6166,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
142.076,
124.442,
158.465,
139.534,
130.405,
127.095,
126.792,
121.982,
117.195,
117.09,
126.775,
131.461,
102.11,
102.849,
94.7595,
97.4781,
41.6166,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
120.517,
110.213,
150.037,
131.9,
122.468,
122.902,
124.274,
124.874,
120.462,
119.828,
127.824,
134.513,
105.677,
104.267,
94.6319,
95.9547,
41.6166,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
126.096,
107.02,
140.049,
124.387,
120.537,
122.295,
122.559,
119.695,
115.207,
114.45,
121.73,
125.166,
95.4737,
98.0856,
89.4985,
91.2355,
41.6166,
38.9362,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
126.974,
100.036,
99.832,
90.0105,
85.6978,
85.3829,
82.6116,
75.2912,
50.1919,
50.7114,
57.5579,
74.0381,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
23.706,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
157.675,
130.223,
152.852,
132.786,
126.285,
125.564,
129.219,
125.691,
121.073,
120.048,
124.656,
126.2,
96.4566,
98.3456,
91.5109,
95.96,
41.6166,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
134.52,
115.363,
149.152,
129.205,
121.57,
121.96,
125.404,
124.593,
120.611,
119.448,
124.295,
123.945,
92.6343,
94.9597,
87.2084,
89.9637,
41.6166,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
106.737,
94.7459,
132.714,
123.344,
123.674,
126.724,
127.939,
127.712,
121.745,
118.511,
122.133,
122.241,
90.8912,
92.1783,
84.1639,
86.7476,
41.6166,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
118.927,
105.466,
139.501,
122.954,
118.424,
119.174,
119.868,
118.334,
114.487,
113.276,
118.782,
124.638,
94.6371,
97.2347,
88.9331,
91.8463,
41.6166,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
128.102,
112.693,
148.291,
127.728,
121.797,
122.218,
122.967,
121.95,
118.389,
118.561,
121.841,
123.79,
93.4902,
96.5931,
89.4855,
92.9568,
41.6166,
38.9362,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
134.508,
98.5746,
96.21,
89.2509,
85.5446,
85.8898,
84.1672,
78.4454,
52.9495,
51.6784,
55.8877,
71.3139,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
31.108,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
21.2387,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
31.108,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
21.2387,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
147.559,
131.93,
163.137,
146.109,
138.832,
137.181,
141.728,
134.655,
127.192,
126.152,
132.177,
141.752,
114.362,
113.585,
106.758,
109.238,
41.6166,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
134.179,
112.448,
143.62,
128.368,
124.368,
125.725,
127.368,
122.678,
116.183,
115.887,
122.147,
129.775,
101.286,
103.536,
96.5743,
99.8303,
41.6166,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
134.58,
111.15,
143.304,
127.538,
122.19,
123.156,
124.548,
120.996,
115.086,
114.839,
120.735,
126.89,
97.3894,
99.7454,
92.5019,
96.1164,
41.6166,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
144.45,
129.516,
151.284,
131.085,
126.278,
125.197,
125.161,
120.774,
114.79,
114.411,
120.586,
127.896,
99.4435,
102.658,
95.887,
99.5242,
41.6166,
38.9362,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
145.87,
117.274,
109.549,
98.5057,
91.9249,
91.0462,
85.4779,
79.4584,
56.5764,
55.8243,
60.2569,
79.6187,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
34.5655,
20.9088,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
38.9362,
38.9362,
41.7921,
43.4777,
45.2287,
47.5001,
172.999,
141.927,
162.336,
139.992,
131.967,
130.293,
132.978,
128.174,
122.601,
122.073,
122.983,
127.575,
98.1835,
101.311,
94.9811,
98.5038,
41.6166,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
135.61,
111.334,
140.777,
125.304,
119.919,
122.722,
126.224,
126.482,
121.984,
120.772,
120.758,
122.099,
90.8145,
93.2282,
85.5756,
87.9259,
41.6166,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
130.189,
116.199,
146.624,
127.765,
119.847,
120.588,
123.609,
123.747,
120.589,
119.739,
119.921,
122.218,
91.1469,
93.502,
86.4831,
89.4501,
41.6166,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
122.168,
105.558,
139.074,
122.528,
118.052,
119.799,
122.725,
124.003,
120.995,
121.575,
120.365,
121.677,
89.1019,
90.3988,
82.4726,
85.6087,
41.6166,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
106.553,
99.4828,
142.845,
126.185,
120.437,
119.817,
120.242,
121.363,
117.417,
118.02,
118.961,
123.149,
90.2986,
92.1996,
83.8984,
86.4467,
41.6166,
38.9362,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
109.401,
84.4718,
94.076,
88.0738,
80.7528,
83.2127,
82.3072,
77.4494,
52.4732,
52.6818,
51.4629,
66.9579,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
31.108,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
21.1874,
18.7714,
18.7714,
18.7714,
18.7714,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
103.701,
89.6664,
131.359,
120.056,
118.578,
121.705,
123.177,
124.276,
120.591,
120.166,
120.769,
121.954,
86.7076,
88.5998,
79.3628,
82.0893,
41.6166,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
99.4304,
94.0663,
140.365,
121.417,
116.782,
118.719,
120.955,
122.154,
119.54,
118.523,
118.45,
121.761,
88.234,
89.043,
81.3983,
83.9472,
41.6166,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
112.606,
96.9766,
135.261,
121.816,
117.521,
119.454,
122.226,
122.842,
119.272,
117.702,
119.457,
119.407,
88.74,
90.1967,
81.9256,
84.2286,
41.6166,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
114.974,
99.5702,
136.224,
122.069,
117.45,
121.217,
123.712,
123.718,
119.188,
118.688,
120.167,
119.499,
89.2523,
90.2419,
81.1791,
85.0077,
41.6166,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
101.853,
92.1261,
133.285,
120.232,
117.332,
123.502,
128.51,
132.09,
128.274,
126.301,
126.843,
124.682,
88.5132,
86.9869,
77.7439,
81.0848,
41.6166,
38.9362,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
91.5629,
78.622,
92.9278,
91.5897,
87.6784,
87.8362,
85.3483,
82.296,
64.1723,
66.6132,
68.2239,
80.7772,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
28.6407,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
18.7714,
31.108,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
149.261,
123.809,
147.564,
128.823,
122.579,
125.586,
128.886,
124.836,
120.228,
119.962,
121.28,
121.551,
90.2391,
90.854,
82.0314,
85.2273,
41.6166,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
102.751,
92.1889,
131.301,
121.325,
124.155,
131.137,
134.179,
137.996,
134.567,
133.442,
133.533,
128.937,
90.1826,
88.5796,
76.377,
76.5461,
41.6166,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
68.1058,
68.9968,
130.897,
125.398,
125.853,
129.808,
132.809,
137.547,
131.545,
129.309,
129.218,
127.428,
89.0817,
85.0062,
70.6225,
70.7933,
41.6166,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
72.2074,
69.7315,
126.489,
119.797,
123.214,
129.632,
130.027,
128.089,
121.849,
121.219,
122.95,
117.617,
84.5629,
86.6192,
78.6097,
81.9264,
41.6166,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
38.9362,
41.6166,
98.7741,
89.931,
134.027,
121.379,
117.417,
118.573,
118.658,
116.505,
112.105,
112.11,
115.22,
118.809,
91.3067,
93.6335,
85.9244,
88.7878,
41.6166,
38.9362,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
33.5754,
120.459,
99.6859,
104.526,
94.9952,
85.6986,
85.5286,
82.0141,
75.6155,
49.6814,
49.085,
...),
'load_escalation': (0.0,)},
'BatteryCell': {},
'BatteryDispatch': {},
'FuelCell': {},
'PriceSignal': {},
'ElectricityRates': {'rate_escalation': (0.0,),
'ur_annual_min_charge': 0.0,
'ur_dc_enable': 1.0,
'ur_dc_flat_mat': ((0.0, 1.0, 1e+38, 0.0),
(1.0, 1.0, 1e+38, 0.0),
(2.0, 1.0, 1e+38, 0.0),
(3.0, 1.0, 1e+38, 0.0),
(4.0, 1.0, 1e+38, 0.0),
(5.0, 1.0, 1e+38, 0.0),
(6.0, 1.0, 1e+38, 0.0),
(7.0, 1.0, 1e+38, 0.0),
(8.0, 1.0, 1e+38, 0.0),
(9.0, 1.0, 1e+38, 0.0),
(10.0, 1.0, 1e+38, 0.0),
(11.0, 1.0, 1e+38, 0.0)),
'ur_dc_sched_weekday': ((2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
1.0,
1.0,
1.0,
1.0,
1.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
1.0,
1.0,
1.0,
1.0,
1.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
1.0,
1.0,
1.0,
1.0,
1.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
1.0,
1.0,
1.0,
1.0,
1.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
1.0,
1.0,
1.0,
1.0,
1.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
1.0,
1.0,
1.0,
1.0,
1.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
1.0,
1.0,
1.0,
1.0,
1.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
1.0,
1.0,
1.0,
1.0,
1.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
1.0,
1.0,
1.0,
1.0,
1.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
1.0,
1.0,
1.0,
1.0,
1.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
1.0,
1.0,
1.0,
1.0,
1.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
1.0,
1.0,
1.0,
1.0,
1.0,
2.0,
2.0,
2.0,
2.0)),
'ur_dc_sched_weekend': ((2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0)),
'ur_dc_tou_mat': ((1.0, 1.0, 100.0, 20.0),
(1.0, 2.0, 1e+38, 15.0),
(2.0, 1.0, 100.0, 10.0),
(2.0, 2.0, 1e+38, 5.0)),
'ur_ec_billing_demand_lookback_percentages': ((60.0, 0.0),
(60.0, 0.0),
(60.0, 0.0),
(60.0, 0.0),
(60.0, 0.0),
(95.0, 1.0),
(95.0, 1.0),
(95.0, 1.0),
(95.0, 1.0),
(60.0, 0.0),
(60.0, 0.0),
(60.0, 0.0)),
'ur_ec_billing_demand_lookback_period': 11.0,
'ur_ec_billing_demand_minimum': 100.0,
'ur_ec_enable_billing_demand': 0.0,
'ur_ec_sched_weekday': ((4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
3.0,
3.0,
3.0,
3.0,
3.0,
4.0,
4.0,
4.0,
4.0),
(4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
3.0,
3.0,
3.0,
3.0,
3.0,
4.0,
4.0,
4.0,
4.0),
(4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
3.0,
3.0,
3.0,
3.0,
3.0,
4.0,
4.0,
4.0,
4.0),
(4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
3.0,
3.0,
3.0,
3.0,
3.0,
4.0,
4.0,
4.0,
4.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
1.0,
1.0,
1.0,
1.0,
1.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
1.0,
1.0,
1.0,
1.0,
1.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
1.0,
1.0,
1.0,
1.0,
1.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
1.0,
1.0,
1.0,
1.0,
1.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
1.0,
1.0,
1.0,
1.0,
1.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
1.0,
1.0,
1.0,
1.0,
1.0,
2.0,
2.0,
2.0,
2.0),
(4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
3.0,
3.0,
3.0,
3.0,
3.0,
4.0,
4.0,
4.0,
4.0),
(4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
3.0,
3.0,
3.0,
3.0,
3.0,
4.0,
4.0,
4.0,
4.0)),
'ur_ec_sched_weekend': ((4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0),
(4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0),
(4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0),
(4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0),
(2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0),
(4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0),
(4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0)),
'ur_ec_tou_mat': ((1.0, 1.0, 1e+38, 0.0, 0.05, 0.0),
(2.0, 1.0, 1e+38, 0.0, 0.075, 0.0),
(3.0, 1.0, 1e+38, 0.0, 0.06, 0.0),
(4.0, 1.0, 1e+38, 0.0, 0.05, 0.0)),
'ur_en_ts_buy_rate': 0.0,
'ur_en_ts_sell_rate': 0.0,
'ur_metering_option': 0.0,
'ur_monthly_fixed_charge': 30.0,
'ur_monthly_min_charge': 0.0,
'ur_nm_credit_month': 11.0,
'ur_nm_credit_rollover': 0.0,
'ur_nm_yearend_sell_rate': 0.0,
'ur_ts_buy_rate': (0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
...),
'ur_ts_sell_rate': (0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
...),
'ur_yearzero_usage_peaks': (234.676,
173.422,
172.007,
191.434,
198.295,
236.469,
274.231,
260.336,
226.751,
185.123,
156.2,
184.05)},
'GridLimits': {'enable_interconnection_limit': 0.0,
'grid_curtailment': (1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
1e+38,
...),
'grid_interconnection_limit_kwac': 100000.0},
'AdjustmentFactors': {'constant': 0.0, 'dc_constant': 0.0},
'Outputs': {}}
Or save it as a csv if you want to explore the categories and variables
filesave = os.path.join(datafolder,'JSON_Default.xlsx')
workbook = xlsxwriter.Workbook(filesave)
worksheet = workbook.add_worksheet()
row = 0
col = 0
order=sorted(dic.keys())
for key in order:
row += 1
worksheet.write(row, col, key)
for item in dic[key]:
worksheet.write(row, col + 1, item)
worksheet.write(row, col + 2, str(dic[key][item]))
row += 1
workbook.close()
2. Set values that should not be default to represent our system:#
solar_resource_file = r'data/SRRL_WeatherFile_SAM_60_2020.csv'
albedo = [0.20000000298023224, 0.20000000298023224, 0.20000000298023224, 0.20000000298023224, 0.20000000298023224, 0.20000000298023224, 0.20000000298023224, 0.20000000298023224, 0.20000000298023224, 0.20000000298023224, 0.20000000298023224, 0.20000000298023224]
module_aspect_ratio = 2
subarray1_track_mode = 1
subarray1_backtrack = 1
subarray1_rotlim = 50
subarray1_gcr = 0.34903
subarray1_modules_per_string = 20
subarray1_nstrings = 10
subarray1_nmodx = 20
subarray1_nmody = 1
subarray1_shade_mode = 1
inverter_count = 10
subarray1_rear_irradiance_loss = 10
subarray1_soiling = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
use_wf_albedo = 1
# cec_a_ref = 1.885731
# inv_snl_vdco = 310
# part of Inverter mppt_low_inverter = 100
subarray1_tilt = 0
newval = { 'SolarResource': {
'albedo': albedo,
'use_wf_albedo': use_wf_albedo},
'SystemDesign' : {
'inverter_count':inverter_count,
'subarray1_backtrack':subarray1_backtrack,
'subarray1_gcr':subarray1_gcr,
'subarray1_modules_per_string':subarray1_modules_per_string,
'subarray1_nstrings':subarray1_nstrings,
'subarray1_rotlim':subarray1_rotlim,
'subarray1_track_mode':subarray1_track_mode,
'subarray1_tilt': subarray1_tilt},
'Layout': {
'module_aspect_ratio': module_aspect_ratio,
'subarray1_nmodx':subarray1_nmodx,
'subarray1_nmody':subarray1_nmody},
'Shading' : {'subarray1_shade_mode':subarray1_shade_mode},
'Losses' : {
'subarray1_soiling':subarray1_soiling,
'subarray1_rear_irradiance_loss':subarray1_rear_irradiance_loss},
}
We are going to use the method ’assign’, becasue that only replaces the values we are providing. ’replace’ replaces all the internally generated dictionary entries with only the ones we are providing.
sam1.assign(newval)
3. Assign Solar Resource#
No solar resource is assigned by default. If this is not assigned the simulation will not run.
sam1.SolarResource.solar_resource_file = solar_resource_file
4. Obtaining the MODULE Data#
Two methods are explored: 1. Using PVLib 2. getting SAM’s CEC library URL and reading the csv.
4A. Using PVLib#
import pvlib
CECMODS = pvlib.pvsystem.retrieve_sam(name='CECMod')
# the CEC modules are a pandas DataFrame oriented as columns, transpose to arrange
# as indices
CECMODS.T.head()
Technology | Bifacial | STC | PTC | A_c | Length | Width | N_s | I_sc_ref | V_oc_ref | ... | a_ref | I_L_ref | I_o_ref | R_s | R_sh_ref | Adjust | gamma_r | BIPV | Version | Date | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A10Green_Technology_A10J_S72_175 | Mono-c-Si | 0 | 175.0914 | 151.2 | 1.3 | 1.576 | 0.825 | 72 | 5.17 | 43.99 | ... | 1.981696 | 5.175703 | 0.0 | 0.316688 | 287.102203 | 16.057121 | -0.5072 | N | SAM 2018.11.11 r2 | 1/3/2019 |
A10Green_Technology_A10J_S72_180 | Mono-c-Si | 0 | 179.928 | 155.7 | 1.3 | 1.576 | 0.825 | 72 | 5.31 | 44.06 | ... | 1.988414 | 5.316148 | 0.0 | 0.299919 | 259.047943 | 16.418983 | -0.5072 | N | SAM 2018.11.11 r2 | 1/3/2019 |
A10Green_Technology_A10J_S72_185 | Mono-c-Si | 0 | 184.7016 | 160.2 | 1.3 | 1.576 | 0.825 | 72 | 5.43 | 44.14 | ... | 1.984817 | 5.435676 | 0.0 | 0.311962 | 298.424438 | 15.688233 | -0.5072 | N | SAM 2018.11.11 r2 | 1/3/2019 |
A10Green_Technology_A10J_M60_220 | Multi-c-Si | 0 | 219.876 | 189.1 | 1.624 | 1.632 | 0.995 | 60 | 7.95 | 36.06 | ... | 1.673094 | 7.959062 | 0.0 | 0.140393 | 123.168404 | 21.875164 | -0.5196 | N | SAM 2018.11.11 r2 | 1/3/2019 |
A10Green_Technology_A10J_M60_225 | Multi-c-Si | 0 | 224.9856 | 193.5 | 1.624 | 1.632 | 0.995 | 60 | 8.04 | 36.24 | ... | 1.671782 | 8.047206 | 0.0 | 0.14737 | 164.419479 | 20.698376 | -0.5196 | N | SAM 2018.11.11 r2 | 1/3/2019 |
5 rows × 25 columns
The Module we want for this simulation has this name in SAM: “Prism Solar Technologies_ Inc. Bi72-457BSTC” . The name should be written similar with underscores, but is not always teh same in the database. To make it easier, we filter by keywords.
cs_220m_mods = CECMODS.T.index.str.startswith('Prism') & CECMODS.T.index.str.contains('457BSTC')
mymod = CECMODS.T[cs_220m_mods]
mymod.T
Prism_Solar_Technologies_Bi72_457BSTC | |
---|---|
Technology | Multi-c-Si |
Bifacial | 1 |
STC | 360.214 |
PTC | 327.6 |
A_c | 1.979 |
Length | 2.011 |
Width | 0.984 |
N_s | 72 |
I_sc_ref | 9.8 |
V_oc_ref | 48.2 |
I_mp_ref | 9.26 |
V_mp_ref | 38.9 |
alpha_sc | 0.004675 |
beta_oc | -0.139925 |
T_NOCT | 47.4 |
a_ref | 1.885731 |
I_L_ref | 9.80468 |
I_o_ref | 0.0 |
R_s | 0.396799 |
R_sh_ref | 830.975952 |
Adjust | 10.40003 |
gamma_r | -0.4028 |
BIPV | N |
Version | SAM 2018.11.11 r2 |
Date | 1/3/2019 |
Asigning variables about the bifaciality aspect of our site. This are saved inside the ‘CECPerformanceModelWithModuleDatabase’ but are not in the CEC table, they are default/user provided
B. Get File from the SAM repository URL#
import requests
The URL you see when you navigate to the github looks like:
>> https://github.com/NREL/SAM/blob/master/deploy/libraries/CEC%20Modules.csv
However, to access it you must rename the github.com to raw.githubusercontent.com, and also remove the ‘blob’ part, so
>> https://raw.githubusercontent.com/NREL/SAM/master/deploy/libraries/CEC%20Modules.csv'
url = 'https://raw.githubusercontent.com/NREL/SAM/master/deploy/libraries/CEC%20Modules.csv'
df = pd.read_csv(url, index_col=0)
modfilter = df.index.str.startswith('Prism') & df.index.str.contains('457BSTC')
mymod = df[modfilter]
masterdate = mymod['Date'][0]
#url = 'https://raw.githubusercontent.com/NREL/SAM/develop/deploy/libraries/CEC%20Modules.csv'
url = 'https://raw.githubusercontent.com/NREL/SAM/patch/deploy/libraries/CEC%20Modules.csv'
df = pd.read_csv(url, index_col=0)
modfilter = df.index.str.startswith('Prism') & df.index.str.contains('Prism')
mymod = df[modfilter].iloc[0]
otherbranchdate = mymod['Date']
print("Master database is dated:", masterdate)
print("Patch database is dated:", otherbranchdate)
Master database is dated: 11/25/2020
Patch database is dated: 5/28/2022
Assign the Variables to the SAM object from the CEC data#
This are read as strings, so we need to make
mymod.a_ref
'1.5188'
mymod.A_c
'1.65'
# Values on comments of each line were for a different module not found in the CEC database anymore (name changed?).
# Leaving them for reference of the scale of values expected.
cec_a_ref = float(mymod.a_ref) # 1.885731
cec_adjust = float(mymod.Adjust) # 10.400029
cec_alpha_sc = float(mymod.alpha_sc) # 0.004675
cec_area = float(mymod.A_c) # 1.979
cec_beta_oc = float(mymod.beta_oc) # -0.139925
cec_gamma_r = float(mymod.gamma_r) # -0.4028
cec_i_l_ref = float(mymod.I_L_ref) # 9.80468
cec_i_mp_ref = float(mymod.I_mp_ref) # 9.26
cec_i_o_ref = float(mymod.I_o_ref) # 7.72903e-11
cec_i_sc_ref = float(mymod.I_sc_ref) # 9.8
cec_is_bifacial = int(mymod.Bifacial) # 1
cec_module_length = float(mymod.Length) # 2.011
cec_module_width = float(mymod.Width) # 0.984
module_aspect_ratio = cec_module_length/cec_module_width # 2.043699187
cec_n_s = float(mymod.N_s) # 72
cec_r_s = float(mymod.R_s) #0.396799
cec_r_sh_ref = float(mymod.R_sh_ref) # 830.975492
cec_t_noct = float(mymod.T_NOCT) # 47.4
cec_v_mp_ref = float(mymod.V_mp_ref) # 38.9
cec_v_oc_ref = float(mymod.V_oc_ref) # 48.2
cec_bifacial_ground_clearance_height = 1.5
cec_bifacial_transmission_factor = 0
cec_bifaciality = 0.694 # WHY IS THIS NOT IN THE CEC Data?
# Temperature corrections -- We are not doing this. Should we?
# cec_temp_corr_mode = 1?
# cec_array_cols = 10 # Already default
# cec_array_rows = 1 # Already default
# ?? cec_temp_corr_mode 0 ???
# ?? cec_transient_thermal_model_unit_mass 11.0919
newval = { 'Layout':{'module_aspect_ratio':module_aspect_ratio},
'CECPerformanceModelWithModuleDatabase': {
'cec_a_ref': cec_a_ref,
'cec_adjust': cec_adjust,
'cec_alpha_sc': cec_alpha_sc,
'cec_area': cec_area,
'cec_beta_oc': cec_beta_oc,
'cec_gamma_r': cec_gamma_r,
'cec_i_l_ref': cec_i_l_ref,
'cec_i_mp_ref': cec_i_mp_ref,
'cec_i_o_ref': cec_i_o_ref,
'cec_i_sc_ref': cec_i_sc_ref,
'cec_is_bifacial': cec_is_bifacial,
'cec_module_length': cec_module_length,
'cec_module_width': cec_module_width,
'cec_n_s': cec_n_s,
'cec_r_s': cec_r_s,
'cec_r_sh_ref': cec_r_sh_ref,
'cec_t_noct': cec_t_noct,
'cec_v_mp_ref': cec_v_mp_ref,
'cec_v_oc_ref': cec_v_oc_ref,
'cec_bifacial_ground_clearance_height': cec_bifacial_ground_clearance_height,
'cec_bifacial_transmission_factor': cec_bifacial_transmission_factor,
'cec_bifaciality': cec_bifaciality
}}
sam1.assign(newval)
Get Inverter Values#
First let’s download the database
#url = 'https://raw.githubusercontent.com/NREL/SAM/develop/deploy/libraries/CEC%20Modules.csv'
url = 'https://raw.githubusercontent.com/NREL/SAM/patch/deploy/libraries/CEC%20Inverters.csv'
df = pd.read_csv(url, index_col=0)
Our inverter is ‘Fronius USA: Fronius Symo 10.0-3 480 [480V]’. Using the same look-up technique as with the module
modfilter = df.index.str.startswith('Fronius') & df.index.str.contains('480V') & df.index.str.contains('10.0')
myinv = df[modfilter]
myinv
Vac | Pso | Paco | Pdco | Vdco | C0 | C1 | C2 | C3 | Pnt | Vdcmax | Idcmax | Mppt_low | Mppt_high | CEC_Date | CEC_hybrid | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Name | ||||||||||||||||
Fronius International GmbH: Fronius Symo 10.0-3 480 [480V] | 480 | 64.1251 | 9995 | 10260.1 | 670 | -2.75409e-07 | -2.25745e-05 | -0.000385046 | 0.00168874 | 0.86 | 800 | 15.3135 | 100 | 800 | 3/1/2019 | N |
inv_snl_c0 = float(myinv['C0'])
inv_snl_c1 = float(myinv['C1'])
inv_snl_c2 = float(myinv['C2'])
inv_snl_c3 = float(myinv['C3'])
inv_snl_paco = float(myinv['Paco'])
inv_snl_pdco = float(myinv['Pdco'])
inv_snl_pnt = float(myinv['Pnt'])
inv_snl_pso = float(myinv['Pso'])
inv_snl_vdcmax = float(myinv['Vdcmax'])
inv_snl_vdco = float(myinv['Vdco'])
mppt_low_inverter = float(myinv['Mppt_low'])
mppt_hi_inverter = float(myinv['Mppt_high'])
You can set an individual value with setattr
sam1.Inverter.__setattr__('inv_snl_paco', inv_snl_paco)
Or do them all together like we’ve been doing in dictionary format
newval = { 'Inverter': { 'inv_snl_paco': inv_snl_paco,
'mppt_low_inverter': mppt_low_inverter,
'mppt_hi_inverter': mppt_hi_inverter},
'InverterCECDatabase': {
'inv_snl_c0': inv_snl_c0,
'inv_snl_c1': inv_snl_c1,
'inv_snl_c2': inv_snl_c2,
'inv_snl_c3': inv_snl_c3,
'inv_snl_paco': inv_snl_paco,
'inv_snl_pdco': inv_snl_pdco,
'inv_snl_pnt': inv_snl_pnt,
'inv_snl_pso': inv_snl_pso,
'inv_snl_vdcmax': inv_snl_vdcmax,
'inv_snl_vdco': inv_snl_vdco
}}
sam1.assign(newval)
Assign VALUES From the GUI#
Some values are calculated internally by the SAM GUI based on other values you provide. To identify this items, you can look in the documentation for the warning “Changes to this variable may require updating the values of the following:” or “This variable may need to be updated if the values of the following have changed”.
The easiest is to simulate your parameters so far in the GUI, and get the values from there. Alternatively, you could export the whole simulation as a JSON, load it and execute it. However for this tutorial we are starting from the default and modifying it here, so let’s assign those values now.
inv_snl_eff_cec = 96.776
system_capacity = 72.04280090332031
inverter_count = 10
inv_tdc_cec_db = [[1, 52.79999923706055, -0.020999999716877937]] # Temperature derate curves for CEC Database [(Vdc, C, %/C)]
sam1.SystemDesign.__setattr__('system_capacity', system_capacity)
sam1.Inverter.__setattr__('inv_snl_eff_cec', inv_snl_eff_cec)
sam1.Inverter.__setattr__('inverter_count', inverter_count)
sam1.InverterCECDatabase.__setattr__('inv_tdc_cec_db', inv_tdc_cec_db)
SAVING#
sam1.execute()
foo = sam1.Outputs.export()
#foo['subarray1_poa_rear']
#foo['subarray1_dc_gross']
list(foo.keys())
filesave = os.path.join(datafolder,'pySAM_Outputs.xlsx')
workbook = xlsxwriter.Workbook(filesave)
worksheet = workbook.add_worksheet()
row=0
col=0
for key in foo.keys():
row += 1
worksheet.write(row, col, key)
worksheet.write(row, col + 1, str(foo[key]))
workbook.close()
::Extra:: Comparison of pySAM Default vs SAM GUI exported values#
If you have a JSON that you exported from SAM, it will look a bit different than the default pySAM object you created. pySAM groups all variables grouped by different categories. The below code will save that so you can compare the values between those of a SAM simulation and this default. Your SAM JSON will also have more variables for the grid, and economic calculation tabs which we have not created in the pySAM object yet.
# Prism File
Prismfile = os.path.join(datafolder,'Row2Prism.json')
with open(Prismfile) as f:
dic = json.load(f)
'''
filesave = os.path.join(datafolder,'JSON_Prism.xlsx')
workbook = xlsxwriter.Workbook(filesave)
worksheet = workbook.add_worksheet()
row=0
col=0
for key in dic.keys():
row += 1
worksheet.write(row, col, key)
worksheet.write(row, col + 1, str(dic[key]))
workbook.close()
''';
maincomparisonvars = [sam1.AdjustmentFactors,
sam1.CECPerformanceModelWithModuleDatabase,
sam1.Inverter,
sam1.InverterCECDatabase,
sam1.Layout,
sam1.Lifetime,
sam1.Load,
sam1.Losses,
sam1.MermoudLejeuneSingleDiodeModel,
sam1.Module,
sam1.Shading,
sam1.SolarResource,
sam1.SystemDesign]
d4 = dict(maincomparisonvars[0].export())
for category in maincomparisonvars[1:]:
d4.update(category.export())
pySAMdic = pd.DataFrame.from_dict(d4, orient='index')
guiSAMdic = pd.DataFrame.from_dict(dic,orient='index')
guiSAMdic
result = pd.concat([guiSAMdic, pySAMdic], axis=1, join="inner")
result.columns = ['guiSAM', 'pySAM']
result.to_csv(os.path.join(Resultsfolder, 'Side Comparison.csv'))