Skip to content

Add nuclear data for other datasets#53

Open
LukeSeifert wants to merge 172 commits into
arfc:mainfrom
LukeSeifert:add-data
Open

Add nuclear data for other datasets#53
LukeSeifert wants to merge 172 commits into
arfc:mainfrom
LukeSeifert:add-data

Conversation

@LukeSeifert
Copy link
Copy Markdown
Collaborator

Summary of changes

Adds multiple new datasets and fixes some small bugs.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • I have read the CONTRIBUTING document.
  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

Associated Issues and PRs

Do not merge until PR #48 is merged.

Associated Developers

  • Dev: @

Checklist for Reviewers

Reviewers should use this link to get to the
Review Checklist before they begin their review.

@LukeSeifert LukeSeifert mentioned this pull request Apr 22, 2026
9 tasks
@katyhuff katyhuff requested a review from ElijahCapps April 29, 2026 19:05
@katyhuff
Copy link
Copy Markdown
Member

@ElijahCapps I've suggested you could be a good reviewer for this. Hopefully you agree.

Copy link
Copy Markdown

@ElijahCapps ElijahCapps left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left a lot of comments in places that I had questions/suggestions on. This was a big PR, so I skipped over the .json inputs and .csv files, assuming they were formatted correctly. I glanced over the tests briefly, but did not look too deep into them. For additions to the core of Mosden (from what I could read), I mainly looked at new function descriptions/variable names to see if they made sense. Let me know if there is anything you would like me to look at closer. At some point, I think it might be a good idea if I tried to build this myself and see where it might hitch.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if there is a better name for this than "results_generator" considering it generates inputs. Also, does this generate several inputs for several runs for one larger analysis? I am a little confused on what the input to this module actually is.

'overwrite': True,
},
'half_life': ['endfb71/decay/', 'endfb80/decay/', 'jeff311/decay/', 'jendl5/decay/', 'iaea/eval.csv'],
'emission_probability': ['endfb71/decay/', 'endfb80/decay/', 'jeff311/decay/', 'jendl5/decay/', 'iaea/eval.csv'],
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these the correct library directories? I am not familiar with how these libraries are structured.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this just output?

set(emission_nucs) & set(half_life_nucs) & set(conc_nucs))
for nuc in net_similar_nucs:
data = conc_data[nuc]
Pn = pn_data[nuc]['emission probability']
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One convention uses spaces ('emission probability') and the other uses underscores ('half_life')?

Pn = pn_data[nuc]['emission probability']
hl = hl_data[nuc]['half_life']
decay_const = np.log(2) / hl
if np.allclose(list(data.values()), 0.0):
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this for?

Comment thread mosden/preprocessing.py

def jendl_preprocess(self, data_val: str, unprocessed_path: str) -> None:
"""
Processes JENDL data
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Processes" is a bit of a vague descriptor

Comment thread mosden/preprocessing.py

def _jendl_nfy_preprocess(self, data_val: str, path: str) -> None:
"""
Processes JENDL fission yield data for the specified fissile target.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor nitpick but some descriptions have punctuation while others don't

Comment thread mosden/preprocessing.py
return None


def _jendl_nfy_preprocess(self, data_val: str, path: str) -> None:
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Several functions begin with an underscore but many other do not. What does the format call for?

Comment thread tests/unit/test_base.py
index = base.get_irrad_index(False)
assert index == 3

def test_get_irrad_index_with_min_time():
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should tests have descriptions? I am not sure what the expectation here is.

Comment thread README.md
measures of the summed data than an in-core residence time of 30 seconds (30
OpenMC simulations).
This can be resolved by using a smaller minimum OpenMC timestep.
The minimum timestep should be set such that approximately 100 simulations are
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why this specific number?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants