A Python package for sensitivity and uncertainty analysis
This package has been developed for conducting seamless systematic sensitivity and uncertainty analysis with respect to nuclear data. It provides capabilities from producing covariance nuclear data to propagating the uncertainties and finding target accuracy requirements (TARs) for nuclear data to satisfy TARs for reactor functionals (responses). SAUNA allows one to systematically analyze nuclear data influence on functionals leveraging Python capabilities.
Currently, the documentation is hosted via gitbook.
Currently, the installation can be done only from source on Linux. If you work with Windows, you can use WSL to continue the installation from source.
SAUNA relies on the rich Python ecosystem and requires having Python on the system. If the system is fresh, one may install it via:
sudo apt install python3-devand make sure to upgrade pip before moving to the From Source subsection:
pip3 install --upgrade pipThough NJOY is an exception and has to be installed manually for processing covariance data. One should go to the official NJOY GitHub repository for further instructions. Still, one shall have git, cmake, and Fortran to properly compile NJOY. They may be installed via the following line:
sudo apt install git cmake gfortranAfter NJOY is installed, make sure a path to the NJOY executable is provided in the following manner:
export NJOY='/home/your-username/NJOY2016/build/njoy'
The other external tool is AMPX, developed by Oak Ridge National Laboratory (ORNL), and used here only for reading the COVERX format. Since the usual way to get the data in the format is to get the SCALE code system, it is assumed that the AMPX is installed alongside SCALE. The other possible way is to get AMPX from the official ORNL GitLab repository (though it has not been tested here).
Firstly, clone the repository via the following command:
git clone https://github.com/AARyzhkov/sauna.git
Then, run from the SAUNA root pip install (there is a point at the end of the second line):
cd sauna
pip3 install .
This concludes the installation process.
An alternative to the pip install way is to ensure the package is included in your system's $PYTHONPATH$ environment variable by adding the appropriate directory. The package can also be added directly in your Python code:
import sys
sys.path.append('./path/to/the/package/sauna')In addition, one has to install the following packages manually if pip install is not used:
- SANDY for providing the interface for NJOY
- serpentTools for providing API for interacting with Serpent results
- NumPy
- SciPy
- matplotlib
- pandas
This can be done in a batch via the following line:
pip3 install sandy serpentTools numpy scipy matplotlib pandasOne also may install texlive to make it possible to use TeX for rendering:
sudo apt install texlive texlive-latex-extra texlive-fonts-recommended dvipng cm-superSAUNA is distributed under the MIT/X license.