Calculating Uncertainty
Calculate nuclear data uncertainty using the sandwich formula:
import calins as cl
# Load covariance matrix (recommended: use NDCovariances object)
scale_file_path = 'path/to/scale_44g'
cov_data = cl.NDCovariances(input_path=scale_file_path, format='coverx') # or format='auto'
# Load sensitivity data
sensi_file_path = 'path/to/sensitivity.sdf'
# Calculate a priori uncertainty
uncertainty = cl.calcul_uncertainty(
appl_case=sensi_file_path, # Can also be a Case object
cov_data=cov_data, # NDCovariances object
reac_list=[2, 4, 16, 18, 101, 452, 1018],
output_html_path='uncertainty_report.html'
)
print(f"A priori uncertainty: {uncertainty.value} pcm")
print(f"Calculated k_eff: {uncertainty.resp_calc}")
# Export decomposition to Excel
uncertainty.decomposition.to_excel('uncertainty_decomposition.xlsx')
# Optional: Export/import covariance data in Excel format
cov_data.write_xlsx('covariance_data.xlsx')
# Later, reload from Excel:
cov_data_reloaded = cl.NDCovariances(input_path='covariance_data.xlsx', format='xlsx')