@@ -126,24 +126,23 @@ def calculate_sam_economics(model: Model) -> SamEconomics:
126
126
if k != 'number_inputs' :
127
127
module .value (k , v )
128
128
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 )
147
146
148
147
for module in modules :
149
148
module .execute ()
0 commit comments