Skip to content

Python package for reading, writing, verifying and translating ENDF-6 formatted files

License

Notifications You must be signed in to change notification settings

IAEA-NDS/endf-parserpy

Repository files navigation

endf-parserpy - an ENDF-6 toolkit for Python

endf-parserpy is a Python package for reading and writing ENDF-6 files. This functionality in combination with Python's powerful facilities for data handling enables you to perform various actions on ENDF-6 files, such as:

  • Easily access any information
  • Modify, delete and insert data
  • Perform format validation
  • Convert from and to other file formats, such as JSON
  • Merge data from various ENDF-6 files into a single one
  • Compare ENDF-6 files with meaningful reporting on differences
  • Construct ENDF-6 files from scratch

The support for the ENDF-6 format is comprehensive. The package has been tested on the various sublibraries of the major nuclear data libraries, such as ENDF/B, JEFF, and JENDL. Note that the package does not support several materials in a single ENDF-6 file.

Install endf-parserpy

This package is available on the Python Package Index and can be installed using pip:

pip install endf-parserpy

Documentation

The documentation is available online @readthedocs. Consider the README.md in the docs/ subdirectory for instructions on how to generate the help files locally.

Simple example

The following code snippet demonstrates how to read an ENDF-6 file, change the AWR variable in the MF3/MT1 section and write the modified data to a new ENDF-6 file:

from endf_parserpy import EndfParser
parser = EndfParser()
endf_dict = parser.parsefile('input.endf')
endf_dict[3][1]['AWR'] = 99.99
parser.writefile('output.endf', endf_dict)

Citation

If you want to cite this package, please use the following reference:

G. Schnabel, D. L. Aldama, R. Capote, "How to explain ENDF-6 to computers: A formal ENDF format description language", arXiv:2312.08249, DOI:10.48550/arXiv.2312.08249

License

This code is distributed under the MIT license augmented by an IAEA clause, see the accompanying license file for more information.

Copyright (c) International Atomic Energy Agency (IAEA)

Acknowledgments

Daniel Lopez Aldama made significant contributions to the development of this package. He debugged the ENDF-6 recipe files and helped in numerous discussions to convey a good understanding of the technical details of the ENDF-6 format that enabled the creation of this package.

About

Python package for reading, writing, verifying and translating ENDF-6 formatted files

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •