Change Log¶
This document records notable changes to QSDsan. We aim to follow Semantic Versioning.
1.3.0¶
Enhance and use QSDsan’s capacity for dynamic simulation for emerging technologies and benchmark configurations (see EXPOsan METAB and PM2 (on the algae branch, still under development) modules).
New publications
The paper introducing DMsan, the package developed for decision-making of sanitation and resource recovery technologies, is published in ACS Environmental Au!
QSDsan was used to evaluate the sustainability of the NEWgenerator system as in this paper on ACS Environmental Au!
New modules
QSDsan
now has a website to host all of the resources!QSDsan
’s documentation is getting a new look!Add new units to enable dynamic simulation of systems with multiple process models. Check out
qsdsan.sanunits.Junction
,qsdsan.sanunits.ADMtoASM
,qsdsan.sanunits.ASMtoADM
and their use in the interface system demo.In online testing, we dropped the test for Python 3.8 and added Python 3.10. The main developing environment for QSDsan is 3.9.
1.2.0¶
The QSDsan paper is accepted by Environmental Science: Water Research & Technology!
The first paper using QSDsan for the design of sanitation is accepted by ACS Environmental Au! Read the Biogenic Refinery paper and check out the system module in
QSDsan
/EXPOsan
.Added multiple systems (including their unit operations), check out the details on the Developed System page!
Biogenic Refinery
Eco-San
Reclaimer
Added the anaerobic digestion model no. 1 (ADM1) process model and the unit
qsdsan.sanunits.AnaerobicCSTR
, the corresponding system can be found in EXPOsan.Other new unit operations:
Encapsulation Bioreactors:
qsdsan.sanunits.CH4E
qsdsan.sanunits.H2E
1.1.0¶
Fully tested dynamic simulation capacity, refer to the BSM1 system in EXPOsan for an example implementation.
Added many new
qsdsan.SanUnit
and reorganized package/documentation structure, new unit operations include:qsdsan.sanunits.AnMBR
qsdsan.sanunits.CHP
qsdsan.sanunits.SludgeHandling
qsdsan.sanunits.BeltThickener
qsdsan.sanunits.SludgeCentrifuge
qsdsan.sanunits.PolishingFilter
qsdsan.sanunits.WWTpump
Continue to enhance documentation (e.g.,
qsdsan.Process
, qsdsan.stats, util functions).
1.0.0¶
Official release of QSDsan
v1.0.0!
Added system-wise dynamic simulation capacity. To use the dynamic simulation function, a unit needs to have several supporting methods to initialize its state and compile ordinary differential equations (ODEs), refer to the units included in the BSM1 system below for usage, documentation and tutorial will be coming soon!
Developed the benchmark simulation system no.1 (BSM1) model on EXPOsan with comparison against the MATLAB/Simulink model developed by the International Water Association (IWA) Task Group on Benchmarking of Control Strategies. See the README for details
Significantly expanded the tutorials with demo videos on YouTube. Now tutorials cover all non-dynamic major classes (tutorials on dynamic classes will be included in the next major release).
0.3.0¶
Now LCA data can be imported from external databases using the newly made BW2QSD package.
New subclasses of
qsdsan.SanUnit
:qsdsan.sanunits.Clarifier
qsdsan.sanunits.CSTR
qsdsan.sanunits.ElectrochemicalCell
using the followingqsdsan.Equipment
:
New subclasses of
qsdsan.Process
:Updated
qsdsan.SanUnit
so that it can be initialized with any ofthermosteam.Stream
,qsdsan.SanStream
, orqsdsan.WasteStream
.These three classes can now be mixed.
Added
qsdsan.SanStream
for non-waste streams (e.g., gases).Updated the
add_OPEX
attribute ofqsdsan.SanUnit
andsystem_add_OPEX
attribute ofqsdsan.SimpleTEA
so that they takedict
as the default to allow display of multiple additional operating expenses.Split the
systems
module into an individual package EXPOsan.Now using
thermosteam.utils.Registry
to manageqsdsan.ImpactIndicator
andqsdsan.ImpactItem
.Added AppVeyor CI.
Renamed the
master
branch tomain
.
0.2.0¶
Added
qsdsan.Process
,qsdsan.Processes
, andqsdsan.CompiledProcesses
classes for stoichiometric process and its kinetics.Added an
qsdsan.Equipment
class for design and costing of unit equipment.For the
stats
module:More statistical tests:
qsdsan.stats.fast_analysis()
for (extended) Fourier amplitude sensitivity test (FAST) and random balance design (RBD) FAST.qsdsan.stats.morris_till_convergence()
to run Morris analysis until the results converge.Added Kendall’s tau and Kolmogorov–Smirnov test to
qsdsan.stats.get_correlations()
.
Plotting functions to visualize all test results:
qsdsan.stats.plot_uncertainties()
fpr results from uncertainty analysis as different 1D or 2D plots.qsdsan.stats.plot_correlations()
for results fromqsdsan.stats.get_correlation()
.Bar plot option for
qsdsan.stats.plot_morris_results()
.qsdsan.stats.plot_morris_convergence()
to plot \({\mu^*}\) against the number of trajectories.qsdsan.stats.plot_fast_results()
for results from FAST and/or RBD-FAST analyses.qsdsan.stats.plot_sobol_results()
for results from Sobol analysis.
Changed all .csv data files to .tsv so that they can be viewed on GitHub.
Added more clear guidelines on contribution and a author list in the document.
0.1.0¶
Added a
stats
module including:Pearson and Spearman correlations:
qsdsan.stats.get_correlations()
.Morris One-at-A-Time (OAT) screening method:
qsdsan.stats.morris_analysis()
.Also added a function for plotting:
qsdsan.stats.plot_morris_results()
.
Sobol sensitivity analysis:
qsdsan.stats.sobol_analysis()
.
Added all uncertainty parameters for all of the scenarios in the bwaise system, also added demonstrative Morris and Sobol analysis.
LCA.get_normalized_impacts()
was replaced byqsdsan.LCA.get_allocated_impacts()
forqsdsan.LCA
to enable flexible allocation options.Reformatted all documents, added instructions on documentation.
Added brief instructions on contributing and code of conduct.
Updated UML diagram.
0.0.3¶
More flexible setting of
qsdsan.ImpactItem
forqsdsan.WasteStream
.Add status badge to README.rst
Add CHANGELOG.rst
Tutorial updates:
- New:
qsdsan.TEA
andqsdsan.LCA
- Updated:
qsdsan.SanUnit
andqsdsan.System
0.0.2¶
Added the all three sanitation scenarios as described in Trimmer et al., including uncertainty/sensitivity analyses with tutorial.
Inclusion of GPX models for estimation of
qsdsan.WasteStream
properties.New classes:
All units in Trimmer et al.
Added descriptors (
qsdsan.utils.descriptors
) and decorators (qsdsan.utils.checkers
) to check user-input values.qsdsan.utils.setters.AttrSetter
,qsdsan.utils.setters.DictAttrSetter
, andqsdsan.utils.getters.FuncGetter
for batch-setting of uncertainty analysis parameters.
Added
save_report()
function toqsdsan.LCA
for report exporting.
0.0.1¶
First public release.