Replies: 7 comments 7 replies
-
Do you know where we use jagged arrays? |
Beta Was this translation helpful? Give feedback.
-
There aren't actually any jagged arrays stored in the database. But So we would probably just need to build our own |
Beta Was this translation helpful? Give feedback.
-
Ok this isn't as urgent as I thought. I tried to recreate the errors I thought I had on linux with numpy 1.23.5 and am unable to do so. It's still a good idea to put into a longer term plan so we aren't locked into ever-aging versions of numpy, but instead of a this-year thing it's a next year thing ;-) |
Beta Was this translation helpful? Give feedback.
-
I would like to note that because we can't use the latest versions of NumPy (due specifically to jagged arrays), ARMI cannot support Python 3.12: #246 That's a pretty big deal. |
Beta Was this translation helpful? Give feedback.
-
Jagged arrays are used to store pin detailed parameter data on assemblies that have differing numbers of pins. So if you have a CR with 17 pins and a fuel assembly with 127 pins, that ends up using jagged arrays. We can definitely refactor the way these data are stored in the DB in order to support the deprecation, but being able to store pin detailed param data on multi-num pin cores is an essential feature for the framework. |
Beta Was this translation helpful? Give feedback.
-
I was able to get something working a couple of months ago: https://github.com/terrapower/armi/tree/jaggedArrays but then interest died down so I put it on the back burner. It's not a finished product yet, but I think it's enough to show notionally that this can be done without a huge overhaul. I basically just added a new class to database3.py. I'd definitely like to have more eyes on it and spend some more time testing corner cases and making sure everything is implemented efficiently. There are a couple unit tests that are passing on my local machine with the old version of numpy, but fail when running with numpy 1.26.4 on GitHub actions. I think these failures could probably be resolved pretty easily, but I haven't gotten around to it yet. |
Beta Was this translation helpful? Give feedback.
-
We have a ticket open for this, and a PR. So, we are definitely doing this soon, and I will close this discussion. |
Beta Was this translation helpful? Give feedback.
-
Our dependence on jagged arrays means we have a max numpy version of 1.23.5.
What is the basis for needing jagged arrays? Can we restructure something to remove this?
We have a ticket open for this here.
@john-science @onufer @albeanth @mgjarrett @jakehader @sombrereau
Beta Was this translation helpful? Give feedback.
All reactions