Skip to content

Commit a2f41fb

Browse files
authored
Merge pull request #209 from arfc/fix_deps
updates serpent tools dependency and pins python version
2 parents 973d321 + a50109f commit a2f41fb

9 files changed

Lines changed: 62 additions & 177 deletions

File tree

.github/workflows/cache-dependencies.yml

Lines changed: 0 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ jobs:
3737
miniforge-version: latest
3838
activate-environment: saltproc-env
3939
use-mamba: true
40-
use-only-tar-bz2: true
4140
- run: |
4241
conda config --env --set pip_interop_enabled True
4342
@@ -49,10 +48,7 @@ jobs:
4948
id: dependencies-cache
5049
with:
5150
path: |
52-
/usr/share/miniconda3/envs/saltproc-env
53-
~/openmc_src
5451
~/endfb71_hdf5
55-
~/.cache/pip
5652
key: depcache-${{ hashFiles('environment.yml') }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }}
5753

5854
# Install dependencies
@@ -64,27 +60,6 @@ jobs:
6460
if: steps.dependencies-cache.outputs.cache-hit != 'true'
6561
run: $GITHUB_WORKSPACE/scripts/ci/openmc-xs.bash
6662

67-
- name: OpenMC dependencies
68-
run: |
69-
sudo apt -y update
70-
sudo apt install -y libhdf5-dev
71-
72-
- name: Download OpenMC
73-
if: steps.dependencies-cache.outputs.cache-hit != 'true'
74-
uses: actions/checkout@v4
75-
with:
76-
repository: openmc-dev/openmc
77-
path: openmc
78-
submodules: recursive
79-
80-
- name: Build OpenMC from source if no cache if found
81-
if: steps.dependencies-cache.outputs.cache-hit != 'true'
82-
run: $GITHUB_WORKSPACE/tools/ci/build-openmc.sh
83-
84-
- name: Restore OpenMC source build from cache
85-
if: steps.dependencies-cache.outputs.cache-hit == 'true'
86-
run: $GITHUB_WORKSPACE/tools/ci/restore-openmc.sh
87-
8863
- name: Install SaltProc
8964
run: pip install .
9065

@@ -99,51 +74,3 @@ jobs:
9974

10075
steps:
10176
- uses: actions/checkout@v4
102-
103-
## DOCUMENTATION CACHE ##
104-
- name: Set up conda
105-
uses: conda-incubator/setup-miniconda@v3
106-
with:
107-
miniforge-version: latest
108-
activate-environment: saltproc-doc-env
109-
use-mamba: true
110-
use-only-tar-bz2: true
111-
- run: |
112-
conda config --env --set pip_interop_enabled True
113-
114-
# check for existing cache
115-
- name: Set cache date
116-
run: echo "DATE=$(date +'%Y%m%d')" >> $GITHUB_ENV
117-
118-
- uses: actions/cache@v4
119-
id: dependencies-cache
120-
with:
121-
path: |
122-
/usr/share/miniconda3/envs/saltproc-doc-env
123-
~/.cache/pip
124-
key: depcache-${{ hashFiles('doc/doc-environment.yml') }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }}
125-
126-
# Install dependencies
127-
- name: Update environment
128-
run: mamba env update -n saltproc-doc-env -f doc/doc-environment.yml
129-
if: steps.dependencies-cache.outputs.cache-hit != 'true'
130-
131-
- name: Download OpenMC
132-
if: steps.dependencies-cache.outputs.cache-hit != 'true'
133-
uses: actions/checkout@v4
134-
with:
135-
repository: openmc-dev/openmc
136-
path: openmc
137-
138-
- name: Build OpenMC API
139-
if: steps.dependencies-cache.outputs.cache-hit != 'true'
140-
run: |
141-
cd openmc
142-
pip install .
143-
cd ../
144-
145-
- name: Install SaltProc
146-
run: pip install .
147-
148-
- name: Check packages
149-
run: conda list

.github/workflows/test-saltproc.yml

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ on:
1414
workflow_dispatch:
1515

1616
env:
17-
CACHE_NUMBER: 6 #change to manually reset cache
17+
CACHE_NUMBER: 0 #change to manually reset cache
1818

