terrapower / armi

An open-source nuclear reactor analysis automation framework that helps design teams increase efficiency and quality
https://terrapower.github.io/armi/
Apache License 2.0
224 stars 87 forks source link

There is a 109-page "List of Nuclides" table in the API #1624

Closed john-science closed 6 months ago

john-science commented 8 months ago

In the ARMI docs, there is a full list of Nuclides table. When rendered to PDF it is about 109 pages long:

https://github.com/terrapower/armi/blob/c07fe4f3059eb5527d9d61055e5ab940c153b873/armi/nucDirectory/nuclideBases.py#L94-L99

I think there are two possibilities:

  1. This isn't necessary in the docs: we can just remove the table.
  2. This is important data: we need to pull it out of the API and put it somewhere more findable in the docs.

Which of these is true?

john-science commented 8 months ago

@ntouran @albeanth @drewj-usnctech @sombrereau @keckler I have given two options above. Which do YOU think is true?

(If no one votes, I will just decide.)

albeanth commented 8 months ago

I vote 2 with an idea for the somewhere part:

That said, if option 1 is popular, I won't argue.

jakehader commented 8 months ago

I think option 2 is correct, especially with half life data. I think the table is good in the document - if someone wants it in Excel or csv they can import ARMI and get it from the nuclide objects directly

109 pages seems extremely large though. Is the front pretty big or is the wrapping making the rows have larger heights?

albeanth commented 8 months ago

@jakehader how about a compromise where we show a select number of nuclides and then reference the rest? E.g., show U238/225, some Zr, B10, C, H, Cs, Xe, etc, so the table is reasonably sized for the docs and then say something like "to see the remained X thousand nuclides, install ARMI and run this script."

Thoughts?

keckler commented 8 months ago

We don't explicitly list out cross section data in our docs, I don't see any reason why half life data should be any different.

My vote is for (1), this isn't necessary in the docs.

john-science commented 8 months ago

We don't explicitly list out cross section data in our docs, I don't see any reason why half life data should be any different.

My vote is for (1), this isn't necessary in the docs.

Perhaps the real question is: Has anyone EVER used this table as a reference? No one has ever asked me about it, so I'm inclined to guess "no".

jakehader commented 8 months ago

@jakehader how about a compromise where we show a select number of nuclides and then reference the rest? E.g., show U238/225, some Zr, B10, C, H, Cs, Xe, etc, so the table is reasonably sized for the docs and then say something like "to see the remained X thousand nuclides, install ARMI and run this script."

Thoughts?

I like this compromise, just listing the first 20 or something. It would be nice to document what nuclides are available in the docs, but if the script works and is maintained I don't see any issue with that.

If we had hard-coded cross section data that is imported/read in when someone configured ARMI or an application I think it should also be documented.

jakehader commented 8 months ago

I am happy with this solution that @mgjarrett put together on https://github.com/terrapower/armi/pull/1634 since it will then render in HTML but not pollute the PDF.

ntouran commented 8 months ago

I like the .. only:: html solution from #1634.

That said I don't find this particular table extremely useful. In a previous revision I believe it showed MCNP, MCC2, and MCC3 IDs rather than basic nuclide data, which made it a more valuable and meaningful cross-reference.

john-science commented 7 months ago

Votes thus far:

albeanth commented 7 months ago

To clarify my vote for 2: I don't think we should keep the table as is. That would be silly. It needs to be significantly trimmed. And if Option 1 is the winner, I won't argue.