Releases: idaholab/raven
RAVENv3.1
Official Release of the RAVEN code.
Version: 3.1
- RAVEN USER MANUAL
- RAVEN USER GUIDE
- RAVEN THEORY MANUAL
- ANALYTICAL TEST DOCUMENTATION
- RAVEN PLUGIN MANUAL
Important Features:
- Updated workshop materials located at raven/doc/workshop for 2024 raven workshop
- Add capability to handle interdependent functions in samplers/optimizers
- Enable SimulatedAnnealing Optimizer to handle discrete variables
- Enable Genetic Optimization with Ensemble Models of multiple codes
- Added AutoARMA algorithm for synthetic data generation
- Updated Serpent code interface
- Updated Relap5 code interface
- Added BayCal plugin for bayesian calibration
- Enable Bayesian Optimization to use pre-trained Gaussian Process ROM
What's Changed
- Adding non-conda pip package building script. by @joshua-cogliati-inl in #2259
- HERON update by @PaulTalbot-INL in #2261
- Only do lapack override on x86 machine. by @joshua-cogliati-inl in #2260
- Removing MAMBA_SKIP by @joshua-cogliati-inl in #2270
- Use the WORKING_PYTHON_COMMAND during create_libraries by @joshua-cogliati-inl in #2266
- submod update by @PaulTalbot-INL in #2271
- Addition of datatypes for R5 interface by @alfoa in #2212
- Wangc/bison interface by @wangcj05 in #2274
- Support of pip installation of repo via pip. Closes #2276 by @alfoa in #2277
- Allow Bayesian Optimization to use Pre-trained GP ROM by @wangcj05 in #2280
- Method to Convert InputData.ParameterInput back to ElementTree XML node(s) by @GabrielSoto-INL in #2264
- Removing numexpr dependency. by @joshua-cogliati-inl in #2287
- Add BayCal plugin by @wangcj05 in #2285
- LaTeX _ escape improvement by @joshua-cogliati-inl in #2292
- Serpent Interface Upgrade by @alfoa in #2290
- update manual by @wangcj05 in #2293
- updating HERON by @GabrielSoto-INL in #2297
- Defect fix of SimulatedAnnealing with 1 variable optimization by @alfoa in #2296
- remove pyDOE package from contrib and install it instead by @joshua-cogliati-inl in #2298
- RavenFramework tests using pip package or pre-built executable by @j-bryan in #2273
- [TASK] Allow functions in samplers/optimizers to be implemented in the same python module by @alfoa in #2301
- Remove unneccesary print statement by @dylanjm in #2313
- Allow no precommand by @joshua-cogliati-inl in #2311
- Specialized Plot sub-directory ignoring (Fix) by @alfoa in #2314
- AutoARMA Algorithm for SyntheticHistory ROM by @GabrielSoto-INL in #2309
- Fix defect ensemble model (with Code) and genetic algorithm by @alfoa in #2317
- submodule update for HERON and TEAL by @GabrielSoto-INL in #2320
- SimulatedAnnealing Discrete Variables by @alfoa in #2312
- Removing specifying liblapack. by @joshua-cogliati-inl in #2327
- Add capability to handle interdependent functions in samplers/optimizers by @alfoa in #2319
- Arbitrary Custom Input in InputSpec by @PaulTalbot-INL in #2332
- Optimization Path Plot Fix for long strings in ylabel by @GabrielSoto-INL in #2330
- Update FARM user manual and citation by @wanghy-anl in #2333
- Workshop2024 merge by @PaulTalbot-INL in #2328
- Updating version to 3.1 by @joshua-cogliati-inl in #2335
Full Changelog: RAVENv3.0...RAVENv3.1
Submodule Updates:
The updates for the submodules are tracked by issue #1114. In this release, there are significant updates in following Plugins. We recommend the users to check the following links for more details.
TEAL: https://github.com/idaholab/TEAL
HERON: https://github.com/idaholab/HERON
SR2ML: https://github.com/idaholab/SR2ML
LOGOS: https://github.com/idaholab/LOGOS
FARM: https://github.com/Argonne-National-Laboratory/FARM
Developers:
We would like to thank all RAVEN internal and external developers for their significant contributions.
RAVENv3.0
Official Release of the RAVEN code.
Version: 3.0
- RAVEN USER MANUAL
- RAVEN USER GUIDE
- RAVEN THEORY MANUAL
- ANALYTICAL TEST DOCUMENTATION
- RAVEN PLUGIN MANUAL
Important Features:
-
Use Mamba to install RAVEN which can accelerate the installation process:
./scripts/establish_conda_env.sh --mamba
-
Use “pip” to install RAVEN (https://pypi.org/project/raven-framework/) and RAVEN plugins (supported in Python 3.9 and Python 3.10):
pip install raven-framework==3.0 teal-ravenframework==0.5 heron-ravenframework==0.4
Or if you just want the newest version of raven:
pip install raven-framework
URLS:
https://pypi.org/project/raven-framework/
https://pypi.org/project/heron-ravenframework/
https://pypi.org/project/teal-ravenframework/
These should work on Linux, Mac OS and Windows with Python 3.9 and 3.10. After installation, the raven_framework command can be used to run raven.
- Improvement on parallelization, allow both Ray and Dask to be used for parallelization #2103
New Capabilities:
- Bayesian Optimization #2123. A new optimizer node 'BayesianOptimizer' is added, which allows for the specification of a Bayesian Optimization algorithm. This method also requires the specification of a GPR ROM under the Models node. The GPR ROM node is also extended to include custom kernel specification and anisotropic kernels.
- Sensor placement optimization via sparse sensing post-processor #2044. This post-processor will inform the users of the optimal locations to place their sensors in order to reconstruct the responses of interest with high precision.
- Physics-guided coverage mapping (PCM) for model validation #2018. Develop and implement two separate approaches to handle time-dependence dataset for PCM.
- Implement Markov-switching autoregressive models #2161 for time-series analysis
- Implements data transformations in Time-Series Analysis (TSA) module #2121 and #2165
New Code Interfaces:
- Add PARCS interface #2010 to support nuclear fuel loading pattern optimization.
- Addition of SCALE CSAS sequence in scale interface #2155 to support nuclear reactor criticality safety analysis.
- Add ABCE interface #2184 to support agent-based capacity expansion modeling. ABCE is a modeling tool used to model adding capacity (new generators) to an electricity market.
Other Features:
- Switches the implementation of 1D probability distributions from C++ library Crow to appropriate python libraries #2201
- Updating to tensorflow 2.13 for Macos arm issues #2138
- Global TSA via ROMCollection #2189
- Adds VARMA model to the TSA module #2180
- Subdomain basic statistics post-processor #2119
Submodule Updates:
The updates for the submodules are tracked by issue #1114. In this release, there are significant updates in following Plugins. We recommend the users to check the following links for more details.
TEAL: https://github.com/idaholab/TEAL
HERON: https://github.com/idaholab/HERON
SR2ML: https://github.com/idaholab/SR2ML
LOGOS: https://github.com/idaholab/LOGOS
FARM: https://github.com/Argonne-National-Laboratory/FARM
Internal Developers:
We would like to thank all RAVEN internal developers for their significant contributions, including but not limit to: @wangcj05 @mandd @PaulTalbot-INL @joshua-cogliati-inl @Jimmy-INL @dylanjm @JunyungKim @worseliz @yoshiurr-INL @aadeshINL @GabrielSoto-INL
External Contributors:
We would like to thank all RAVEN external contributors for their significant contributions, including but not limit to @aalfonsi @wanghy-anl @ShimingYIN @j-bryan @Nhatkhang @AnthoneyGriffith
What's Changed
- Updating version to 2.3 by @joshua-cogliati-inl in #2117
- Adding missing init.py file. by @joshua-cogliati-inl in #2118
- Subdomain basic statistics . by @aalfonsi in #2119
- Add dask by @joshua-cogliati-inl in #2103
- Updated unordered csv tester by @PaulTalbot-INL in #2127
- Use correct script for windows. by @joshua-cogliati-inl in #2132
- Explain how to get individual plugins in install documentation. by @joshua-cogliati-inl in #2135
- Clean parallel by @joshua-cogliati-inl in #2134
- Adding locking to HybridModel. by @joshua-cogliati-inl in #2140
- adding sparse sensing postprocessor and associated plots by @Jimmy-INL in #2044
- Switch to mamba by default. by @joshua-cogliati-inl in #2137
- Fix create versus install bug. by @joshua-cogliati-inl in #2142
- Mamba doesn't like name by @joshua-cogliati-inl in #2144
- Test RAVEN Libraries by @wangcj05 in #2143
- Removing checking for swig with crow by @joshua-cogliati-inl in #2145
- Implements data transformations in TSA module by @j-bryan in #2121
- teal submodule update by @worseliz in #2146
- Echo command used for installing mamba for diagnostic purposes. by @joshua-cogliati-inl in #2149
- Shiming-PCM applied on SETH model by @ShimingYIN in #2018
- Add a timeout because sometimes output is really slow. by @joshua-cogliati-inl in #2157
- Addition of SCALE CSAS sequence in scale interface by @alfoa in #2155
- Adding Missing Interpolation Methods to SyntheticHistory and fixing Missing ARMA Cluster Feature by @GabrielSoto-INL in #2163
- HERON Submodule Update by @dylanjm in #2169
- Adding Bayesian Optimization by @AnthoneyGriffith in #2123
- Adds a transformation to preserve the CDF of the input data by @j-bryan in #2165
- Update README.md by @dylanjm in #2171
- Markov-switching autoregressive models by @j-bryan in #2161
- Fix GradientDescent Opt to not require FiniteDiff type by @dylanjm in #2177
- XML Diff in Rook now can ignore nodes provided by user by @GabrielSoto-INL in #2172
- HERON Submodule Update by @dylanjm in #2181
- Update FARM ver 2023 Sep by @wanghy-anl in #2183
- Adding PARCS interface to replace SIMULATE3 interfafce by @Nhatkhang in #2010
- ABCE using sqlite3 by @joshua-cogliati-inl in #2184
- Updating to tensorflow 2.13 and Macos arm issues by @joshua-cogliati-inl in #2138
- Adds VARMA model to the TSA module by @j-bryan in #2180
- Add MPI timed test by @joshua-cogliati-inl in #2182
- Global TSA via ROMCollection by @GabrielSoto-INL in #2189
- Added Apple Silicon compatible dependencies to FARM, tested on M1 MacBook Pro by @wanghy-anl in #2191
- Switching windows to Python 3.10 by @joshua-cogliati-inl in #2197
- Removing old modules. by @joshua-cogliati-inl in #2208
- HERON submod update by @PaulTalbot-INL in #2198
- Remove using distutils by @joshua-cogliati-inl in #2202
- Switches the implementation of 1D probability distributions from Crow to appropriate python libraries by @j-bryan in #2201
- Implements a numpy-based RNG that produces output identical to the Crow RNG by @j-bryan in #2205
- Updating to current SR2ML devel by @joshua-cogliati-inl in #2213
- Streamlining Python Version Setup by @aadeshINL in #2215
- Xarray updates by @joshua-cogliati-inl in #2227
- Fixes breaking bug in MarkovAR signal generation by @j-bryan in #2229
- Removing code obsoleted by switching to scipy distributions. by @joshua-cogliati-inl in #2210
- Addressed inconsistency between RFE-DMDc and GA-DMDc by @alfoa in #2231
- Add ability to specify mamba dependencies by @joshua-cogliati-inl in #2237
- HERON submodule update by @PaulTalbot-INL in #2235
- Updating pyWavelets by @GabrielSoto-INL in #2239
- Fixes problems finding raven libraries with conda by @joshua-cogliati-inl in #2241
- Impl...
RAVENv2.3
Official Release of the RAVEN code.
Version: 2.3
- RAVEN USER MANUAL
- RAVEN USER GUIDE
- RAVEN THEORY MANUAL
- REGRESSION TEST DOCUMENTATION
- ANALYTICAL TEST DOCUMENTATION
- RAVEN PLUGIN MANUAL
Importance Features:
- Addition of a new ROM "augmentation" for the online feature selection. Two algorithms have been added (#1301):
• RFE, Recursive Feature Elimination (augmented with several new algorithms and customization)
• VarianceThreshold, which removes the features whose variance is < a user-defined threshold.
In addition, a dimensionality reduction technique to "uncorrelate" the feature space has been added as well, such as PCA, KernelPCA, ICA - Adding Simulate (https://www.studsvik.com/what-we-do/products/simulate5/) code interface (#1992)
Experimental Features:
-
Use Mamba to install RAVEN which can accelerate the installation process:
./scripts/establish_conda_env.sh --mamba -
Use “pip” to install RAVEN (https://pypi.org/project/raven-framework/)
pip install raven-framework
These should work on Linux, Mac OS and Windows. After installation, the raven_framework command can be used to run raven.
Other Features:
- Allow optimizers to be initialized with Custom Sampler #2084
- Adds the ability for a DataSet to have an automatically generated index. #2093
- Hausdorff Similarity Measure for Genetic Convergence #2032
Submodule Updates:
The updates for the submodules are tracked by issue #1114. In this release, there are significant updates in following Plugins. We recommend the users to check the following links for more details.
TEAL: https://github.com/idaholab/TEAL
HERON: https://github.com/idaholab/HERON
SR2ML: https://github.com/idaholab/SR2ML
LOGOS: https://github.com/idaholab/LOGOS
FARM: https://github.com/Argonne-National-Laboratory/FARM
Addressed Defects:
#2095
#2086
#2076
#2079
#2089
#1778
#2073
#2064
#2035
#2057
#1803
#1742
#1757
#1741
#1699
#1869
#2040
#2031
#2034
#2030
#2036
#2028
#1982
#2007
#1915
#2006
#2009
#1870
#1968
Internal Developer:
We would like to thank all RAVEN internal developers for their significant contributions, including but not limit to: @wangcj05 @mandd @PaulTalbot-INL @joshua-cogliati-inl @Jimmy-INL @dylanjm @dgarrett622 @JunyungKim @worseliz @yoshiurr-INL
External Contribution:
We would like to thank all RAVEN external contributors for their significant contributions, including but not limit to @aalfonsi @wanghy-anl
RAVENv2.2
- RAVEN USER MANUAL
- RAVEN USER GUIDE
- RAVEN THEORY MANUAL
- REGRESSION TEST DOCUMENTATION
- ANALYTICAL TEST DOCUMENTATION
- RAVEN PLUGIN MANUAL
Official Release of the RAVEN code.
Version: 2.2
Importance Features:
- Parallel Improvement: Support parallel executions on Windows using Ray (#1919). Various changes to improve the parallel and debugging the parallel (#1825). Fix various cluster issues (#1807)
- RAVEN Python Interactive Communication: Allow running RAVEN run RAVEN workflows in python scripts or Jupyter Notebooks (#1816). Enable re-running RAVEN workflows in Python or Jupyter notebook environments (#1843)
- Validation PostProcessors: Adding Physics-guided Coverage Mapping to the validation algorithms (#1726). Adding dynamic system scaling validation algorithms (#1619, #1830).
- Code Interface: Added Serpent interface (#741). Restructured the load for the code interfaces, and
added CodePluginBase class to enable the code interface as plugin (#2000). - Reduce Order Model Update: Implementation of the DMDc method for state identification (#1693). Added a deep neural network regression rom (#1707). Developed randomized window decomposition algorithm for TSA module (#1640). Added a new exporting capability of ROMs with a derivative support into a Pyomo concrete model, activatable via Outstream system. This derivative support is based on numdiff library and is used both in the Pyomo model and, in the future, in the FMI/FMU exporter for Model exchange (#1482). Added ensemble rom to improve the generalizability/robustness over a single ROM (#1720). Significant improvements and simplifications on ROM APIs (#1607).
Old ROM XML input:
Experimental Features:
-
New installation process by “pip” (see #1784 and #1773):
This RAVEN release now can be installed by pip. This is currently experimental, but we would like to hear back if it fails. The current pip packages are: raven-framework teal-ravenframework and heron-ravenframework (If you are developing a RAVEN plugin, and wish to create your own pip package, let us know and we can help you.) If you are running Python 3.7 or 3.8, these can be installed with pip. Example:
pip3 install raven-framework
These should work on Linux, Mac OS and Windows. After installation, the raven_framework command can be used to run raven (and for HERON, the heron command). Please see package pages for more details:
https://www.pypi.org/project/raven-framework/
https://www.pypi.org/project/teal-ravenframework/
https://www.pypi.org/project/heron-ravenframework/ -
Exporter for FMI/FMU (#1481)
Addition of the contrib library "pythonFMU" (see https://github.com/NTNU-IHB/PythonFMU) that has been modified for RAVEN needs (e.g. Darwin support). Addition of RAVEN generic FMU exporter for ExternalModels and ROMs. Addition of the capability to serialize RAVEN ExternalModel.
Other Features:
- General RAVEN maintenance updates are tracked in issue #1806, some specific updates including: User manual update (#1817, #1818, #2008), workshop slides update (#1895), and some general improvements on RAVEN source code (#1930, #1877, #1975, python #1933).
- Updated Plugin User Manual to guide users on how to build their own plugins (#2008)
- Added a way to for Scikitlearn models to output model data and uses it for LinearRegression and MLPRegressor (#1988)
- Enable DMDc ROM to be loaded/unpickled by externalROMloader script (#1935)
- Enable externalROMloader script to modify/update RAVEN pickledROM (#1857)
- Workshop updates (#1909)
- Enable CustomSampler to accept DataSets (#1859)
- Libraries update (#1831, #1919, #1599, #1933, #1971, #1973, #1984)
- Enable VariableGroups to be used by RavenRunRaven workflow (#1823)
- Fix truncated lognorm distribution (#1815)
- Percentile calculation speed up, and standard error update in Basic Statistics Post Processor (#1780)
- Addition of spearman coefficients in Basic Statistics Post Processor (#1542)
- Added custom plot for optimization results (#1725)
- Addition of the capability to store long arrays of strings in HDF5. This adds also a version tag into the database (for future conversion if any) (#1703)
- Allow the GA to handle the model failure or crash (#1677)
- Allows a DataSet to be loaded from file and used as a training input to a ROM (#1658)
- Addition of the XSD 1.1 validator to allow for Conditional Type Assignment (#1501)
- Split of the Steps.py module in their individual steps for better maintainability (#1481)
- Enhancement in EconomicRatio PostProcessor (#1763)
Submodule Updates:
The updates for the submodules are tracked by issue #1114. In this release, there are significant updates in following Plugins. We recommend the users to check the following links for more details.
TEAL: https://github.com/idaholab/TEAL
HERON: https://github.com/idaholab/HERON
SR2ML: https://github.com/idaholab/SR2ML
LOGOS: https://github.com/idaholab/LOGOS
FARM: https://github.com/Argonne-National-Laboratory/FARM
Internal Developer:
We would like to thank all RAVEN internal developers for their significant contributions, including but not limit to: @mandd @PaulTalbot-INL @joshua-cogliati-inl @Jimmy-INL @dylanjm @dgarrett622 @JunyungKim @worseliz @yoshiurr-INL
External Contribution:
We would like to thank all RAVEN external contributors for their significant contributions, including but not limit to @aalfonsi @wanghy-anl @greenwoodms06, @FlanFlanagan, @AnthoneyGriffith @huang714 @mgarrouste @maldil @j-bryan @yenili
Addressed Defects:
#1990
#1962
#1934
#1932
#1887
#1881
#1874
#1855
#1851
#1822
#1814
#1809
#1793
#1785
#1771
#1767
#1758
#1749
#1746
#1740
#1724
#1771
#1684
#1676
#1053
RAVENv2.1
- RAVEN USER MANUAL
- RAVEN USER GUIDE
- RAVEN THEORY MANUAL
- REGRESSION TEST DOCUMENTATION
- ANALYTICAL TEST DOCUMENTATION
- Commits diff between RAVENv2.0 and RAVENv2.1
Official Release of the RAVEN code.
Version: 2.1
Main New Features:
-
RAVEN Plug-ins:
- Standardized the creation of new RAVEN PostProcessor plugins #1456 #1471 #1512 #1533 :
- Standardize the API
- Utilize DataSet to handle data flow for better efficiency
- Move PRAplugin to SR2ML, add minimal cut sets solver
- Standardized the creation of new RAVEN OutStream plugins #1329 #1534
- Add CI for plugins LOGOS, SRAW, and SR2ML
- Add maintenance models for SR2ML;
- In addition to the already deployed plug-ins (CashFlow and PRA plugin), new supported plug-ins have been deployed:
- Added HERON as a supported plugin for those with access to it. HERON (Holistic Energy Resource Optimization Network) is a plugin for stochastic technoeconomic analysis of connected systems with resource usage. #1271
- CashFlow renamed to TEAL and open sourced
- Addition of the new RAVEN official plugin (FARM), owned and distributed by the Argonne National Laboratory. (https://github.com/Argonne-National-Laboratory/FARM)
- Standardized the creation of new RAVEN PostProcessor plugins #1456 #1471 #1512 #1533 :
-
Optimizers:
- Enhance gradient descent optimizer by utilize previous gradient evaluations for step direction evaluation #1639
- Expose Additional TargetEvaluation variables in SolutionExport for Optimizer
- Add genetic algorithm for optimization #1253
- Implemented feasibility first parameterless fitness for genetic algorithm to handle different type of constraints. #1455
- Increase the user flexibility to allow the user to manipulate the perturbation distance scaling of gradient evaluation points in gradient descent step manipulations. #1409
- Add implicit function constrains in the optimizer and the reject reason flag on the new optimal point.
-
Models:
- Implemented a new model entity "LogicalModel". The LogicalModel utilizes control functions to manage the selection and execution of different models (i.e. ExternalModel, ROMs, Codes). Both LogicalModel and current HybridModel share some common functionalities. In this case, a new base class is created for both entities.
- In case of ensemble modeling not involving codes, the ensemble model should use the standard parallelization strategy (no Client mode) since, if large datasets need to be transfered from a model to the other, the client approach can deteriorate the parallelism. If no Codes are involved in an ensemble model, the parallelism should follow a standard "MPI-like" approach #1342
-
Samplers:
- Implementation of Markov Chain Monte Carlo algorithm, i.e. Metropolis Algorithm. Markov Chain Monte Carlo (MCMC) is mainly used for Bayesian Calibration (or inverse uncertainty quantification). It can also be used to sample any given distribution.
- Extended restart capability to Adaptive Samplers, including passing through FinalizeActualSampling. #1262
- Adaptive MCMC Sampler for bayesian update #1398
-
Code interfaces:
- New interfaces:
- Add Prescient code interface (https://github.com/grid-parity-exchange/Prescient) #1324, Prescient can be used for production cost modeling, scenario generation and prediction interval.
- Add AccelerateCFD interface: create ACFD-RAVEN API to enhance the industrial market value of a fast-running CFD ROM (Reduced Order Model) software, AccelerateCFD, under development by Illinois Rocstar LLC, pursuing two key capabilities to achieve the goal. #1613
- Major updates:
- handle NetCDF Databases as returns from RAVEN code Interface runs #1460
- Extended CSV readers for Codes to be consistent with DataSet reading. This allows reading CSVs with string entries from Codes. Also retained a float-only option for CodeInterfaces with large output CSVs without useful string entries.
- Support Dynamic Event Tree sampler in RELAP5 interface #1384
- Extend code interface to handle the returned data directly without a CSV creation #1366
- Optionally clear the run directories before running the step #1337
- Enable string outputs for codes #1267
- Create a failed runs report instead of printing on screen #1409
- Update MOOSE interface to be able to perturb vector variables #1630
- New interfaces:
-
Surrogate Models:
- Upgrade to TensorFlow 2 for deep neural network ROMs #1596
- Serialize externalROMloader instances #1560
- Add LSTM regression ROM #1519
- Utilize ROMCollection to split the Fourier for global and local analysis in ARMA to enhance the flexibility and accuracy of generated synthetic signals. #1409
- Add option to limit the number of cycles sampled in an interpolated ROMCollection #1409
- Allow ROM to register expected meta keys for point wise data #1409
-
Post-Processors:
- Add TSA (time-series analysis) post processor to perform the characterization of TSA analysis #1628 #1631
- Extend validation post-processor to support time-dependent data #1554
- Several PostProcessors (i.e. DataClassifier, FTImporter, ETImporter, RiskMeasuresDiscrete, MCSImporter) in RAVEN actually belong to SR2ML. Due to the PostProcessor Plugin system is not in place, these PostProcessors were kept in RAVEN repo. Now the Plugin system has been designed and merged into RAVEN. These PostProcessors have been moved to SR2ML now. #1553
- Restructure the post-processor, create post-processor plugin API #1508
- Added HistorySetDelay post-processor to create lagged parameters in a HistorySet #1523
- Extend ParetoFront PP to handle multiple dimensions optimization #1479
- Extend HStoPSOperator post-processor to convert a HistorySet into a PointSet.
- Added a new Post Processor EconomicRatio, for calculating the return of an investment compared to its risk, several metrics are implemented such as Sharpe ratio, Sortino ratio, gain-loss ratio, value at risk, and conditional value at risk.
-
OutStreams:
-
Database
- Integrate NetCDF to handle raven database, which offers native capacity to store multi-dimensional data structures. #1459
-
Utility and Others
- Addition of a RunInfo node for multi-threading command specification #1590
- Added a ranking utility to sort/rank the non-dominated fronts for multi-objective genetic algorithms #1476
- Add a tool to check the memory footprint of complex objects in RAVEN for developer debugging #1409
- Added a profiling mode for developers for checking bottlenecks through a
--profile
argument toraven_framework
. Requires installation of optional libraryline_profiler
. #1318 - Improve operability of RAY parallelization in large HPC clusters #1357
-
Documentation:
- Updated RAVEN documentation (user manual, user guide, tests’ description) for a clearer explanation of the different features
Addressed Defects:
RAVEN v. 2.0
- RAVEN USER MANUAL
- RAVEN USER GUIDE
- RAVEN THEORY MANUAL
- REGRESSION TEST DOCUMENTATION
- ANALYTICAL TEST DOCUMENTATION
- Commits diff between RAVENv1.1 and RAVENv2.0
Third Official Release of the RAVEN code.
Version: 2.0
Main New Features:
- Parallelization and Performance:
- Completely restructured parallelism in RAVEN. Replacing the old Parallel Python system with the modern and powerful RAY library for parallel dispatching and HPC massive parallelism. New “RAVEN decorators” to ease the interaction with parallel systems has been deployed
- Deployed a new system (lazy importing) for isolating the import of heavy libraries and algorithms if not requested by the user (i.e. all the main classes are now instantiated on demand, when they are used in an input file). This system drastically improved the start-up time (the time to instantiate the code), now being almost instantaneous.
- Documentation:
- Updated RAVEN documentation (user manual, user guide, tests’ description) for a clearer explanation of the different features, such as Post Processors and Optimizers.
- Updated workshop material:
- Updated Introduction presentation (lighter and synchronized with the current development)
- Added section (lecture) about hybrid modeling examples
- Added section (lecture) about synthetic time series generation (e.g. ARMA, VARMA)
- Code interfaces:
- New interfaces:
- NEUTRINO: SPH-based highly accurate fluid solver, currently used simulate coastal inundation and flooding scenarios but extensible to support various fluid dynamic flows
- Major updates:
- RELAP5-3D: improved robustness of interface for restart mode. Addressed few issues caused by the previous Python3 upgrade. Added the feature to sample RELAP5-3D when cards are inputted in multiple lines.
- MOOSE-based App: Extended the robustness of the interface to handle a wider variety of inputs, including: Multiline vectors, Scalar entries on different lines than their keys, ordered inputs, hanging vector opening/closing, Multiple "root" nodes in file. In addition, added the possibility to perturb external input files (with the Generic Code interface approach) in the interface; this capability is useful when the App-specific auxiliary files need to be perturbed (e.g. CSVs, XMLs, etc.).
- New interfaces:
- Samplers:
- Improvement of Samplers’ performances
- Improvement of the robustness of the Restart capabilities for Samplers (default tolerances and handling have been modified to allow for OS differences)
- Improvement of Limit Surface search performance
- Addition of a new Adaptive Sampler based on the convergence on the error on statistical moments (named, Adaptive Montecarlo)
- Optimizers:
- New Optimization system with support for customizable APIs:
- flexible brand-new API for the ease development of optimization algorithms (both internally and externally)
- support for probability distributions (e.g. risk weighted optimization). Development of algorithms for fulfilling such use case is currently ongoing.
- Development of two new optimization algorithms:
- Conjugate Gradient optimization
- Simulating Annealing Continuous optimization
- New Optimization system with support for customizable APIs:
- Surrogate Models:
- Deep Learning:
- Addition of the support for Deep Learning (Neural Networks) with the deployment of the interface for TensorFlow/Keras
- ARMA/VARMA:
- Adds the option for the ARMA to produce higher-dimensional data on request, representing the ARMA re-evaluated for consecutive years, potentially also applying a growth factor. These realizations must be placed into a DataSet to be used effectively.
- The Clustering features accessible to the ARMA were extended to include hierarchal lists of cluster-able features that can be enabled a la carte by the user. The families of features are currently global, Fourier, ARMA, and peak. Additionally, ClusteredROM objects can be swapped from "full" to "truncated" mode (or vice versa) both at training time and at unpickling time.
- Improvement of the unbiased sampling for the synthetic time series generation index (e.g. time) clustering
- Deep Learning:
- Post-Processors:
- Addition of the MCS Post-Processor:
- Post-Processor aimed to import Minimal Cut-Sets (PRA) generated by an external PRA code (e.g. SAPHIRE) into RAVEN
- Addition of Pareto Frontier algorithm:
- Aimed to identify the points lying on the Pareto Frontier in a cost-value space
- Limit Surface improvements:
- Option to compute the bounding error of the limit surface (maximum error on the computed probability of failure)
- Basic-Statistics improvements:
- Fixed the discrepancy on quantile (percentile) calculation if no statistical weights or uniform weights were used (the should have been the same).
- Addition of the MCS Post-Processor:
- Plotting:
- Addressed the issue of multiple 3D plots on the same figure. Now all the plots are shown
- RAVEN Plug-ins:
- Standardized the creation of new RAVEN plugins:
- Regression testing
- Config files (e.g. Plugin dependencies)
- Documentation and NQ1 requirements
- In addition to the already deployed plug-ins (CashFlow and PRA plugin), new supported plug-ins have been deployed:
- LOGOS: integration of classical PRA analysis (SAPHIRE) with Dynamic-PRA (RAVEN) for financial optimization of maintenance. LOGOS uses the RAVEN CashFlow plugin for its financial analyses.
- SR2ML: aimed to provide sets of reliability models designed to be interfaced. These models can be employed to perform both static and dynamic system risk analysis and determine risk importance of specific elements of the considered system.
- SWAW: aimed to provide sets of advanced workflows and methods to be applied to plant health and asset management. These methods focus on maintenance and replacement optimization and system reliability/unavailability.
- Standardized the creation of new RAVEN plugins:
Addressed Defects:
- #1219
- #1186
- #1185
- #1176
- #1162
- #1157
- #1152
- #1143
- #1109
- #1103
- #1102
- #1101
- #1099
- #1089
- #1085
- #1080
- #1076
- #1070
- #1068
- #1065
- #1057
- #1048
- #1043
- #1036
- #1031
- #1023
- #1013
- #1003
- #1002
- #995
- #986
- #982
- #981
- #973
- #940
- #939
- #859
- #823
- #794
- #763
- #756
- #753
- #745
- #733
- #557
- #540
- #475
- #269
- #263
- #185
- #134
- #95
- #76
Tracking Change Log:
- Issue #988
RAVEN v. 1.1
- RAVEN USER MANUAL
- RAVEN USER GUIDE
- RAVEN THEORY MANUAL
- REGRESSION TEST DOCUMENTATION
- ANALYTICAL TEST DOCUMENTATION
- Commits diff between RAVENv1.0 and RAVENv1.1
Second Official Release of the RAVEN code.
Version: 1.1
Main Added Features:
- RAVEN SQA:
- Full Software Quality Assurance documentation (NQ1 Lev. 2) - Python 3 compatibility:
- Default Installation and usage is now in Python 3.x - New Windows installation procedure:
- Removed requirement of MSYS and usage of native windows tools (PowerShell or CMD) - New DataObject system with support for unstructured Datasets
- Highly customizable
- Usage of xarray and pandas
- Faster performances
- Initial design for High Density fields - New regression test system:
- A new Python2/3 compatible regression test system has been developed ((ROOK)). - ARMA enhancements with signal clustering
- Segmented ROMs capability
- Multi-collinearity detection in statistical analysis and addition of the computation of standard errors:
- Detection of multi-collinearity phenomenon and warn the user in case of possible instability in the relational analysis solution (e.g. sensitivity, etc). - Limit Surface performance improvement:
- Multiple enchantment for improving the speed of the limit surface creation and usage - RAVEN Template input system for simplified analysis flow creation:
- A RAVEN Template consists of three main pieces: a Templated Workflow, a Template Class, and a Template Interface. The Interface is the main driver, and uses an input file to inform the Template Class on how to modify the Templated Workflow in order to create a new RAVEN input file. This system allows a internal or external developer to create simplified workflows for performing specific analysis flows (e.g. Uncertanty Quantification flow).
- (User Manual chapter 22.2 - How to create a RAVEN Template) - Updated User Guide documentation
- Probabilistic Risk Assessment Plug-in (Integration of Traditional PRA in Dynamic PRA analyses)
- PostProcessors/Models for the integration of Classical PRA into Dynamic PRA and UQ (e.g. Event Trees, Fault Trees, etc.) - Variable group system enchantment:
- Improved speed
- Improved operations - New code interfaces: COBRA TF, SAPHIRE, SCALE, PHISICS, MELCOR, RAVEN (RAVEN able to drive a RAVEN inner analysis)
Addressed Defects:
- #986
- #982
- #925
- #874
- #843
- #822
- #792
- #780
- #773
- #761
- #739
- #722
- #717
- #704
- #699
- #696
- #695
- #693
- #690
- #683
- #673
- #659
- #589
Tracking Change Log:
- Issue #984
RAVEN v. 1.0
- RAVEN USER MANUAL
- RAVEN USER GUIDE
- RAVEN THEORY MANUAL
- ANALYTICAL TEST DOCUMENTATION
- REGRESSION TEST DOCUMENTATION
- Commits diff between tag_number_23 and RAVENv1.0
First Official Release of the RAVEN code.
Version: 1.0
Main Added Features: None (first release - All code)
Defect Addressed: None (first release)