1919
jobs:
2020
test-saltproc:
@@ -43,7 +43,6 @@ jobs:
4343
channels: conda-forge
4444
activate-environment: saltproc-env
4545
use-mamba: true
46-
use-only-tar-bz2: true
4746
- run: |
4847
conda config --env --set pip_interop_enabled True
4948
@@ -55,43 +54,17 @@ jobs:
5554
id: dependencies-cache
5655
with:
5756
path: |
58-
/usr/share/miniconda3/envs/saltproc-env
59-
~/openmc_src
60-
~/mcpl_src
6157
~/endfb71_hdf5
62-
~/.cache/pip
6358
key: depcache-${{ hashFiles('environment.yml') }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }}
6459

6560
# Install dependencies
6661
- name: Update environment
6762
run: mamba env update -n saltproc-env -f environment.yml
68-
if: steps.dependencies-cache.outputs.cache-hit != 'true'
6963

7064
- name: Install OpenMC cross section library
7165
if: steps.dependencies-cache.outputs.cache-hit != 'true'
7266
run: $GITHUB_WORKSPACE/scripts/ci/openmc-xs.bash
7367

74-
- name: OpenMC dependencies
75-
run: |
76-
sudo apt -y update
77-
sudo apt install -y libhdf5-dev
78-
79-
- name: Download OpenMC
80-
if: steps.dependencies-cache.outputs.cache-hit != 'true'
81-
uses: actions/checkout@v4
82-
with:
83-
repository: openmc-dev/openmc
84-
path: openmc
85-
submodules: recursive
86-
87-
- name: Build OpenMC from source if no cache is found
88-
if: steps.dependencies-cache.outputs.cache-hit != 'true'
89-
run: $GITHUB_WORKSPACE/tools/ci/build-openmc.sh
90-
91-
- name: Restore OpenMC source build from cache
92-
if: steps.dependencies-cache.outputs.cache-hit == 'true'
93-
run: $GITHUB_WORKSPACE/tools/ci/restore-openmc.sh
94-
9568
- name: Install SaltProc
9669
run: pip install .
9770

environment.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@ channels:
33
- conda-forge
44
- defaults
55
dependencies:
6+
- python
7+
- openmc>=0.14.0
68
- numpy
79
- pytables
810
- networkx
911
- pydot
1012
- pytest
1113
- jsonschema
1214
- pip:
13-
- serpentTools
14-
- argparse==1.4.0
15+
- git+https://github.com/CORE-GATECH-GROUP/serpent-tools.git
16+
- argparse

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ openmc
66
pytables
77
networkx
88
pydot
9-
serpentTools
9+
git+https://github.com/CORE-GATECH-GROUP/serpent-tools.git
Binary file not shown.
Binary file not shown.

tests/integration_tests/run_constant_reprocessing_serpent/test.py

Lines changed: 20 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ def read_keff(file):
5656
def assert_db_allclose(test_db, ref_db, tol):
5757
assert_nuclide_mass_allclose(test_db, ref_db, tol)
5858
assert_in_out_streams_allclose(test_db, ref_db, tol)
59-
ref_data, ref_after_param, ref_before_param = read_fuel(ref_db, 'old')
60-
test_data, test_after_param, test_before_param = read_fuel(test_db, 'new')
59+
ref_data, ref_after_param, ref_before_param = read_fuel(ref_db)
60+
test_data, test_after_param, test_before_param = read_fuel(test_db)
6161
# Compare materials composition
6262
for node_name, test_comp in test_data.items():
6363
for nuc, test_mass_arr in test_comp.items():
@@ -71,27 +71,19 @@ def assert_db_allclose(test_db, ref_db, tol):
7171
np.testing.assert_allclose(test_before_param, ref_before_param, rtol=tol)
7272

7373
def assert_nuclide_mass_allclose(test_db, ref_db, tol):
74-
ref_mass_before, ref_mass_after = read_nuclide_mass(ref_db, 'old')
75-
test_mass_before, test_mass_after = read_nuclide_mass(test_db, 'new')
74+
ref_mass_before, ref_mass_after = read_nuclide_mass(ref_db )
75+
test_mass_before, test_mass_after = read_nuclide_mass(test_db)
7676
for key, val in ref_mass_before.items():
77-
if key[-2] == 'm':
78-
key = key[:-2] + '_' + key[-2:]
7977
np.testing.assert_allclose(val, test_mass_before[key], rtol=tol)
8078
for key, val in ref_mass_after.items():
81-
if key[-2] == 'm':
82-
key = key[:-2] + '_' + key[-2:]
8379
np.testing.assert_allclose(val, test_mass_after[key], rtol=tol)
8480

