serpent-tools icon indicating copy to clipboard operation
serpent-tools copied to clipboard

[WIP] Start working on next results reader

Open drewejohnson opened this issue 4 years ago • 0 comments

The file serpentTools/next/results.py contains the in-progress ResultFile and ResultReader implementations. These are heavily inspired by the current ResultsReader, originally developed by @DanKotlyar

The basic idea is similar to the DetectorFile and DetectorReader, where the latter can be re-used across multiple files and configured independently. Essentially you can do something like

>>> r = ResultReader()
>>> r29 = ResultReader(serpentVersion="2.1.29")
>>> justK = ResultReader(extras={"ABS_KEFF", })

and then the .read method on all these instances to process a file. The ResultFile class doesn't have a lot of functionality beyond storing the resdata, metadata, and dictionaries. The goal is to provide the same functionality as the existing ResultsReader.

There are still some tasks that I would like to resolve before merging, some more obvious than others. I will leave them here for posterity

  • [ ] Variable expansion using the groups (like "eig" to get eigenvalues -> {"ABS_KEFF", "COL_KEFF", ...}
  • [ ] Testing against the current ResultsReader
  • [ ] Implement more functionality on the ResultFile
  • [ ] Documentation
  • [ ] Add to serpentTools.next through import

Marking as [skip ci] to avoid builds as this will be left as a draft for discussion and transparency

Supports #335

drewejohnson avatar Aug 06 '20 15:08 drewejohnson