@@ -126,24 +126,23 @@ def calculate_sam_economics(model: Model) -> SamEconomics:
126126 if k != 'number_inputs' :
127127 module .value (k , v )
128128
129- def _log_params (module_name , params ) -> None :
130- msg = f'SAM Economics { module_name } parameters: { pprint .pformat (params )} '
131- model .logger .info (msg )
132-
133- custom_gen_params : dict [str , Any ] = _get_custom_gen_parameters (model )
134- _log_params ('Custom Generation' , custom_gen_params )
135- for k , v in custom_gen_params .items ():
136- custom_gen .value (k , v )
137-
138- utility_rate_params : dict [str , Any ] = _get_utility_rate_parameters (model )
139- _log_params ('Utility Rate' , utility_rate_params )
140- for k , v in utility_rate_params .items ():
141- utility_rate .value (k , v )
142-
143- single_owner_params : dict [str , Any ] = _get_single_owner_parameters (model )
144- _log_params ('Single Owner' , single_owner_params )
145- for k , v in single_owner_params .items ():
146- single_owner .value (k , v )
129+ module_param_mappings = [
130+ ('Custom Generation' , _get_custom_gen_parameters , custom_gen ),
131+ ('Utility Rate' , _get_utility_rate_parameters , utility_rate ),
132+ ('Single Owner' , _get_single_owner_parameters , single_owner ),
133+ ]
134+
135+ mapping_result : list [list [Any ]] = [['SAM Module' , 'Parameter' , 'Value' ]]
136+ for mapping in module_param_mappings :
137+ module_name = mapping [0 ]
138+ module_params : dict [str , Any ] = mapping [1 ](model )
139+ for k , v in module_params .items ():
140+ mapping [2 ].value (k , v )
141+ mapping_result .append ([module_name , k , v ])
142+
143+ mapping_tabulated = tabulate (mapping_result , ** {'floatfmt' : ',.2f' })
144+ mapping_msg = f'SAM Economics Parameter Mapping:\n { mapping_tabulated } '
145+ model .logger .info (mapping_msg )
147146
148147 for module in modules :
149148 module .execute ()
0 commit comments