Kilonovae

Contents

Kilonovae#

In skysurvey, kilonovae are a pre-built class modeled from a spectra model computed using the POSSIS code from Bulla 2019 (2019MNRAS.489.5037B) and converted as spectral time series into sncosmo, making kilonovae usable like any other transient type.


The Kilonova Transient is already defined and ready to use:

import skysurvey

kilonova = skysurvey.Kilonova()

Template#

The kilonova template is derived from a POSSIS file, converted into a AngularTimeSeriesSource, and finally wrapped into an sncosmo.Model.

The template (skysurvey object) is stored here:

kilonova.template
<skysurvey.template.Template at 0x1355a75c0>

The default template is a POSSIS file nsns_nph1.0e+06_mejdyn0.020_mejwind0.130_phi30.txt from kilonova_model. This file contains a kilonova spectral model grid that gives the following data:

  • phase: time since merger in days

  • wave: wavelengths in Angstrom

  • cos_theta: cosine of viewing angle

  • flux: model spectral flux density in arbitrary units

import os
from skysurvey import _PACKAGE_PATH

filename = os.path.join(_PACKAGE_PATH, "data", "nsns_nph1.0e+06_mejdyn0.020_mejwind0.130_phi30.txt")

phase, wave, cos_theta, flux = skysurvey.kilonova.read_possis_file(filename)

The data are wrapped into an AngularTimeSeriesSource:

from skysurvey.source.angular import AngularTimeSeriesSource

source = AngularTimeSeriesSource(phase=phase, wave=wave, flux=flux, cos_theta=cos_theta,
                                         name="kilonova")

You can access the corresponding source directly:

kilonova.template.source
<AngularTimeSeriesSource 'kilonova' at 0x1351b8800>

This source is then wrapped into the the final sncosmo.Model which becomes the _TEMPLATE attribute:

import sncosmo

model = sncosmo.Model(source)

_KILONOVA_MODEL = skysurvey.kilonova.get_kilonova_model() #get_kilonova_model() returns the model defined before

# This becomes the attribute stored in the Kilonova class:
_TEMPLATE = _KILONOVA_MODEL

Rate#

The volumetric rate (the number of transient expected per year and per Gpc³) is the rate for binary neutron star mergers inferred from gravitational-wave observations:

kilonova.rate
1000.0

Model#

The default model is based on the modeldag package and contains 7 entries. So the generated data will contains at least 7 columns. It is defined by the following parameters:

kilonova
{'t0': {'func': <bound method Generator.uniform of Generator(PCG64) at 0x13BFA2F80>,
        'kwargs': {'low': 56000, 'high': 56200}},
 'redshift': {'kwargs': {'zmax': 0.2, 'rate': 1000.0}, 'as': 'z'},
 'magabs': {'func': <bound method Generator.normal of Generator(PCG64) at 0x13BFA2F80>,
            'kwargs': {'loc': -18, 'scale': 1}},
 'magobs': {'func': 'magabs_to_magobs',
            'kwargs': {'z': '@z', 'magabs': '@magabs'}},
 'amplitude': {'func': 'magobs_to_amplitude', 'kwargs': {'magobs': '@magobs'}},
 'theta': {'func': <bound method Generator.uniform of Generator(PCG64) at 0x13BFA2F80>,
           'kwargs': {'low': 0.0, 'high': 90.0}},
 'radec': {'func': <function random_radec at 0x13909f6a0>,
           'kwargs': {},
           'as': ['ra', 'dec']}}