85-
def read_nuclide_mass(db_file, version):
81+
def read_nuclide_mass(db_file):
8682
db = tb.open_file(db_file, mode='r')
8783
fuel_before = db.root.materials.fuel.before_reproc.comp
8884
fuel_after = db.root.materials.fuel.after_reproc.comp
89-
if version == 'old':
90-
before_nucmap = fuel_before.attrs.iso_map
91-
after_nucmap = fuel_after.attrs.iso_map
92-
else:
93-
before_nucmap = _create_nuclide_map(db.root.materials.fuel.before_reproc)
94-
after_nucmap = _create_nuclide_map(db.root.materials.fuel.after_reproc)
85+
before_nucmap = _create_nuclide_map(db.root.materials.fuel.before_reproc)
86+
after_nucmap = _create_nuclide_map(db.root.materials.fuel.after_reproc)
9587

9688
mass_before = {}
9789
mass_after = {}
@@ -107,11 +99,11 @@ def assert_in_out_streams_allclose(test_db, ref_db, tol):
10799
ref_sparger, \
108100
ref_separator, \
109101
ref_ni_filter, \
110-
ref_feed = read_in_out_streams(ref_db, 'old')
102+
ref_feed = read_in_out_streams(ref_db)
111103
test_sparger, \
112104
test_separator, \
113105
test_ni_filter, \
114-
test_feed = read_in_out_streams(test_db, 'new')
106+
test_feed = read_in_out_streams(test_db)
115107
for key, val in test_sparger.items():
116108
if len(key) > 4 and key[-3] == '_':
117109
key = key[:-3] + key[-2:]
@@ -133,27 +125,21 @@ def assert_in_out_streams_allclose(test_db, ref_db, tol):
133125
if key in ref_feed:
134126
np.testing.assert_allclose(val, ref_feed[key], rtol=tol)
135127

136-
def read_in_out_streams(db_file, version):
128+
def read_in_out_streams(db_file):
137129
db = tb.open_file(db_file, mode='r')
138130
waste_sparger = db.root.materials.fuel.in_out_streams.waste_sparger
139131
waste_separator = \
140132
db.root.materials.fuel.in_out_streams.waste_entrainment_separator
141133
waste_ni_filter = db.root.materials.fuel.in_out_streams.waste_nickel_filter
142134
feed_leu = db.root.materials.fuel.in_out_streams.feed_leu
143-
if version == 'old':
144-
waste_sparger_nucmap = waste_sparger.attrs.iso_map
145-
waste_separator_nucmap = waste_separator.attrs.iso_map
146-
waste_ni_filter_nucmap = waste_ni_filter.attrs.iso_map
147-
feed_nucmap = feed_leu.attrs.iso_map
148-
else:
149-
waste_sparger_nucmap = _create_nuclide_map(waste_sparger)
150-
waste_separator_nucmap = _create_nuclide_map(waste_separator)
151-
waste_ni_filter_nucmap = _create_nuclide_map(waste_ni_filter)
152-
feed_nucmap = _create_nuclide_map(feed_leu)
153-
waste_sparger = waste_sparger.comp
154-
waste_separator = waste_separator.comp
155-
waste_ni_filter = waste_ni_filter.comp
156-
feed_leu = feed_leu.comp
135+
waste_sparger_nucmap = _create_nuclide_map(waste_sparger)
136+
waste_separator_nucmap = _create_nuclide_map(waste_separator)
137+
waste_ni_filter_nucmap = _create_nuclide_map(waste_ni_filter)
138+
feed_nucmap = _create_nuclide_map(feed_leu)
139+
waste_sparger = waste_sparger.comp
140+
waste_separator = waste_separator.comp
141+
waste_ni_filter = waste_ni_filter.comp
142+
feed_leu = feed_leu.comp
157143

158144
mass_waste_sparger = {}
159145
mass_waste_separator = {}
@@ -178,15 +164,12 @@ def read_in_out_streams(db_file, version):
178164
mass_waste_ni_filter, \
179165
mass_feed_leu
180166

181-
def read_fuel(file, version):
167+
def read_fuel(file):
182168
db = tb.open_file(file, mode='r')
183169
fuel = db.root.materials.fuel
184170
out_data = {}
185171
for node in db.walk_nodes(fuel, classname="EArray"):
186-
if version == 'old':
187-
nucmap = node.attrs.iso_map
188-
else:
189-
nucmap = _create_nuclide_map(node._v_parent)
172+
nucmap = _create_nuclide_map(node._v_parent)
190173
if node._v_name == 'comp':
191174
node_name = node._v_parent._v_name
192175
else:

0 commit comments

Comments
 (0)