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.
Files changed (76) hide show
  1. {openmc_data-2.2.8 → openmc_data-2.2.10}/.github/workflows/test_package.yml +8 -2
  2. {openmc_data-2.2.8 → openmc_data-2.2.10}/.github/workflows/test_processing.yml +8 -2
  3. {openmc_data-2.2.8 → openmc_data-2.2.10}/.github/workflows/test_urls.yml +7 -1
  4. {openmc_data-2.2.8 → openmc_data-2.2.10}/PKG-INFO +8 -13
  5. {openmc_data-2.2.8 → openmc_data-2.2.10}/README.md +7 -12
  6. {openmc_data-2.2.8 → openmc_data-2.2.10}/pyproject.toml +1 -0
  7. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/_version.py +2 -2
  8. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/generate_endf71_chain_casl.py +1 -1
  9. openmc_data-2.2.10/src/openmc_data/depletion/generate_jendl_chain.py +127 -0
  10. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/generate/generate_jendl.py +10 -2
  11. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/urls.py +5 -1
  12. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/urls_chain.py +23 -0
  13. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/utils.py +2 -1
  14. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data.egg-info/PKG-INFO +8 -13
  15. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data.egg-info/SOURCES.txt +1 -0
  16. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data.egg-info/entry_points.txt +1 -0
  17. {openmc_data-2.2.8 → openmc_data-2.2.10}/.github/workflows/python-publish.yml +0 -0
  18. {openmc_data-2.2.8 → openmc_data-2.2.10}/.gitignore +0 -0
  19. {openmc_data-2.2.8 → openmc_data-2.2.10}/LICENSE +0 -0
  20. {openmc_data-2.2.8 → openmc_data-2.2.10}/setup.cfg +0 -0
  21. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/__init__.py +0 -0
  22. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/convert/__init__.py +0 -0
  23. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/convert/convert_endf.py +0 -0
  24. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/convert/convert_fendl.py +0 -0
  25. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/convert/convert_jeff32.py +0 -0
  26. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/convert/convert_jeff33.py +0 -0
  27. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/convert/convert_lib80x.py +0 -0
  28. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/convert/convert_mcnp70.py +0 -0
  29. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/convert/convert_mcnp71.py +0 -0
  30. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/convert/convert_tendl.py +0 -0
  31. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/__init__.py +0 -0
  32. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/add_branching_ratios.py +0 -0
  33. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/branching_ratios_pwr.json +0 -0
  34. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/branching_ratios_sfr.json +0 -0
  35. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/casl_chain.py +0 -0
  36. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/chain-nndc-b7.1.xml +0 -0
  37. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/chain_casl_pwr.xml +0 -0
  38. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/chain_casl_sfr.xml +0 -0
  39. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/chain_endf_b7.1.xml +0 -0
  40. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/chain_endf_b7.1_pwr.xml +0 -0
  41. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/chain_endf_b7.1_sfr.xml +0 -0
  42. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/chain_endf_b8.0.xml +0 -0
  43. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/chain_endf_b8.0_pwr.xml +0 -0
  44. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/chain_endf_b8.0_sfr.xml +0 -0
  45. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/chain_endfb71_pwr.xml +0 -0
  46. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/chain_endfb71_sfr.xml +0 -0
  47. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/generate_endf_chain.py +0 -0
  48. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/generate_jeff_chain.py +0 -0
  49. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/generate_serpent_fissq.py +0 -0
  50. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/generate_tendl_chain.py +0 -0
  51. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/reduce_chain.py +0 -0
  52. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/serpent_fissq.json +0 -0
  53. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/tendl2019_nuclides.json +0 -0
  54. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/depletion/tendl2021_nuclides.json +0 -0
  55. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/download/__init__.py +0 -0
  56. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/download/download_endf.py +0 -0
  57. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/download/download_endf_chain.py +0 -0
  58. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/download/download_tendl.py +0 -0
  59. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/generate/__init__.py +0 -0
  60. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/generate/generate_cendl.py +0 -0
  61. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/generate/generate_endf.py +0 -0
  62. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/generate/generate_fendl.py +0 -0
  63. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/generate/generate_jeff33.py +0 -0
  64. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/other/__init__.py +0 -0
  65. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/other/combine_libraries.py +0 -0
  66. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/other/convert_tendl_rand.py +0 -0
  67. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/other/make_compton.py +0 -0
  68. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/other/make_stopping_powers.py +0 -0
  69. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/other/sample_sandy.py +0 -0
  70. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/urls_h5.py +0 -0
  71. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data/urls_xml.py +0 -0
  72. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data.egg-info/dependency_links.txt +0 -0
  73. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data.egg-info/requires.txt +0 -0
  74. {openmc_data-2.2.8 → openmc_data-2.2.10}/src/openmc_data.egg-info/top_level.txt +0 -0
  75. {openmc_data-2.2.8 → openmc_data-2.2.10}/tests/test_urls.py +0 -0
  76. {openmc_data-2.2.8 → openmc_data-2.2.10}/tests/test_version.py +0 -0
