Releases: emilyhunt/ocelot
v0.4.1: Fix installation on PyPI
The imf dependency is now on PyPI, meaning that ocelot can be uploaded there again too. Thanks, @keflavich!
v0.4.0 - Addition of cluster simulation code and models
This release brings a brand new, sophisticated API for cluster simulation, in addition to optimized models covering a number of different aspects of star cluster science. Additions include:
- The new
ocelot.simulate
submodule for simulating clusters, including:- The flexible and hackable
SimulatedCluster
class. Extensive code optimizations allow for most open clusters to have full simulations (even randomly sampling the orbits of their binary stars to see if they would or wouldn't be resolved!) in less than a second - New
SimulatedClusterParamters
,SimulatedClusterModels
, andSimulatedClusterFeatures
dataclasses for controllingSimulatedCluster
functionality - Ability to simulate observations of simulated clusters, allowing the same simulated cluster to be 'observed' by many different telescopes
- The flexible and hackable
- The new
ocelot.models
submodule for star cluster models, including:- A model of King 1962 empirical star clusters. Currently limited to sampling clusters in 3D
- A bespoke model of differential extinction that approximates dust structure with fractal noise
- A heavily optimized implementation of the Moe & DiStefano 2017 binary star models
- Models for selection functions due to observations, such as an optimized implementation of the Castro-Ginard 2023 subsample selection function that can be used to model any generic subsample of stars
- A model for star cluster observations with Gaia
- Extensive unit tests to assure the reliability and accuracy of simulated clusters and their models
- Documentation improvements, including the first tutorial in the module
- Refactoring of some old aspects of the module
The APIs of ocelot.simulate
and ocelot.models
are now the first stable APIs of ocelot, and are ready to use in production code.
ocelot 0.3.1-alpha
This is an interim development release that formally makes the package installable via Pip. In addition, it includes a number of breaking API changes. These API changes will not be listed in full until 0.4.0 (as pretty much everything is being rewritten).
In addition, the default branch was renamed from master
to main
. You can update your local version of ocelot to have the correct branch name with:
git branch -m master main
git fetch origin
git branch -u origin/main main
git remote set-head origin -a
ocelot 0.3.0-alpha
Introduction (and extensive live testing of) features for cluster analysis and crosmatching.
ocelot.cluster:
- Various tools added for pre-processing datasets
- Also some preliminary (slow) tools for resampling Gaia astrometry with its covariance matrices
- Experimental tools for determining epsilon when using DBSCAN
- Experimental tools for generating synthetic clusters
ocelot.crossmatch:
- Tools for crossmatching catalogues (defined as ocelot.crossmatch.Catalogue objects) with detected OCs in Gaia data.
ocelot 0.2-alpha
- A wide range of interpolation options were added, allowing isochrones and CMDs to be interpolated.
- A framework was implemented that could be built on to measure the scatter about a spline fit to a CMD, but over time this was deemed not worth the effort (and not very effective.) For the time being, the code will remain in the unit.
- Various QoL improvements and unit testing added for the ocelot.plot submodule.
ocelot 0.1-alpha
- Basic plotting functionality ported from the Jupyter notebook of experimentation.
- Minimal testing completed!
- This is being released early as I want to work on other things - ocelot.plot will have changes and more refactoring in the future.