Skip to content

Releases: HeloiseS/hoki

SED fitting with BPASS and End-to-end transient progenitor analysis

08 Dec 09:46
9491912
Compare
Choose a tag to compare

Description

This new version of hoki contains the data analysis pipelines used to fit BPASS SEDs to observed SEDs using ppxf, as well as utility functions that streamline the exploration of the stellar models to make finding transient progenitors faster than ever and easy to automate. These tools were created for the analysis that resulted in the publication Stevance et al. 2023 (in press. with Nature Astronomy).

New features and data

  • sedfitting subpackage which contains the kvn and lordcommander modules which contain helper tools to create SED templates to fit observed SEDs with ppxf and retrieve stellar formation histories and metallicities for individual spectra and data cubes. (NOTE: i want, in time, to rename and refactor these utilities so they are more instinctive to call in the code and not just a 'hommage' to funny cartoon characters. At the present time they are the codes I used for the study attached to this release and as such need to be included as they were during the analysis for reproducibility purposes). The SED fitting full tutorials and data can be found on zenodo:
    DOI

  • eve.py contains utility functions to be used with EvE database. The alpha version of that data base can be found on Zenodo DOI

  • A BPASSv2.2.1 starter kit has been added to zenodo if users only are interested in the stellar library and fiducial models (standard IMF, not the other 8)
    DOI

Complex Model Search and Complex Stellar Populations

05 May 04:06
774aa76
Compare
Choose a tag to compare

New Features

  • csp subpackage: Create Complex Stellar Populations from the BPASS Simple Stellar Populations! Use them to predict transient rates originating from your population.
  • data_compiler module: Includes the ModelDataCompiler which allows you to compile a subset of the BPASS stellar library into an pandas.DataFrame that is easy to search and operate on! This allows you to do some advances model searches to match your stellar population or your transient progenitor.

New tutorials in hoki_tutorials repository

  • Complex Stellar Populations: Shows you how to make Complex Stellar Populations
  • Model Data Compiler: Shows you how to compile the data you're interested in from individual text files into a table
  • Model Search: Shows you some of the basics of searching through the models with these data formats

Other features in pre-release

data_compiler comes with another compiler to bring spectral data together into a data product easier to manage for some applications. Contact Max Briel if you are interested.

Updates and upcoming deprecation

  • The age subpackage is the new home of AgeWizard. It comes with an AgeWizard v2.0 of sorts that can take into account observational errors in Luminosity and Temperature when comparing to HR Diagrams.

  • age_utils is still there for backwards compatibility until v2.0 of hoki but you will get a Deprecation Warning everytime

Associated Data Products

Pre-compiled tables for the stellar libraries with the fiducial IMF (Kroupa with maximum mass 300 solar masses) were compiled by H. F. Stevance and made available here under the following DOI

DOI

The Age Wizard Release - Patch - v1.5.1

10 Jul 04:34
58107d1
Compare
Choose a tag to compare

Patch for the submission of our revised manuscript of "A_systematic_aging_method_I: NGC 300 ...."

Feature Patch

The AgeWizard algorithm has been slightly amended. [PR39]. Here is a summary of the changes:

  • The individual star age probability distribution functions are now such that the probability that a star has an age older than the current age of the Universe is 0
  • The total probability density function is now calculated from the individual star PDFs, not from their un-normalised distributions. The original algorithm effectively leads to a higher weighting of stars found in densely populated regions of the HRD and CMDs. As a result, stars in the giant branch carried a significantly lower weight than main sequence stars. This is problematic because these stars carry the most reliable information about age since their evolutionary phase is much shorter lived than the Main Sequence. Consequently, normalising the distributions over time before combining them is a first step towards making the age determination more accurate. Further steps can be taken by the human and these will be described in soon-to-come tutorials and publications. Feel free to contact [email protected] if you need more detail about this.

New Feature

Currently this only contains the starcounts.py module, which implements the method of Dorn-Wallenstein & Levesque 2020 to retrieve the underlying count ratio of the

  • Compatibility with BPASS v2.2.2 (which includes Gaia Filters) [PR22] [29]. Note that BPASS data for Gaia filters are not public yet but you may contact Jan J. Eldridge if you need them ([email protected]).

Bug Fixes:

  • HRD plotting - one type had the wrong x axis [PR33]

The `AgeWizard` release

02 Apr 03:59
Compare
Choose a tag to compare

Summary

At the core of v1.5 is the age_utils module and the AgeWizard pipeline.
The utilities provided in there allow the easy implementation of the age determination method for resolved stellar populations that is presented in Stevance et al. in prep.

Other more general upgrades were implemented as well and are summarised below.

New Features

New Modules

  • hoki.age_utils: Utilities to find ages using BPASS models.
  • hoki.utils.exceptions: Hoki specific error messages and warniings created to help debugging
  • hoki.utils.hoki_objects: contains the class HokiObject()

New Classes

hoki.age_utils

  • AgeWizard: Toolkit and pipeline to find ages by comparing observational data to model HRDs or CMDs.