@@ -4,10 +4,16 @@ on:
4
4
  workflow_dispatch:
5
5
  pull_request:
6
6
  branches:
7
- - main
7
+ - main
8
+ paths-ignore:
9
+ - "**.md"
10
+ - "**.txt"
11
+ - "**.cff"
12
+ - 'docs/**'
13
+ - '.gitignore'
8
14
  push:
9
15
  branches:
10
- - main
16
+ - main
11
17
 
12
18
 
13
19
  jobs:
@@ -4,10 +4,16 @@ on:
4
4
  workflow_dispatch:
5
5
  pull_request:
6
6
  branches:
7
- - main
7
+ - main
8
+ paths-ignore:
9
+ - "**.md"
10
+ - "**.txt"
11
+ - "**.cff"
12
+ - 'docs/**'
13
+ - '.gitignore'
8
14
  push:
9
15
  branches:
10
- - main
16
+ - main
11
17
 
12
18
 
13
19
  jobs:
@@ -4,7 +4,13 @@ on:
4
4
  workflow_dispatch:
5
5
  pull_request:
6
6
  branches:
7
- - main
7
+ - main
8
+ paths-ignore:
9
+ - "**.md"
10
+ - "**.txt"
11
+ - "**.cff"
12
+ - 'docs/**'
13
+ - '.gitignore'
8
14
  push:
9
15
  branches:
10
16
  - main
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: openmc_data
3
- Version: 2.2.8
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
  [![test_urls](https://github.com/shimwell/data/actions/workflows/test_urls.yml/badge.svg)](https://github.com/shimwell/data/actions/workflows/test_urls.yml)
40
-
41
40
  [![test_package](https://github.com/openmc-data-storage/openmc_data/actions/workflows/test_package.yml/badge.svg)](https://github.com/openmc-data-storage/openmc_data/actions/workflows/test_package.yml)
42
-
43
41
  [![test_convert_scripts](https://github.com/openmc-data-storage/openmc_data/actions/workflows/test_processing.yml/badge.svg)](https://github.com/openmc-data-storage/openmc_data/actions/workflows/test_processing.yml)
44
42
 
45
43
 
46
- # OpenMC Data Scripts
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
- Another source of data libraries for OpenMC is the [Windowed Multipole Library](https://github.com/mit-crpg/WMP_Library) repository which enables on-the-fly Doppler broadening to an arbitrary temperature.
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
- Currently the package can be installed from this temporary repository.
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
- |generate_serpent_fissq | | |
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
  [![test_urls](https://github.com/shimwell/data/actions/workflows/test_urls.yml/badge.svg)](https://github.com/shimwell/data/actions/workflows/test_urls.yml)
2
-
3
2
  [![test_package](https://github.com/openmc-data-storage/openmc_data/actions/workflows/test_package.yml/badge.svg)](https://github.com/openmc-data-storage/openmc_data/actions/workflows/test_package.yml)
4
-
5
3
  [![test_convert_scripts](https://github.com/openmc-data-storage/openmc_data/actions/workflows/test_processing.yml/badge.svg)](https://github.com/openmc-data-storage/openmc_data/actions/workflows/test_processing.yml)
6
4
 
7
5
 
8
- # OpenMC Data Scripts
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
- Another source of data libraries for OpenMC is the [Windowed Multipole Library](https://github.com/mit-crpg/WMP_Library) repository which enables on-the-fly Doppler broadening to an arbitrary temperature.
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
- Currently the package can be installed from this temporary repository.
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
- |generate_serpent_fissq | | |
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
 
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '2.2.8'
16
- __version_tuple__ = version_tuple = (2, 2, 8)
15
+ __version__ = version = '2.2.10'
16
+ __version_tuple__ = version_tuple = (2, 2, 10)
@@ -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.gnd_name
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
- Wheather the compressed file should be deleted (True) or not (False)
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.8
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
  [![test_urls](https://github.com/shimwell/data/actions/workflows/test_urls.yml/badge.svg)](https://github.com/shimwell/data/actions/workflows/test_urls.yml)
40
-
41
40
  [![test_package](https://github.com/openmc-data-storage/openmc_data/actions/workflows/test_package.yml/badge.svg)](https://github.com/openmc-data-storage/openmc_data/actions/workflows/test_package.yml)
42
-
43
41
  [![test_convert_scripts](https://github.com/openmc-data-storage/openmc_data/actions/workflows/test_processing.yml/badge.svg)](https://github.com/openmc-data-storage/openmc_data/actions/workflows/test_processing.yml)
44
42
 
45
43
 
46
- # OpenMC Data Scripts
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
- Another source of data libraries for OpenMC is the [Windowed Multipole Library](https://github.com/mit-crpg/WMP_Library) repository which enables on-the-fly Doppler broadening to an arbitrary temperature.
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
- Currently the package can be installed from this temporary repository.
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
- |generate_serpent_fissq | | |
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