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_DATAand are no longer distributed with the package.Installation also provides a
serpentToolsexecutable that can be used to access the Command Line Interface
0.9.3¶
Depletion data now exposed through attributes like
adens- #390Generate a
pandas.DataFramewith depletion data usingtoDataFrame()- #391Dictionary-like item access and iteration for branching, detector, history, depletion, and xsplot readers - #392, #395, #402
Obtain data from
resdatawith__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 likezaisserpentTools.samplers.DepletionSampler.metadata. Prefer attributes likezaisserpentTools.XSPlotReader.metadataandserpentTools.objects.XSData.metadata. Prefer attributes likemajorantorenergies- #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.
serpentToolsdoesn’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.0Use
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
HomogUnivobjects 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- #341BranchContainernow inherits fromdict- #344Keys for universes in
ResultsReader.universesareUnivTupleKeys for microscopic cross sections in
MicroXSReader.xsValandMicroXSReader.xsUncareMicroXSTupleSpread 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
HomogUnivwhen it makes sense. For example, values likeinfKinfare stored as scalars.Setting
expectGcuhas been removed as #324 fixed how files without group constants are handled.Keys to
BranchedUnivobjects stored inserpentTools.xs.BranchCollector.universesare stored as strings, rather than integers, e.g.0is replaced with"0"- #321Keys to
HomogUnivinstances stored onBranchContainerare nowUnivTuple, or tuples withuniverse, burnup, step, days- #344serpentTools.Detector.indexesis now a tuple of strings describing each dimension oftalliesrather thanOrderedDict- #341
0.7.1¶
Add
__getitem__()and__setitem__()convenience methods for accessing expected values onHomogUnivobjectsAdd
threshargument toDetectormeshPlotwhere only data greater thanthreshis plotted.Mitigate pending deprecated imports from
collections- #313Increase required version of yaml to
5.1.1Include
SERPENT2.1.31support in serpentVersion setting
Bug fixes¶
Tally data for detectors with time-bins are properly handled - #312
Support for generic string universe names for
BranchingReaderandBranchCollector- #318
Pending Deprecations¶
Keys to
BranchedUnivobjects stored inserpentTools.xs.BranchCollector.universesare stored as strings, rather than integers, e.g.0is replaced with"0". A workaround is in-place, but will be removed in future versions.SERPENT1 style detectors with additional score column will not be supported starting at version0.8.0.
0.7.0¶
- Easier construction of
BranchCollectorobjects - #276 Directly from the class
fromFileDon’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
toMatlabmethods forResultsReader,SensitivityReader,DepmtxReaderDepletionReader,DetectorReader,HistoryReader, andDetectorobjects - #290, #291Overhaul, reorganization, and cleanup of documentation
Incompatible API Changes¶
HomogUnivobjects are now stored onResultsReaderwith 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, andscoresare stored as floats, rather than numpy arrays - #289
Deprecations¶
DepletionReadersaveAsMatlabin favor oftoMatlab()SERPENT
2.1.30is 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¶
BranchingReaderis now capable of reading.coefiles with uncertainties - #272Fixed a bug that caused some plots not to return the axes object of the plot - #297
HomogUnivplots 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
ResultsReadercan 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.iomodule for converting objects to other data types. Currently a general function for convertingtoMatlab()DetectorReaderandDetectorobjects can be written to MATLAB files usingserpentTools.io.toMatlab()ResultsReadercan plot data usingplot()Experimental
BranchCollectorfor 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
axargument not given - #267BranchingReadercan 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
timePointsarguments, instead plotting against all points in time
0.6.1¶
#256
serpentTools.settings.rc.loadYaml()usessafe_load#257
DepletionReadernow can utilizesaveAsMatlab()for exporting data to a binary.matfile#259 Little more clarity into supported readers through documentation and
serpentTools.read()function
0.6.0¶
#174 - Added parent object
BaseObjectwith 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
ResultsReaderandHomogUnivobjects#228 - Add comparison methods for
DetectorReaderandDetectorobjects#236 - Add comparison methods for
DepletionReaderandDepletedMaterialobjects#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,
depmtxfiles with aDepmtxReader#252 - Better axis and colorbar labeling for
Detectormesh plots#254 - Better plotting of single concentrations with
DepmtxReader#255 -
DepletionReadercan 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
utilsmodule 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 -
ResultsReaderobjects can now read files that do not contain group constant data. The settingresults-expectGcushould 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
Detectorobjects directly fromDetectorReaderwithreader[detName]#205 - Access materials from
DepletionReaderandserpentTools.samplers.DepletionSamplerusing 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.metadataare now stored asintorfloat, depending upon their nature. Many of these settings refer to flags of settings used bySERPENT
0.5.1¶
#180 - Add capability to pass isotope
zzaaaiforgetValues()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¶
zzaaaidata is stored onzaias a list of integers, not strings
0.5.0¶
#131 Updated variable groups between
2.1.29and2.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
HomogUnivobjects to square matrices#145 -
hasData()added to check ifHomogUnivobjects have any data stored on them#146 -
HomogUnivobject stores group structure on the object. New dictionaries for storing group constant data that is notINFnorB1-gcandgcUnc#130 Added the ability to read results file
#149 - Add the ability to read sensitivity files
#161 - Add the
utilsmodule#165 - Add the
serpentTools.objects.HomogUniv.plot()method
API Changes¶
Deprecation¶
Variable group
xs-yieldsis removed. UsepoisonsinsteadBranches of a single name are only be accessible through
branches['nom'], notbranches[('nom'), ]as per #114
0.4.0¶
#95 Add
xsplotfile 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
.rstfiles. Plotting guidelines
0.3.1¶
0.3.0¶
#109 - Capability to read history files
#107 -
DepletionReadercan now plot data for some or all materials