openmc-data 2.2.8__tar.gz → 2.2.10__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {openmc_data-2.2.8 → openmc_data-2.2.10}/.github/workflows/test_package.yml +8 -2
- {openmc_data-2.2.8 → openmc_data-2.2.10}/.github/workflows/test_processing.yml +8 -2
- {openmc_data-2.2.8 → openmc_data-2.2.10}/.github/workflows/test_urls.yml +7 -1
- {openmc_data-2.2.8 → openmc_data-2.2.10}/PKG-INFO +8 -13
- {openmc_data-2.2.8 → openmc_data-2.2.10}/README.md +7 -12
- {openmc_data-2.2.8 → openmc_data-2.2.10}/pyproject.toml +1 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/_version.py +2 -2
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/generate_endf71_chain_casl.py +1 -1
- openmc_data-2.2.10/src/openmc_data/depletion/generate_jendl_chain.py +127 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/generate/generate_jendl.py +10 -2
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/urls.py +5 -1
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/urls_chain.py +23 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/utils.py +2 -1
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data.egg-info/PKG-INFO +8 -13
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data.egg-info/SOURCES.txt +1 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data.egg-info/entry_points.txt +1 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/.github/workflows/python-publish.yml +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/.gitignore +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/LICENSE +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/setup.cfg +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/__init__.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/convert/__init__.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/convert/convert_endf.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/convert/convert_fendl.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/convert/convert_jeff32.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/convert/convert_jeff33.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/convert/convert_lib80x.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/convert/convert_mcnp70.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/convert/convert_mcnp71.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/convert/convert_tendl.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/__init__.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/add_branching_ratios.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/branching_ratios_pwr.json +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/branching_ratios_sfr.json +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/casl_chain.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/chain-nndc-b7.1.xml +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/chain_casl_pwr.xml +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/chain_casl_sfr.xml +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/chain_endf_b7.1.xml +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/chain_endf_b7.1_pwr.xml +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/chain_endf_b7.1_sfr.xml +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/chain_endf_b8.0.xml +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/chain_endf_b8.0_pwr.xml +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/chain_endf_b8.0_sfr.xml +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/chain_endfb71_pwr.xml +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/chain_endfb71_sfr.xml +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/generate_endf_chain.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/generate_jeff_chain.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/generate_serpent_fissq.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/generate_tendl_chain.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/reduce_chain.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/serpent_fissq.json +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/tendl2019_nuclides.json +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/tendl2021_nuclides.json +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/download/__init__.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/download/download_endf.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/download/download_endf_chain.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/download/download_tendl.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/generate/__init__.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/generate/generate_cendl.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/generate/generate_endf.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/generate/generate_fendl.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/generate/generate_jeff33.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/other/__init__.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/other/combine_libraries.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/other/convert_tendl_rand.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/other/make_compton.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/other/make_stopping_powers.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/other/sample_sandy.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/urls_h5.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/urls_xml.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data.egg-info/dependency_links.txt +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data.egg-info/requires.txt +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data.egg-info/top_level.txt +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/tests/test_urls.py +0 -0
- {openmc_data-2.2.8 → openmc_data-2.2.10}/tests/test_version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: openmc_data
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.10
|
|
4
4
|
Summary: A Python package containing a collection of scripts for producing and downloading data for OpenMC
|
|
5
5
|
Author-email: Jonathan Shimwell <mail@jshimwell.com>
|
|
6
6
|
License: Copyright (c) 2019-2022 UChicago Argonne LLC and contributors
|
|
@@ -37,20 +37,14 @@ Requires-Dist: pytest; extra == "tests"
|
|
|
37
37
|
Requires-Dist: requests; extra == "tests"
|
|
38
38
|
|
|
39
39
|
[](https://github.com/shimwell/data/actions/workflows/test_urls.yml)
|
|
40
|
-
|
|
41
40
|
[](https://github.com/openmc-data-storage/openmc_data/actions/workflows/test_package.yml)
|
|
42
|
-
|
|
43
41
|
[](https://github.com/openmc-data-storage/openmc_data/actions/workflows/test_processing.yml)
|
|
44
42
|
|
|
45
43
|
|
|
46
|
-
# OpenMC Data
|
|
47
|
-
|
|
48
|
-
This repository contains a collection of scripts for generating HDF5 data
|
|
49
|
-
libraries and xml chain files that can be used with OpenMC. Some of these
|
|
50
|
-
scripts convert existing ACE libraries (such as those produced by LANL) whereas
|
|
51
|
-
generate scripts use NJOY to process ENDF files directly.
|
|
44
|
+
# OpenMC Data
|
|
52
45
|
|
|
53
|
-
|
|
46
|
+
Aims to facilitate the use of different nuclear data libraries with OpenMC by
|
|
47
|
+
providing command line tools that process and download nuclear data automatically.
|
|
54
48
|
|
|
55
49
|
# Prerequisites
|
|
56
50
|
|
|
@@ -58,7 +52,7 @@ You should have already installed OpenMC, see the [docs](https://docs.openmc.org
|
|
|
58
52
|
|
|
59
53
|
# Installation
|
|
60
54
|
|
|
61
|
-
|
|
55
|
+
The package is distributed on [PYPI](https://pypi.org/project/openmc-data/) and can be installed with pip.
|
|
62
56
|
|
|
63
57
|
```bash
|
|
64
58
|
pip install openmc_data
|
|
@@ -75,7 +69,7 @@ For example:
|
|
|
75
69
|
|
|
76
70
|
```convert_endf --help```
|
|
77
71
|
|
|
78
|
-
Some scripts (mainly the generate scripts) require NJOY to be installed and
|
|
72
|
+
Some scripts (mainly the generate scripts) require [NJOY](https://github.com/njoy/NJOY2016) to be installed and
|
|
79
73
|
added to your path.
|
|
80
74
|
|
|
81
75
|
A few categories of scripts are available:
|
|
@@ -149,8 +143,9 @@ A few categories of scripts are available:
|
|
|
149
143
|
|-|-|-|
|
|
150
144
|
|generate_endf_chain | ENDF/B | VII.1<br>VIII.0 |
|
|
151
145
|
|generate_jeff_chain | JEFF | 3.3 |
|
|
152
|
-
|
|
|
146
|
+
|generate_jendl_chain | JENDL | 5.0 |
|
|
153
147
|
|generate_tendl_chain | TENDL | 2019<br>2021 |
|
|
148
|
+
|generate_serpent_fissq | | |
|
|
154
149
|
|generate_endf71_chain_casl | ENDF/B | |
|
|
155
150
|
|
|
156
151
|
### Download chain files
|
|
@@ -1,18 +1,12 @@
|
|
|
1
1
|
[](https://github.com/shimwell/data/actions/workflows/test_urls.yml)
|
|
2
|
-
|
|
3
2
|
[](https://github.com/openmc-data-storage/openmc_data/actions/workflows/test_package.yml)
|
|
4
|
-
|
|
5
3
|
[](https://github.com/openmc-data-storage/openmc_data/actions/workflows/test_processing.yml)
|
|
6
4
|
|
|
7
5
|
|
|
8
|
-
# OpenMC Data
|
|
9
|
-
|
|
10
|
-
This repository contains a collection of scripts for generating HDF5 data
|
|
11
|
-
libraries and xml chain files that can be used with OpenMC. Some of these
|
|
12
|
-
scripts convert existing ACE libraries (such as those produced by LANL) whereas
|
|
13
|
-
generate scripts use NJOY to process ENDF files directly.
|
|
6
|
+
# OpenMC Data
|
|
14
7
|
|
|
15
|
-
|
|
8
|
+
Aims to facilitate the use of different nuclear data libraries with OpenMC by
|
|
9
|
+
providing command line tools that process and download nuclear data automatically.
|
|
16
10
|
|
|
17
11
|
# Prerequisites
|
|
18
12
|
|
|
@@ -20,7 +14,7 @@ You should have already installed OpenMC, see the [docs](https://docs.openmc.org
|
|
|
20
14
|
|
|
21
15
|
# Installation
|
|
22
16
|
|
|
23
|
-
|
|
17
|
+
The package is distributed on [PYPI](https://pypi.org/project/openmc-data/) and can be installed with pip.
|
|
24
18
|
|
|
25
19
|
```bash
|
|
26
20
|
pip install openmc_data
|
|
@@ -37,7 +31,7 @@ For example:
|
|
|
37
31
|
|
|
38
32
|
```convert_endf --help```
|
|
39
33
|
|
|
40
|
-
Some scripts (mainly the generate scripts) require NJOY to be installed and
|
|
34
|
+
Some scripts (mainly the generate scripts) require [NJOY](https://github.com/njoy/NJOY2016) to be installed and
|
|
41
35
|
added to your path.
|
|
42
36
|
|
|
43
37
|
A few categories of scripts are available:
|
|
@@ -111,8 +105,9 @@ A few categories of scripts are available:
|
|
|
111
105
|
|-|-|-|
|
|
112
106
|
|generate_endf_chain | ENDF/B | VII.1<br>VIII.0 |
|
|
113
107
|
|generate_jeff_chain | JEFF | 3.3 |
|
|
114
|
-
|
|
|
108
|
+
|generate_jendl_chain | JENDL | 5.0 |
|
|
115
109
|
|generate_tendl_chain | TENDL | 2019<br>2021 |
|
|
110
|
+
|generate_serpent_fissq | | |
|
|
116
111
|
|generate_endf71_chain_casl | ENDF/B | |
|
|
117
112
|
|
|
118
113
|
### Download chain files
|
|
@@ -63,6 +63,7 @@ generate_fendl = "openmc_data.generate.generate_fendl:main"
|
|
|
63
63
|
generate_endf71_chain_casl = "openmc_data.depletion.generate_endf71_chain_casl:main"
|
|
64
64
|
generate_endf_chain = "openmc_data.depletion.generate_endf_chain:main"
|
|
65
65
|
generate_jeff_chain = "openmc_data.depletion.generate_jeff_chain:main"
|
|
66
|
+
generate_jendl_chain = "openmc_data.depletion.generate_jendl_chain:main"
|
|
66
67
|
generate_serpent_fissq = "openmc_data.depletion.generate_serpent_fissq:main"
|
|
67
68
|
generate_tendl_chain = "openmc_data.depletion.generate_tendl_chain:main"
|
|
68
69
|
|
{openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/generate_endf71_chain_casl.py
RENAMED
|
@@ -97,7 +97,7 @@ def main():
|
|
|
97
97
|
reactions = {}
|
|
98
98
|
for f in neutron_files:
|
|
99
99
|
evaluation = openmc.data.endf.Evaluation(f)
|
|
100
|
-
nuc_name = evaluation.
|
|
100
|
+
nuc_name = evaluation.gnds_name
|
|
101
101
|
if nuc_name in CASL_CHAIN:
|
|
102
102
|
reactions[nuc_name] = {}
|
|
103
103
|
for mf, mt, nc, mod in evaluation.reaction_list:
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
|
|
3
|
+
import argparse
|
|
4
|
+
import ssl
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
from urllib.parse import urljoin
|
|
7
|
+
|
|
8
|
+
import openmc.deplete
|
|
9
|
+
|
|
10
|
+
from openmc_data.utils import download, extract
|
|
11
|
+
from openmc_data import all_decay_release_details
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# Parse command line arguments
|
|
15
|
+
parser = argparse.ArgumentParser(prog="generate_jeff_chain",
|
|
16
|
+
description="Generates a OpenMC chain file from JENDL nuclear data files",
|
|
17
|
+
)
|
|
18
|
+
parser.add_argument('-r', '--release', choices=['5.0'],
|
|
19
|
+
default='5.0', help="The nuclear data library release "
|
|
20
|
+
"version. The only currently supported option is 5.0.")
|
|
21
|
+
parser.add_argument(
|
|
22
|
+
"-d",
|
|
23
|
+
"--destination",
|
|
24
|
+
type=Path,
|
|
25
|
+
default=None,
|
|
26
|
+
help="filename of the chain file xml file produced. If left as None then "
|
|
27
|
+
"the filename will follow this format 'chain_jendl_{release}.xml'",
|
|
28
|
+
)
|
|
29
|
+
parser.add_argument(
|
|
30
|
+
"--neutron",
|
|
31
|
+
type=Path,
|
|
32
|
+
default=[],
|
|
33
|
+
nargs="+",
|
|
34
|
+
help="Path to neutron endf files, if not provided, neutron files will be downloaded.",
|
|
35
|
+
)
|
|
36
|
+
parser.add_argument(
|
|
37
|
+
"--decay",
|
|
38
|
+
type=Path,
|
|
39
|
+
default=[],
|
|
40
|
+
nargs="+",
|
|
41
|
+
help="Path to decay data files, if not provided, decay files will be downloaded.",
|
|
42
|
+
)
|
|
43
|
+
parser.add_argument(
|
|
44
|
+
"--fpy",
|
|
45
|
+
type=Path,
|
|
46
|
+
default=[],
|
|
47
|
+
nargs="+",
|
|
48
|
+
help="Path to neutron fission product yield files, if not provided, fission yield files will be downloaded.",
|
|
49
|
+
)
|
|
50
|
+
args = parser.parse_args()
|
|
51
|
+
|
|
52
|
+
def main():
|
|
53
|
+
|
|
54
|
+
library_name = 'jendl'
|
|
55
|
+
|
|
56
|
+
cwd = Path.cwd()
|
|
57
|
+
|
|
58
|
+
# DOWNLOAD NEUTRON DATA
|
|
59
|
+
endf_files_dir = cwd.joinpath('-'.join([library_name, args.release, 'endf']))
|
|
60
|
+
download_path = cwd.joinpath('-'.join([library_name, args.release, 'download']))
|
|
61
|
+
neutron_files = args.neutron
|
|
62
|
+
if not neutron_files:
|
|
63
|
+
details = all_decay_release_details[library_name][args.release]['neutron']
|
|
64
|
+
|
|
65
|
+
for f in details['compressed_files']:
|
|
66
|
+
# Establish connection to URL
|
|
67
|
+
download(
|
|
68
|
+
urljoin(details['base_url'], f),
|
|
69
|
+
context=ssl._create_unverified_context(),
|
|
70
|
+
output_path=download_path
|
|
71
|
+
)
|
|
72
|
+
extract(
|
|
73
|
+
compressed_files=[download_path / f for f in details['compressed_files']],
|
|
74
|
+
extraction_dir=endf_files_dir,
|
|
75
|
+
del_compressed_file=False
|
|
76
|
+
)
|
|
77
|
+
for erratum in details["errata"]:
|
|
78
|
+
files = Path('.').rglob(erratum)
|
|
79
|
+
for p in files:
|
|
80
|
+
p.rename((endf_files_dir / details["endf_files"]).parent / p.name)
|
|
81
|
+
neutron_files = endf_files_dir.glob(details['endf_files'])
|
|
82
|
+
|
|
83
|
+
decay_files = args.decay
|
|
84
|
+
if not decay_files:
|
|
85
|
+
details = all_decay_release_details[library_name][args.release]['decay']
|
|
86
|
+
for base_url, file in zip(details['base_url'], details['compressed_files']):
|
|
87
|
+
downloaded_file = download(
|
|
88
|
+
url=urljoin(base_url, file),
|
|
89
|
+
output_path=Path(".")
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
extract([downloaded_file], Path("."))
|
|
93
|
+
decay_files = list(Path('.').rglob(details["decay_files"]))
|
|
94
|
+
|
|
95
|
+
fpy_files = args.fpy
|
|
96
|
+
if not fpy_files:
|
|
97
|
+
details = all_decay_release_details[library_name][args.release]['nfy']
|
|
98
|
+
for base_url, file in zip(details['base_url'], details['compressed_files']):
|
|
99
|
+
downloaded_file = download(
|
|
100
|
+
url=urljoin(base_url, file),
|
|
101
|
+
output_path=Path(".")
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
extract([downloaded_file], Path("."))
|
|
105
|
+
fpy_files = list(Path('.').rglob(details["nfy_files"]))
|
|
106
|
+
|
|
107
|
+
# check files exist
|
|
108
|
+
for flist, ftype in [(decay_files, "decay"), (neutron_files, "neutron"),
|
|
109
|
+
(fpy_files, "neutron fission product yield")]:
|
|
110
|
+
if not flist:
|
|
111
|
+
raise IOError(f"No {ftype} endf files found in {endf_files_dir}")
|
|
112
|
+
|
|
113
|
+
chain = openmc.deplete.Chain.from_endf(
|
|
114
|
+
decay_files=decay_files,
|
|
115
|
+
fpy_files=fpy_files,
|
|
116
|
+
neutron_files=neutron_files,
|
|
117
|
+
reactions=list(openmc.deplete.chain.REACTIONS.keys())
|
|
118
|
+
)
|
|
119
|
+
|
|
120
|
+
if args.destination is None:
|
|
121
|
+
args.destination = f'chain_{library_name}_{args.release}.xml'
|
|
122
|
+
chain.export_to_xml(args.destination)
|
|
123
|
+
print(f'Chain file written to {args.destination}')
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
if __name__ == '__main__':
|
|
127
|
+
main()
|
|
@@ -47,6 +47,9 @@ parser.add_argument('--cleanup', action='store_true',
|
|
|
47
47
|
parser.add_argument('--no-cleanup', dest='cleanup', action='store_false',
|
|
48
48
|
help="Do not remove download directories when data has "
|
|
49
49
|
"been processed")
|
|
50
|
+
parser.add_argument('--temperatures', type=float,
|
|
51
|
+
default=[250.0, 293.6, 600.0, 900.0, 1200.0, 2500.0],
|
|
52
|
+
help="Temperatures in Kelvin", nargs='+')
|
|
50
53
|
parser.set_defaults(download=True, extract=True, cleanup=False)
|
|
51
54
|
args = parser.parse_args()
|
|
52
55
|
|
|
@@ -85,10 +88,15 @@ def main():
|
|
|
85
88
|
# EXTRACT FILES FROM TGZ
|
|
86
89
|
if args.extract:
|
|
87
90
|
extract(
|
|
88
|
-
compressed_files=[download_path/ f for f in details['compressed_files']],
|
|
91
|
+
compressed_files=[download_path / f for f in details['compressed_files']],
|
|
89
92
|
extraction_dir=endf_files_dir,
|
|
90
93
|
del_compressed_file=args.cleanup
|
|
91
94
|
)
|
|
95
|
+
for erratum in details["errata"]:
|
|
96
|
+
files = Path('.').rglob(erratum)
|
|
97
|
+
for p in files:
|
|
98
|
+
p.rename((endf_files_dir / details["endf_files"]).parent / p.name)
|
|
99
|
+
|
|
92
100
|
|
|
93
101
|
# ==============================================================================
|
|
94
102
|
# GENERATE HDF5 LIBRARY -- NEUTRON FILES
|
|
@@ -104,7 +112,7 @@ def main():
|
|
|
104
112
|
with Pool() as pool:
|
|
105
113
|
results = []
|
|
106
114
|
for filename in sorted(neutron_files):
|
|
107
|
-
func_args = (filename, args.destination, args.libver)
|
|
115
|
+
func_args = (filename, args.destination, args.libver, args.temperatures)
|
|
108
116
|
r = pool.apply_async(process_neutron, func_args)
|
|
109
117
|
results.append(r)
|
|
110
118
|
|
|
@@ -459,8 +459,12 @@ all_release_details = {
|
|
|
459
459
|
'neutron': {
|
|
460
460
|
'endf':{
|
|
461
461
|
'base_url': 'https://wwwndc.jaea.go.jp/ftpnd/ftp/JENDL/',
|
|
462
|
-
'compressed_files': ['jendl5-n.tar.gz'
|
|
462
|
+
'compressed_files': ['jendl5-n.tar.gz', 'jendl5-n_upd1.tar.gz',
|
|
463
|
+
'jendl5-n_upd6.tar.gz', 'jendl5-n_upd7.tar.gz',
|
|
464
|
+
'jendl5-n_upd10.tar.gz', 'jendl5-n_upd11.tar.gz',
|
|
465
|
+
'jendl5-n_upd12.tar.gz'],
|
|
463
466
|
'endf_files': 'jendl5-n/*.dat',
|
|
467
|
+
'errata': ['jendl5-n_upd1/*.dat', 'jendl-n_upd6/*.dat', '*.dat'],
|
|
464
468
|
'metastables': 'jendl5-n/*m1.dat',
|
|
465
469
|
'compressed_file_size': 4.1,
|
|
466
470
|
'uncompressed_file_size': 16
|
|
@@ -70,5 +70,28 @@ all_decay_release_details = {
|
|
|
70
70
|
'compressed_files': ['TENDL-n.tgz'],
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
+
},
|
|
74
|
+
'jendl': {
|
|
75
|
+
'5.0': {
|
|
76
|
+
'neutron': {
|
|
77
|
+
'base_url': 'https://wwwndc.jaea.go.jp/ftpnd/ftp/JENDL/',
|
|
78
|
+
'compressed_files': ['jendl5-n.tar.gz', 'jendl5-n_upd1.tar.gz',
|
|
79
|
+
'jendl5-n_upd6.tar.gz', 'jendl5-n_upd7.tar.gz',
|
|
80
|
+
'jendl5-n_upd10.tar.gz', 'jendl5-n_upd11.tar.gz',
|
|
81
|
+
'jendl5-n_upd12.tar.gz'],
|
|
82
|
+
'endf_files': 'jendl5-n/*.dat',
|
|
83
|
+
'errata': ['jendl5-n_upd1/*.dat', 'jendl-n_upd6/*.dat', '*.dat'],
|
|
84
|
+
},
|
|
85
|
+
'decay': {
|
|
86
|
+
'base_url': ['https://wwwndc.jaea.go.jp/ftpnd/ftp/JENDL/'],
|
|
87
|
+
'compressed_files': ['jendl5-dec_upd5.tar.gz'],
|
|
88
|
+
'decay_files': 'jendl5-dec_upd5/*.dat'
|
|
89
|
+
},
|
|
90
|
+
'nfy': {
|
|
91
|
+
'base_url': ['https://wwwndc.jaea.go.jp/ftpnd/ftp/JENDL/'],
|
|
92
|
+
'compressed_files': ['jendl5-fpy_upd8.tar.gz'],
|
|
93
|
+
'nfy_files': 'jendl5-fpy_upd8/*.dat'
|
|
94
|
+
}
|
|
95
|
+
}
|
|
73
96
|
}
|
|
74
97
|
}
|
|
@@ -97,13 +97,14 @@ def extract(
|
|
|
97
97
|
extraction_dir : str
|
|
98
98
|
The directory to extract the files to.
|
|
99
99
|
del_compressed_file : bool
|
|
100
|
-
|
|
100
|
+
Whether the compressed file should be deleted (True) or not (False)
|
|
101
101
|
verbose : bool
|
|
102
102
|
Controls the printing to terminal, if True filenames of the extracted
|
|
103
103
|
files will be printed.
|
|
104
104
|
"""
|
|
105
105
|
Path.mkdir(extraction_dir, parents=True, exist_ok=True)
|
|
106
106
|
|
|
107
|
+
print(f'Extracting {compressed_files} to {extraction_dir}')
|
|
107
108
|
if not isinstance(compressed_files, Iterable):
|
|
108
109
|
compressed_files = [compressed_files]
|
|
109
110
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: openmc_data
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.10
|
|
4
4
|
Summary: A Python package containing a collection of scripts for producing and downloading data for OpenMC
|
|
5
5
|
Author-email: Jonathan Shimwell <mail@jshimwell.com>
|
|
6
6
|
License: Copyright (c) 2019-2022 UChicago Argonne LLC and contributors
|
|
@@ -37,20 +37,14 @@ Requires-Dist: pytest; extra == "tests"
|
|
|
37
37
|
Requires-Dist: requests; extra == "tests"
|
|
38
38
|
|
|
39
39
|
[](https://github.com/shimwell/data/actions/workflows/test_urls.yml)
|
|
40
|
-
|
|
41
40
|
[](https://github.com/openmc-data-storage/openmc_data/actions/workflows/test_package.yml)
|
|
42
|
-
|
|
43
41
|
[](https://github.com/openmc-data-storage/openmc_data/actions/workflows/test_processing.yml)
|
|
44
42
|
|
|
45
43
|
|
|
46
|
-
# OpenMC Data
|
|
47
|
-
|
|
48
|
-
This repository contains a collection of scripts for generating HDF5 data
|
|
49
|
-
libraries and xml chain files that can be used with OpenMC. Some of these
|
|
50
|
-
scripts convert existing ACE libraries (such as those produced by LANL) whereas
|
|
51
|
-
generate scripts use NJOY to process ENDF files directly.
|
|
44
|
+
# OpenMC Data
|
|
52
45
|
|
|
53
|
-
|
|
46
|
+
Aims to facilitate the use of different nuclear data libraries with OpenMC by
|
|
47
|
+
providing command line tools that process and download nuclear data automatically.
|
|
54
48
|
|
|
55
49
|
# Prerequisites
|
|
56
50
|
|
|
@@ -58,7 +52,7 @@ You should have already installed OpenMC, see the [docs](https://docs.openmc.org
|
|
|
58
52
|
|
|
59
53
|
# Installation
|
|
60
54
|
|
|
61
|
-
|
|
55
|
+
The package is distributed on [PYPI](https://pypi.org/project/openmc-data/) and can be installed with pip.
|
|
62
56
|
|
|
63
57
|
```bash
|
|
64
58
|
pip install openmc_data
|
|
@@ -75,7 +69,7 @@ For example:
|
|
|
75
69
|
|
|
76
70
|
```convert_endf --help```
|
|
77
71
|
|
|
78
|
-
Some scripts (mainly the generate scripts) require NJOY to be installed and
|
|
72
|
+
Some scripts (mainly the generate scripts) require [NJOY](https://github.com/njoy/NJOY2016) to be installed and
|
|
79
73
|
added to your path.
|
|
80
74
|
|
|
81
75
|
A few categories of scripts are available:
|
|
@@ -149,8 +143,9 @@ A few categories of scripts are available:
|
|
|
149
143
|
|-|-|-|
|
|
150
144
|
|generate_endf_chain | ENDF/B | VII.1<br>VIII.0 |
|
|
151
145
|
|generate_jeff_chain | JEFF | 3.3 |
|
|
152
|
-
|
|
|
146
|
+
|generate_jendl_chain | JENDL | 5.0 |
|
|
153
147
|
|generate_tendl_chain | TENDL | 2019<br>2021 |
|
|
148
|
+
|generate_serpent_fissq | | |
|
|
154
149
|
|generate_endf71_chain_casl | ENDF/B | |
|
|
155
150
|
|
|
156
151
|
### Download chain files
|
|
@@ -47,6 +47,7 @@ src/openmc_data/depletion/chain_endfb71_sfr.xml
|
|
|
47
47
|
src/openmc_data/depletion/generate_endf71_chain_casl.py
|
|
48
48
|
src/openmc_data/depletion/generate_endf_chain.py
|
|
49
49
|
src/openmc_data/depletion/generate_jeff_chain.py
|
|
50
|
+
src/openmc_data/depletion/generate_jendl_chain.py
|
|
50
51
|
src/openmc_data/depletion/generate_serpent_fissq.py
|
|
51
52
|
src/openmc_data/depletion/generate_tendl_chain.py
|
|
52
53
|
src/openmc_data/depletion/reduce_chain.py
|
|
@@ -21,6 +21,7 @@ generate_fendl = openmc_data.generate.generate_fendl:main
|
|
|
21
21
|
generate_jeff33 = openmc_data.generate.generate_jeff33:main
|
|
22
22
|
generate_jeff_chain = openmc_data.depletion.generate_jeff_chain:main
|
|
23
23
|
generate_jendl = openmc_data.generate.generate_jendl:main
|
|
24
|
+
generate_jendl_chain = openmc_data.depletion.generate_jendl_chain:main
|
|
24
25
|
generate_serpent_fissq = openmc_data.depletion.generate_serpent_fissq:main
|
|
25
26
|
generate_tendl_chain = openmc_data.depletion.generate_tendl_chain:main
|
|
26
27
|
make_compton = openmc_data.other.make_compton:main
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/branching_ratios_pwr.json
RENAMED
|
File without changes
|
{openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/branching_ratios_sfr.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/generate_serpent_fissq.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|