Source code for pvops.iv.utils

import pvlib
import copy


[docs] def get_CEC_params(name, mod_spec): '''Query module-level parameters from CEC database and derive cell-level parameters. Utilizing methods from pvsystem.retrieve_sam('CECMod') Parameters ---------- name : string Representing module name in CEC database mod_specs : dict Provide 'ncols' and 'nsubstrings' Returns ------- module_parameters (dict), cell_parameters (dict) ''' moddb = pvlib.pvsystem.retrieve_sam('CECMod') module_parameters = moddb[name].to_dict() # add reverse bias parameters module_parameters['breakdown_factor'] = 1.e-4 module_parameters['breakdown_voltage'] = -30. # -5.5 module_parameters['breakdown_exp'] = 3.28 module_parameters['ncols'] = mod_spec['ncols'] module_parameters['nsubstrings'] = mod_spec['nsubstrings'] module_parameters['ncells_substring'] = module_parameters['N_s'] / \ mod_spec['nsubstrings'] module_parameters['nrows'] = module_parameters['N_s'] / \ module_parameters['ncols'] # module_parameters['R_sh_ref'] *= rsh_premultiply # What should this value be? Dynamic. # TODO: Adjust Io smaller # set up cell-level parameters cell_parameters = copy.copy(module_parameters) cell_parameters['a_ref'] = module_parameters['a_ref'] / \ module_parameters['N_s'] cell_parameters['R_sh_ref'] = module_parameters['R_sh_ref'] / \ module_parameters['N_s'] cell_parameters['R_s'] = module_parameters['R_s'] / \ module_parameters['N_s'] return module_parameters, cell_parameters