.. |toMatlab-short| replace:: :func:`~serpentTools.io.toMatlab` .. |toMatlab-full| replace:: :func:`serpentTools.io.toMatlab` .. _changelog: ========= 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 :ref:`data-model` .. _v0.9.3: :release-tag:`0.9.3` ==================== * Depletion data now exposed through attributes like :attr:`~serpentTools.objects.DepletedMaterial.adens` - :pull:`390` * Generate a :class:`pandas.DataFrame` with depletion data using :meth:`~serpentTools.objects.DepletedMaterial.toDataFrame` - :pull:`391` * Dictionary-like item access and iteration for branching, detector, history, depletion, and xsplot readers - :pull:`392`, :pull:`395`, :pull:`402` * Obtain data from :attr:`~serpentTools.ResultsReader.resdata` with :meth:`~serpentTools.ResultsReader.__getitem__` and :meth:`~serpentTools.ResultsReader.get` - :pull:`392` * Modify plot legends for :meth:`serpentTools.objects.XSData.plot` for all or some plotted MTs - :pull:`402` * Options for plotting sensitivity profiles against energies in MeV - :pull:`405` .. _v0.9.3-bug: Bug Fixes --------- * Support ``xsplot`` files with branching fractions - :issue:`387`, :pull:`388` .. _v0.9.3-dep: Pending Deprecations -------------------- * :attr:`serpentTools.DepletionReader.metadata`. Prefer attributes like :attr:`~serpentTools.DepletionReader.zais` * :attr:`serpentTools.samplers.DepletionSampler.metadata`. Prefer attributes like :attr:`~serpentTools.samplers.DepletionSampler.zais` * :meth:`serpentTools.BranchingReader.iterBranches`. Prefer :meth:`~serpentTools.BranchingReader.items` * :attr:`serpentTools.XSPlotReader.metadata` and :attr:`serpentTools.objects.XSData.metadata`. Prefer attributes like :attr:`~serpentTools.XSPlotReader.majorant` or :attr:`~serpentTools.objects.XSData.energies` - :pull:`402` .. _v0.9.2: :release-tag:`0.9.2` ==================== * Officially support installing under Python 3.8 * Support for passing threshold values to hexagonal detector plots - :issue:`351` .. _v0.9.2-bugs: Bug Fixes --------- * Detector reader can handle sequential detectors with very similar names - :issue:`374`. * ``serpentTools`` doesn't make any modifications to the logging state, other than introducing package-wide logger - :pull:`380` * Colorbars for mesh plots are placed next to their corresponding plot, rather than near the last drawn plot - :issue:`372` .. _v0.9.1: :release-tag:`0.9.1` ==================== .. _v0.9.1-bugs: Bug Fixes --------- * Sensitivity arrays generated with ``sens opt history 1`` will no longer overwrite the primary result arrays - :pull:`366`. These arrays are not currently stored - :issue:`367` .. _v0.9.0: :release-tag:`0.9.0` ==================== * Python 2 support has been dropped. * Add support for installing and testing against Python 3.7 .. _v0.8.1: :release-tag:`0.8.1` ==================== * Use ``six>=1.13.0`` * Use ``yaml>=5.1.1`` .. _v0.8.1-bug: Bug Fixes --------- * Fix :ref:`detector-names` setting .. _v0.8.0: :release-tag:`0.8.0` ==================== .. warning:: Serpent 1 detectors are no longer supported - :issue:`327`. Version 0.9.0 will remove support for python 2 - :issue:`328` * Better handling of discontinuity factors - :pull:`329` * |HomogUniv| objects no longer automatically convert data to arrays * Serpent 2.1.31 is the default version for :ref:`serpentVersion` setting * Detectors and related subclasses are now standalone classes that can be imported as ``serpentTools.Detector`` - :pull:`341` * :class:`~serpentTools.objects.BranchContainer` now inherits from :class:`dict` - :pull:`344` * Keys for universes in ``ResultsReader.universes`` are :class:`~serpentTools.objects.UnivTuple` * Keys for microscopic cross sections in ``MicroXSReader.xsVal`` and ``MicroXSReader.xsUnc`` are :class:`~serpentTools.MicroXSTuple` * 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. .. _v0.8.0-bug: Bug Fixes --------- * Burnup and days are properly set on homogenized universes when reading a result file with multiple universes but no burnup - :pull:`346` * Modifications made to detector tally data will be reflected in later plots - :issue:`337`, :pull:`341` * Variable groups for version 2.1.31 are properly expanded - :pull:`347` .. _v0.8.0-api: Incompatible API Changes ------------------------ * Values are stored in array form on |HomogUniv| when it makes sense. For example, values like ``infKinf`` are stored as scalars. * Setting ``expectGcu`` has been removed as :pull:`324` fixed how files without group constants are handled. * Keys to |BranchedUniv| objects stored in :attr:`serpentTools.xs.BranchCollector.universes` are stored as strings, rather than integers, e.g. ``0`` is replaced with ``"0"`` - :pull:`321` * Keys to |HomogUniv| instances stored on :class:`~serpentTools.objects.BranchContainer` are now :class:`~serpentTools.objects.UnivTuple`, or tuples with ``universe, burnup, step, days`` - :pull:`344` * :class:`serpentTools.Detector.indexes` is now a tuple of strings describing each dimension of ``tallies`` rather than ``OrderedDict`` - :pull:`341` .. _v0.7.1: :release-tag:`0.7.1` ==================== * Add :meth:`~serpentTools.objects.HomogUniv.__getitem__` and :meth:`~serpentTools.objects.HomogUniv.__setitem__` convenience methods for accessing expected values on |HomogUniv| objects * Add ``thresh`` argument to |Detector| ``meshPlot`` where only data greater than ``thresh`` is plotted. * Mitigate pending deprecated imports from ``collections`` - :issue:`313` * Increase required version of :term:`yaml` to ``5.1.1`` * Include ``SERPENT`` ``2.1.31`` support in :ref:`serpentVersion` setting .. _v0.7.1-bug: Bug fixes --------- * Tally data for detectors with time-bins are properly handled - :issue:`312` * Support for generic string universe names for |BranchingReader| and |BranchCollector| - :issue:`318` .. _v0.7.1-dep: Pending Deprecations -------------------- * Keys to |BranchedUniv| objects stored in :attr:`serpentTools.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 version ``0.8.0``. .. _v0.7.0: :release-tag:`0.7.0` ======================= * Easier construction of |BranchCollector| objects - :pull:`276` * Directly from the class :class:`~serpentTools.xs.BranchCollector.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. * Direct ``toMatlab`` methods for |ResultsReader|, |SensitivityReader|, |DepmtxReader| |DepletionReader|, |DetectorReader|, |HistoryReader|, and |Detector| objects - :pull:`290`, :pull:`291` * Overhaul, reorganization, and cleanup of documentation .. _v0.7.0-api: Incompatible API Changes ------------------------ * |HomogUniv| objects are now stored on |ResultsReader| 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 - :pull:`288` * When reading Detectors with a single tally, the value of ``tallies``, ``errors``, and ``scores`` are stored as floats, rather than :term:`numpy` arrays - :pull:`289` .. _v0.7.0-dep: Deprecations ------------ * |DepletionReader| ``saveAsMatlab`` in favor of :meth:`~serpentTools.DepletionReader.toMatlab` * SERPENT ``2.1.30`` is the default version of :ref:`serpentVersion`. Will alter some variable groups, like :ref:`optimization-base` and :ref:`optimization-2-1-30`, that exist in both versions but are slightly different. .. _v0.7.0-bug: Bug Fixes --------- * |BranchingReader| is now capable of reading ``.coe`` files with uncertainties - :pull:`272` * Fixed a bug that caused some plots not to return the axes object of the plot - :pull:`297` * |HomogUniv| plots are plotted against energy group when no group structure can be determined, and now labeled as such - :pull:`299` * Removed a non-zero exit code from a successful use of the :ref:`cli-seed` command line command - :pull:`300` * |ResultsReader| can process files with assembly discontinuity factors (ADFs) - :pull:`305` .. _v0.6.2: :release-tag:`0.6.2` ==================== * Data files are bundled in source distribution * CLI interface for converting some output files to matlab files - :ref:`cli-to-matlab` * Add :mod:`serpentTools.io` module for converting objects to other data types. Currently a general function for converting |toMatlab-short| * |DetectorReader| and |Detector| objects can be written to MATLAB files using |toMatlab-full| * |ResultsReader| can plot data using :meth:`~serpentTools.ResultsReader.plot` * 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 - :issue:`267` * |BranchingReader| can read coefficient files with uncertainties - :issue:`270` .. warning:: The API for the |BranchCollector| may be subject to change through revisions until ``0.7.0`` .. _v0.6.2-dep: Pending Deprecations -------------------- * :meth:`~serpentTools.DepletionReader.saveAsMatlab` in favor of |toMatlab-full| with:: >>> from serpentTools.io import toMatlab >>> toMatlab(depR) * Depletion plot routines will no longer accept ``timePoints`` arguments, instead plotting against all points in time .. _v0.6.1: :release-tag:`0.6.1` ==================== * :pull:`256` :meth:`serpentTools.settings.rc.loadYaml` uses ``safe_load`` * :pull:`257` |DepletionReader| now can utilize :meth:`~serpentTools.DepletionReader.saveAsMatlab` for exporting data to a binary ``.mat`` file * :pull:`259` Little more clarity into supported readers through documentation and |read-full| function .. _v0.6.0: :release-tag:`0.6.0` ==================== * :pull:`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, :pull:`191` * :pull:`196` - Add comparison methods for |ResultsReader| and |HomogUniv| objects * :pull:`228` - Add comparison methods for |DetectorReader| and |Detector| objects * :pull:`236` - Add comparison methods for |DepletionReader| and :class:`~serpentTools.objects.DepletedMaterial` objects * :pull:`241` - Fix a bug in the CLI that rendered the ability to generate files with unique random seeds. ``python -m serpentTools seed `` can now be properly used. * :pull:`249` - Better sparse support for depletion matrix, ``depmtx`` files with a |DepmtxReader| * :pull:`252` - Better axis and colorbar labeling for |Detector| mesh plots * :pull:`254` - Better plotting of single concentrations with |DepmtxReader| * :pull:`255` - |DepletionReader| can capture material with underscores now! .. _v0.6.0-dep: Deprecations ------------ * :func:`~serpentTools.parsers.depmtx` is deprecated in favor of either :func:`~serpentTools.parsers.readDepmtx` or the class-based |DepmtxReader| .. _v0.5.4: :release-tag:`0.5.4` ==================== * :pull:`239` - Update python dependencies to continue use of python 2 .. _v0.5.3: :release-tag:`0.5.3` ==================== * :pull:`221` - Expanded ``utils`` module to better assist developers * :pull:`227` - Better documentation of our :ref:`cli`. Better documentation and testing of functions for generating input files with unique random seeds - :mod:`serpentTools.seed` * :pull:`229` - :meth:`serpentTools.SensitivityReader.plot` now respects the option to not set x nor y labels. * :pull:`231` - |ResultsReader| objects can now read files that do not contain group constant data. The setting ``results-expectGcu`` should be used to inform the reader that no group constant data is anticipated .. note:: This setting was removed in :ref:`v0.8.0` and in :pull:`324` .. _v0.5.2: :release-tag:`0.5.2` ==================== * :pull:`198` - Import test and example files using :mod:`serpentTools.data`. Load example readers with :func:`serpentTools.data.readDataFile` * :pull:`199` - Support for structured or unstructured matrix plotting with :func:`serpentTools.plot.cartMeshPlot` * :pull:`201` - Support for plotting hexagonal meshes with :meth:`serpentTools.objects.HexagonalDetector.hexPlot` * :pull:`204` - Access |Detector| objects directly from |DetectorReader| with ``reader[detName]`` * :pull:`205` - Access materials from |DepletionReader| and :class:`serpentTools.samplers.DepletionSampler` using key-like indexing, e.g. ``reader[matName] == reader.material[matName]`` * :pull:`213` - Better default x-axis labels for simple Detector plots .. _v0.5.2-api: API Changes ----------- * :pull:`194` - Some settings in :attr:`serpentTools.ResultsReader.metadata` are now stored as :class:`int` or :class:`float`, depending upon their nature. Many of these settings refer to flags of settings used by ``SERPENT`` .. _v0.5.1: :release-tag:`0.5.1` ==================== * :pull:`180` - Add capability to pass isotope ``zzaaai`` for :meth:`~serpentTools.objects.materials.DepletedMaterial.getValues` and associated plot routines * :pull:`187` - Import all readers and samplers from the main package:: >>> from serpentTools import ResultsReader >>> from serpentTools import DetectorSampler * :pull:`189` - Support for reading Detectors with hexagonal, cylindrical, and spherical meshes. .. _v0.5.1-api: API Changes ----------- * ``zzaaai`` data is stored on :attr:`~serpentTools.objects.DepletedMaterial.zai` as a list of integers, not strings .. _v0.5.0: :release-tag:`0.5.0` ==================== * :pull:`131` Updated variable groups between ``2.1.29`` and ``2.1.30`` - include poison cross section, kinetic parameters, six factor formula (2.1.30 exclusive), and minor differences * :pull:`141` - Setting :ref:`xs-reshapeScatter` can be used to reshape scatter matrices on |HomogUniv| objects to square matrices * :pull:`145` - :meth:`~serpentTools.objects.HomogUniv.hasData` added to check if |HomogUniv| objects have any data stored on them * :pull:`146` - |HomogUniv| object stores group structure on the object. New dictionaries for storing group constant data that is not ``INF`` nor ``B1`` - :attr:`~serpentTools.objects.HomogUniv.gc` and :attr:`~serpentTools.objects.HomogUniv.gcUnc` * :pull:`130` Added the ability to read results file * :pull:`149` - Add the ability to read sensitivity files * :pull:`161` - Add the :mod:`~serpentTools.utils` module * :pull:`165` - Add the :meth:`serpentTools.objects.HomogUniv.plot` method .. _v0.5.0-api: API Changes ----------- * :pull:`146` removed ``metadata`` dictionaries on |HomogUniv| objects. .. _v0.5.0-dep: Deprecation ----------- * Variable group ``xs-yields`` is removed. Use ``poisons`` instead * Branches of a single name are only be accessible through ``branches['nom']``, not ``branches[('nom'), ]`` as per :pull:`114` .. _v0.4.0: :release-tag:`0.4.0` ==================== * :pull:`95` Add ``xsplot`` file reader - |XSPlotReader| * :pull:`121` Samplers will raise more warnings/errors if no files are loaded from ``*`` wildcards * :pull:`122` Better Detector labeling * :pull:`135` Added instructions for better converting Jupyter notebooks to ``.rst`` files. Plotting guidelines .. _v0.3.1: :release-tag:`0.3.1` ==================== * :pull:`118` - Support for ``SERPENT`` 2.1.30 * :issue:`119` - SampledDepletedMaterial now respects the value of `xUnits` - :pull:`120` * :pull:`114` - Standalone branches in the coefficient files are stored and accessed using a single string, rather than a single-entry tuple ``branches['myBranch']`` vs. ``branches[('myBranch', )]`` .. _v0.3.0: :release-tag:`0.3.0` ==================== * :pull:`109` - Capability to read history files * :pull:`107` - |DepletionReader| can now plot data for some or all materials .. _v0.2.2: :release-tag:`0.2.2` ==================== * :pull:`82` - Command line interface and some sub-commands * :pull:`88` - Pre- and post-check methods for readers * :pull:`93` - Detector and Depletion Samplers * :pull:`96` - Better mesh plotting for Detector * :issue:`99` - Negative universe burnup with branching reader - :pull:`100` * :attr:`serpentTools.objects.Detector.indexes` are now zero-indexed * The PDF manual is no longer tracked in this repository