Skip to content

Commit

Permalink
Fix np.float64 being printed in logs and YAML output when using Num…
Browse files Browse the repository at this point in the history
…Py>=2
  • Loading branch information
claudiodsf committed Dec 17, 2024
1 parent 59d660c commit 6484778
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 3 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Copyright (c) 2011-2024 Claudio Satriano <satriano@ipgp.fr>

### Input/output

- Fix `np.float64` being printed in logs and YAML output when using NumPy>=2
- HTML report improvements:
- Link to supplementary files and plots in the HTML report
- Display configuration, log and output files in a modal window with syntax
Expand Down
2 changes: 2 additions & 0 deletions sourcespec/ssp_output.py
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,8 @@ def _dict2yaml(dict_like, level=0):
indent = ' ' * 2 * level
# use oneliners for dict-like objects containing value and uncertainty keys
if set(target_dict.keys()).intersection(set(value_uncertainty_keys)):
# make sure all values are represented as strings
target_dict = {key: str(value) for key, value in target_dict.items()}
oneliner = str(target_dict).replace("'", "")
return f'{indent}{oneliner}\n'
lines = ''
Expand Down
11 changes: 8 additions & 3 deletions sourcespec/ssp_summary_statistics.py
Original file line number Diff line number Diff line change
Expand Up @@ -254,15 +254,20 @@ def compute_summary_statistics(config, sspec_output):
logarithmic=False
)

# Log info on summary statistics for each parameter
# Note that numpy.float64 are cast to float to display them in the log
# in a more readable way
params_name = ('Mw', 'fc', 't_star')
means = sspec_output.mean_values()
sourcepar_mean = {par: means[par] for par in params_name}
sourcepar_mean = {par: float(means[par]) for par in params_name}
logger.info(f'params_mean: {sourcepar_mean}')
means_weight = sspec_output.weighted_mean_values()
sourcepar_mean_weight = {par: means_weight[par] for par in params_name}
sourcepar_mean_weight = {
par: float(means_weight[par]) for par in params_name}
logger.info(f'params_mean_weighted: {sourcepar_mean_weight}')
percentiles = sspec_output.percentiles_values()
sourcepar_percentiles = {par: percentiles[par] for par in params_name}
sourcepar_percentiles = {
par: float(percentiles[par]) for par in params_name}
logger.info(f'params_percentiles: {sourcepar_percentiles}')
logger.info('Computing summary statistics: done')
logger.info('---------------------------------------------------')

0 comments on commit 6484778

Please sign in to comment.