v1.1.2
This is the v1.1.2 release of the PRISM package.
New additions:
- Added documentation on the backup system to the online docs (which should have been included in the previous release);
- Added the PRISM logo to the repo and docs (huge thanks to James Josephides for that);
- Added BibTeX entry for the ApJS paper;
- Added badge for JOSS paper;
- Added the utility
convert_data()andconvert_parameters()functions to themodellink.utilsmodule, which can be used to validate the input parameters given to a ModelLink subclass; - Added many safety checks to the ModelLink class (like attempting to set its properties outside of the
__init__()method); - Added property setters for all relevant properties of the Pipeline and Projection classes;
- Added the possibility to provide a dict with PRISM parameters to the Pipeline instead of only a file;
- Renamed
prism_filetoprism_parto account for this change; - Added a warning to the
analyzemethod to tell the user when the next iteration cannot be constructed (and why); - Added the possibility to plot all implausibility cut-off lines (instead of just the first) in a 2D projection figure;
- Added the possibility to request a specific parameter set to be used as the mock data for an emulator;
- Added the possibility to return dicts in the
call_modelandget_md_varmethods in a ModelLink subclass in addition to NumPy arrays. The Pipeline class will convert received dicts back to a NumPy array when needed.
Bugfixes:
ModelLink.MPI_callnow returns the proper value;- Now only logging messages produced by PRISM are written to the logging-file of an emulator. All other logging messages use the global settings (which by default is printing to console);
- Having less than
n_cross_valplausible samples remaining no longer crashes the pipeline (instead, a warning is raised); - Calling
detailswhen no emulator exists no longer logs an error that was caught.
Changes/optimizations:
- Moved all MPI related definitions to their own separate package (mpi4pyd);
- Changed the terminology list in the online docs to be a glossary, making its entries more easily searchable;
- New working directories can now be requested by providing a
Trueto the Pipeline class instead of an integer; - The backup system now works more reliably by using random suffixes to avoid overriding files and it also saves the current PRISM version;
- Moved the Emulator class to its own
emulatorsubmodule, to allow for other emulators to be added later (if required); - 2D and 3D projections now use the same axis labels;
- The calculations of the covariances and model discrepancy variances have been improved in several places;
- The versioning of the package no longer requires the use of the
execfunction; - Optimized the regression process to solely contain polynomial terms in its final function form that have significant polynomial coefficients. This way, less terms need to be calculated for every evaluation;
- The minimum implausibility colorbar in a 3D projection now shows that it extends beyond the first cut-off value.