hoki.utils.exceptions

  • HokiWarning
  • HokiUserWarning
  • HokiDeprecationWarning
  • HokiFormatWarning
  • HokiFormatError
  • HokiFatalError
  • HokiKeyError

New Functions

  • find_coordinates: Matches observational data to model CMD or HRD and retrieves their postional coordinates in Temperature-Luminosity space or Colour-Magnitude space
  • normalise_1d: Divides a 1D array by its total sum
  • calculate_individual_pdfs: Calculates the Age Probability Distribution Functions of an ensemble of sources by comparing them to a requested HRD or CMD
  • calculate_distributions: Searches through CMD/HRDs to collate the age distributions for a set of locations on the CMD/HRDs

Upgrades

Update to Colour Magnitude diagrams

  • CMD.make() now has a parameter mag_filter and col_filters instead of filter1 and filter2 so that the Magnitude Axis filter can be independent of the colour combination
  • CMD.at_log_age() now has tests and is included in the tutorials.

Update to hoki classes

Hoki classes like HRDiagrams or CMD are now all HokiObjects. At the moment all they inherit are the following class attributes:

t = hoki.constants.BPASS_TIME_BINS
dt = hoki.constants.BPASS_TIME_INTERVALS
time_weight_grid = hoki.constants.BPASS_TIME_WEIGHT_GRID

Associated Pull Requests:

  • Update to AgeWizard
  • Update to CMD
  • The AgeWizard Pull Request

Closed Issues: 2, 6, 7, 9

Hoki: Making BPASS Accessible Through Python

28 Jan 22:30
Compare
Choose a tag to compare

First Official Release!

hoki has been reviewed and accepted by JOSS!

It is now out of beta, but will remain in continuous development as the needs of the community and BPASS models evolve.

Many thanks to @ygrange and @KshitijAggarwal for their review, and our editor @arfon.

Fixes

  • A bug in the tutorials was uncovered be the referees and fixed
  • Clarifications added to the tutorials and READ ME.
  • Paper has been finalised! And the pdf is in the paper subdirectory

The JOSS clean up - Patch

20 Dec 11:40
3461178
Compare
Choose a tag to compare
Pre-release

Identical to the v1.3.1 release but a lot of unnecessary template files and folders left over from setting up the package have been removed to clean up to repository.

This is the last release prior to submission to the Journal of Open Source Software.


Corresponding pypi release

Version 1.3.1

25 Nov 03:44
Compare
Choose a tag to compare
Version 1.3.1 Pre-release
Pre-release

New Feature

  • load.nebular_lines() has been added to load the nebular emission line data into data frames with the correct column names. The nebular emission line data download link and more info can be found on this page: https://bpass.auckland.ac.nz/4.html

Dev Feature

  • OUTPUTS_PATH variable created in hoki.constants, as well as the outputs_path setting in yaml. This is mostly to make my life easier so I'm not counting it as a "feature" of hoki, although it could be later if I added a way in the code to easily change that setting

Bug Fixes

  • HRDiagrams.plot() would crash if abundances was not given a tuple. Added safeguards to check the type and let the user know what type is expected.
  • Now automatically turns hr_type into a string to avoid giving people an error if they typed the right code but forgot quotes.
  • spec.dopcor only accepted wavelength columns under the name 'WL' - now it finds the wavelength within the given dataframe based on column index. The default is 0 because most of the time wavelength is the first column, but this is an option that users can now change.

Corresponding pypi release

Patch 1.2.1

31 Oct 02:05
Compare
Choose a tag to compare
Patch 1.2.1 Pre-release
Pre-release

Added axis labels to default CMD plots


Corresponding pypi release

First Beta Release of Hoki

30 Oct 02:07
Compare
Choose a tag to compare
Pre-release

The CMD Release

New Features

  • hoki.cmd: a module containing the CMD class which allows users to make their own synthetic Colour-Magnitude Diagrams from the BPASS models. It includes a plotting function like the one contained in HRDiagrams.

  • hoki.load.unpickle(): a quick function to unpickle your files in one line instead of 3. Useful for those pickling CMD objects.

  • hoki.load.set_models_path(): A function to update the settings.yaml file with the users's own absolute path to the stellar models so they don't have to locate settings.yaml and edit it manually`.

Why is it in beta now?

We've done more user testing, fixed a few bugs and have added most core features of hoki.
We now look forward to users breaking the code and reporting the bugs.

What's next?

Spectra ! I've started working on Integral Field Unit data and will be playing with putting together BPASS spectra and observations.

If you have any feature request, let me know by opening an issue!


Corresponding pypi release

Feature added - spec.dopcor()

19 Sep 04:15
6c77e13
Compare
Choose a tag to compare
Pre-release

hoki v1.1.0-alpha

A small and basic doppler correction feature was added - dopcor.

The spec.py module was created - this is where dopcor resides. We enticipate that spec will contain an extensive suites of spectroscopic utilities in the future to use with the BPASS synthetic spectra (and potential other spectra in similar formats).

Backwards compatibility should be conserved - please raise an issue if that is not the case.