Changelog¶
Note
Development will be limited to bug fixes for future
0.9.x
releases. Release 0.10.0
will introduce
new and improved parsers and containers alongside
existing structures. For more information, see
Updated Data Model
0.10.0¶
Data files used for testing and examples are now found using the environment variable
SERPENT_TOOLS_DATA
and are no longer distributed with the package.Installation also provides a
serpentTools
executable that can be used to access the Command Line Interface
0.9.3¶
Depletion data now exposed through attributes like
adens
- #390Generate a
pandas.DataFrame
with depletion data usingtoDataFrame()
- #391Dictionary-like item access and iteration for branching, detector, history, depletion, and xsplot readers - #392, #395, #402
Obtain data from
resdata
with__getitem__()
andget()
- #392Modify plot legends for
serpentTools.objects.XSData.plot()
for all or some plotted MTs - #402Options for plotting sensitivity profiles against energies in MeV - #405
Bug Fixes¶
Pending Deprecations¶
serpentTools.DepletionReader.metadata
. Prefer attributes likezais
serpentTools.samplers.DepletionSampler.metadata
. Prefer attributes likezais
serpentTools.XSPlotReader.metadata
andserpentTools.objects.XSData.metadata
. Prefer attributes likemajorant
orenergies
- #402
0.9.2¶
Officially support installing under Python 3.8
Support for passing threshold values to hexagonal detector plots - #351
Bug Fixes¶
Detector reader can handle sequential detectors with very similar names - #374.
serpentTools
doesn’t make any modifications to the logging state, other than introducing package-wide logger - #380Colorbars for mesh plots are placed next to their corresponding plot, rather than near the last drawn plot - #372
0.9.1¶
Bug Fixes¶
0.9.0¶
Python 2 support has been dropped.
Add support for installing and testing against Python 3.7
0.8.1¶
Use
six>=1.13.0
Use
yaml>=5.1.1
Bug Fixes¶
Fix detector.names setting
0.8.0¶
Warning
Serpent 1 detectors are no longer supported - #327. Version 0.9.0 will remove support for python 2 - #328
Better handling of discontinuity factors - #329
HomogUniv
objects no longer automatically convert data to arraysSerpent 2.1.31 is the default version for serpentVersion setting
Detectors and related subclasses are now standalone classes that can be imported as
serpentTools.Detector
- #341BranchContainer
now inherits fromdict
- #344Keys for universes in
ResultsReader.universes
areUnivTuple
Keys for microscopic cross sections in
MicroXSReader.xsVal
andMicroXSReader.xsUnc
areMicroXSTuple
Spread plots for sampled detector and depletion containers allow changing how the mean data and sampled data are plotted by passing dictionary of matplotlib commands, e.g.
meanKwargs={"c": "r", "marker": x"}
would plot the mean data in red with crosses as markers.
Bug Fixes¶
Incompatible API Changes¶
Values are stored in array form on
HomogUniv
when it makes sense. For example, values likeinfKinf
are stored as scalars.Setting
expectGcu
has been removed as #324 fixed how files without group constants are handled.Keys to
BranchedUniv
objects stored inserpentTools.xs.BranchCollector.universes
are stored as strings, rather than integers, e.g.0
is replaced with"0"
- #321Keys to
HomogUniv
instances stored onBranchContainer
are nowUnivTuple
, or tuples withuniverse, burnup, step, days
- #344serpentTools.Detector.indexes
is now a tuple of strings describing each dimension oftallies
rather thanOrderedDict
- #341
0.7.1¶
Add
__getitem__()
and__setitem__()
convenience methods for accessing expected values onHomogUniv
objectsAdd
thresh
argument toDetector
meshPlot
where only data greater thanthresh
is plotted.Mitigate pending deprecated imports from
collections
- #313Increase required version of yaml to
5.1.1
Include
SERPENT
2.1.31
support in serpentVersion setting
Bug fixes¶
Tally data for detectors with time-bins are properly handled - #312
Support for generic string universe names for
BranchingReader
andBranchCollector
- #318
Pending Deprecations¶
Keys to
BranchedUniv
objects stored inserpentTools.xs.BranchCollector.universes
are stored as strings, rather than integers, e.g.0
is replaced with"0"
. A workaround is in-place, but will be removed in future versions.SERPENT
1 style detectors with additional score column will not be supported starting at version0.8.0
.
0.7.0¶
- Easier construction of
BranchCollector
objects - #276 Directly from the class
fromFile
Don’t require passing branch information to
BranchCollector
. Will be inferred from file and set with(p0, p1, ...)
. State data can be used to determine which index is a given perturbation type.
- Easier construction of
Direct
toMatlab
methods forResultsReader
,SensitivityReader
,DepmtxReader
DepletionReader
,DetectorReader
,HistoryReader
, andDetector
objects - #290, #291Overhaul, reorganization, and cleanup of documentation
Incompatible API Changes¶
HomogUniv
objects are now stored onResultsReader
with zero-based indexing for burnup. The previous first value of burnup step was one. All burnup indices are now decreased by one. Similarly, if no burnup was present in the file, the values of burnup and days for all universes is zero - #288When reading Detectors with a single tally, the value of
tallies
,errors
, andscores
are stored as floats, rather than numpy arrays - #289
Deprecations¶
DepletionReader
saveAsMatlab
in favor oftoMatlab()
SERPENT
2.1.30
is the default version of serpentVersion. Will alter some variable groups, like optimization and optimization, that exist in both versions but are slightly different.
Bug Fixes¶
BranchingReader
is now capable of reading.coe
files with uncertainties - #272Fixed a bug that caused some plots not to return the axes object of the plot - #297
HomogUniv
plots are plotted against energy group when no group structure can be determined, and now labeled as such - #299Removed a non-zero exit code from a successful use of the Random Seed Generation command line command - #300
ResultsReader
can process files with assembly discontinuity factors (ADFs) - #305
0.6.2¶
Data files are bundled in source distribution
CLI interface for converting some output files to matlab files - Conversion to Binary .mat files
Add
serpentTools.io
module for converting objects to other data types. Currently a general function for convertingtoMatlab()
DetectorReader
andDetector
objects can be written to MATLAB files usingserpentTools.io.toMatlab()
ResultsReader
can plot data usingplot()
Experimental
BranchCollector
for collecting group constants from coefficient files. Collects group constants in in multi-dimensional matrices according to perturbations, universes, and burnup.Plotting routines now use attach to the active plot or generate a new plot figure if
ax
argument not given - #267BranchingReader
can read coefficient files with uncertainties - #270
Warning
The API for the BranchCollector
may be subject to change
through revisions until 0.7.0
Pending Deprecations¶
saveAsMatlab()
in favor ofserpentTools.io.toMatlab()
with:>>> from serpentTools.io import toMatlab >>> toMatlab(depR)
Depletion plot routines will no longer accept
timePoints
arguments, instead plotting against all points in time
0.6.1¶
#256
serpentTools.settings.rc.loadYaml()
usessafe_load
#257
DepletionReader
now can utilizesaveAsMatlab()
for exporting data to a binary.mat
file#259 Little more clarity into supported readers through documentation and
serpentTools.read()
function
0.6.0¶
#174 - Added parent object
BaseObject
with basic comparison method from which all objects inherit. Comparison method contains upper and lower bounds for values w/o uncertainties, #191#196 - Add comparison methods for
ResultsReader
andHomogUniv
objects#228 - Add comparison methods for
DetectorReader
andDetector
objects#236 - Add comparison methods for
DepletionReader
andDepletedMaterial
objects#241 - Fix a bug in the CLI that rendered the ability to generate files with unique random seeds.
python -m serpentTools seed <input> <N>
can now be properly used.#249 - Better sparse support for depletion matrix,
depmtx
files with aDepmtxReader
#252 - Better axis and colorbar labeling for
Detector
mesh plots#254 - Better plotting of single concentrations with
DepmtxReader
#255 -
DepletionReader
can capture material with underscores now!
Deprecations¶
depmtx()
is deprecated in favor of eitherreadDepmtx()
or the class-basedDepmtxReader
0.5.4¶
#239 - Update python dependencies to continue use of python 2
0.5.3¶
#221 - Expanded
utils
module to better assist developers#227 - Better documentation of our Command Line Interface. Better documentation and testing of functions for generating input files with unique random seeds -
serpentTools.seed
#229 -
serpentTools.SensitivityReader.plot()
now respects the option to not set x nor y labels.#231 -
ResultsReader
objects can now read files that do not contain group constant data. The settingresults-expectGcu
should be used to inform the reader that no group constant data is anticipated
0.5.2¶
#198 - Import test and example files using
serpentTools.data
. Load example readers withserpentTools.data.readDataFile()
#199 - Support for structured or unstructured matrix plotting with
serpentTools.plot.cartMeshPlot()
#201 - Support for plotting hexagonal meshes with
serpentTools.objects.HexagonalDetector.hexPlot()
#204 - Access
Detector
objects directly fromDetectorReader
withreader[detName]
#205 - Access materials from
DepletionReader
andserpentTools.samplers.DepletionSampler
using key-like indexing, e.g.reader[matName] == reader.material[matName]
#213 - Better default x-axis labels for simple Detector plots
API Changes¶
#194 - Some settings in
serpentTools.ResultsReader.metadata
are now stored asint
orfloat
, depending upon their nature. Many of these settings refer to flags of settings used bySERPENT
0.5.1¶
#180 - Add capability to pass isotope
zzaaai
forgetValues()
and associated plot routines#187 - Import all readers and samplers from the main package:
>>> from serpentTools import ResultsReader >>> from serpentTools import DetectorSampler
#189 - Support for reading Detectors with hexagonal, cylindrical, and spherical meshes.
API Changes¶
zzaaai
data is stored onzai
as a list of integers, not strings
0.5.0¶
#131 Updated variable groups between
2.1.29
and2.1.30
- include poison cross section, kinetic parameters, six factor formula (2.1.30 exclusive), and minor differences#141 - Setting xs.reshapeScatter can be used to reshape scatter matrices on
HomogUniv
objects to square matrices#145 -
hasData()
added to check ifHomogUniv
objects have any data stored on them#146 -
HomogUniv
object stores group structure on the object. New dictionaries for storing group constant data that is notINF
norB1
-gc
andgcUnc
#130 Added the ability to read results file
#149 - Add the ability to read sensitivity files
#161 - Add the
utils
module#165 - Add the
serpentTools.objects.HomogUniv.plot()
method
API Changes¶
Deprecation¶
Variable group
xs-yields
is removed. Usepoisons
insteadBranches of a single name are only be accessible through
branches['nom']
, notbranches[('nom'), ]
as per #114
0.4.0¶
#95 Add
xsplot
file reader -XSPlotReader
#121 Samplers will raise more warnings/errors if no files are loaded from
*
wildcards#122 Better Detector labeling
#135 Added instructions for better converting Jupyter notebooks to
.rst
files. Plotting guidelines
0.3.1¶
0.3.0¶
#109 - Capability to read history files
#107 -
DepletionReader
can now plot data for some or all materials