Gravitational tools for Python
Project description
Gravitational Wave utilities in Python
The gravtools
module is a complementary module to the existing, well-written libraries
pycbc and gwpy. This package began as a few simple utilities, such as constants
and date conversion helper functions.
Useful Constants
The gravtools
package includes some human-readable, enumerated constants for key components of
the PyCBC
module structure, such as Detector names and Merger parameter names. This is made
necessary since PyCBC
often relies on a lazy-loading pattern for attributes, using the setattr
function to assign attributes to primary classes like Merger
. Unfortunately, this makes these
attributes uninspectable by most IDEs. Also the names of these attributes are occasionally less-than-legible.
>>> from gravtools import MergerParameters, Observatory
>>> Observatory.LIGOHanford
'H1'
>>> MergerParameters.RadiatedEnergy, MergerParameters.FinalSpin
('E_rad', 'a_final')
Time Conversion
Gravitational wave data uses GPS time format, which is a float number of seconds since the
GPS era. The time
module in gravtools
contains a utility function to convert
from GPS time to the builtin datetime
.
>>> from gravtools import time
>>> time.gps_to_datetime(1187529241)
datetime.datetime(2017, 8, 23, 13, 14, 20)
Merger Formatting
The Merger
class in the PyCBC
module doesn't have a clean repr by default. The merger
module
in the gravtools
package includes formatting utilities for Merger
objects, mostly for quick
inspection and display purposes (for example, in a Jupyter notebook).
>>> from gravtools import merger
>>> from pycbc import catalog
>>> m = catalog.Merger('GW150914')
>>> merger.summary(m)
'Merger[GW150914](Mass1=35.6, Mass2=30.6, FinalSpin=0.69)'
The parameters displayed are configurable as well, using the parameters
argument
>>> merger.summary(m, parameters=[MergerParameters.Redshift])
'Merger[GW150914](Redshift=0.09)'
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for gravtools-0.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dff0b8b0d58fd0aeef40336da562942248dffa2cdd17d45cf2ee78595a19adbb |
|
MD5 | 09be8b485d831b5638c0e9d4f9a3c2c0 |
|
BLAKE2b-256 | 177cee51676df3c3e8eb77c0de5bbd852a69ed4ee3cd96176633a1ab4dec702d |