Skip to content

Commit f9282fb

Browse files
log sam parameter mapping in tabulated format
1 parent e049b05 commit f9282fb

File tree

1 file changed

+17
-18
lines changed

1 file changed

+17
-18
lines changed

src/geophires_x/EconomicsSam.py

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)