From daec275abbdba82c196ae618a253536792917f05 Mon Sep 17 00:00:00 2001 From: Yifan Wang <yifan.wang@aei.mpg.de> Date: Wed, 8 Sep 2021 22:34:31 +0200 Subject: [PATCH] add another parametrization to solve the degeneracy issue --- IMRPDT_waveform/IMRPhenomDNRTparity.py | 22 ------------- NRSur7dq4Parity/parity_NR.py | 19 ----------- NRSur7dq4Parity/setup.py | 32 ------------------- {testwaveform => test}/README | 0 {testwaveform => test}/setup.py | 0 {testwaveform => test}/waveform.py | 0 waveform/__init__.py | 1 - waveform/{ => addme_parityamu}/parity_XPHM.py | 0 .../setup.py | 6 ++-- .../wrapper_amudistance_waveform/waveform.py | 16 ++++++++++ 10 files changed, 19 insertions(+), 77 deletions(-) delete mode 100644 IMRPDT_waveform/IMRPhenomDNRTparity.py delete mode 100644 NRSur7dq4Parity/parity_NR.py delete mode 100644 NRSur7dq4Parity/setup.py rename {testwaveform => test}/README (100%) rename {testwaveform => test}/setup.py (100%) rename {testwaveform => test}/waveform.py (100%) delete mode 100644 waveform/__init__.py rename waveform/{ => addme_parityamu}/parity_XPHM.py (100%) rename waveform/{ => wrapper_amudistance_waveform}/setup.py (86%) create mode 100644 waveform/wrapper_amudistance_waveform/waveform.py diff --git a/IMRPDT_waveform/IMRPhenomDNRTparity.py b/IMRPDT_waveform/IMRPhenomDNRTparity.py deleted file mode 100644 index 4e7e203..0000000 --- a/IMRPDT_waveform/IMRPhenomDNRTparity.py +++ /dev/null @@ -1,22 +0,0 @@ -def gen(**kwds): - from pycbc.waveform import get_fd_waveform - import lal - - if 'approximant' in kwds: - kwds.pop("approximant") - hp, hc = get_fd_waveform(approximant="IMRPhenomD_NRTidal", **kwds) - - temp = kwds['parity_amu'] / 1e9 / lal.QE_SI * lal.H_SI * lal.PI * lal.PI / lal.H0_SI - - hp_parity = hp + hc * temp * hp.sample_frequencies **2 - hc_parity = hc - hp * temp * hp.sample_frequencies **2 - - return hp_parity, hc_parity - - -#pycbc.waveform.add_custom_waveform('IMRPhenomParity', IMRPhenomParity, 'frequency', force=True) - -def add_me(**kwds): - kwds['cpu_fd']['IMRPhenomD_NRTidal_Parity'] = gen - kwds['filter_time_lengths']['IMRPhenomD_NRTidal_Parity'] = kwds['filter_time_lengths']['IMRPhenomD'] - diff --git a/NRSur7dq4Parity/parity_NR.py b/NRSur7dq4Parity/parity_NR.py deleted file mode 100644 index 52f1c9a..0000000 --- a/NRSur7dq4Parity/parity_NR.py +++ /dev/null @@ -1,19 +0,0 @@ -def gen(**kwds): - from pycbc.waveform import get_fd_waveform - import lal - - if 'approximant' in kwds: - kwds.pop("approximant") - hp, hc = get_fd_waveform(approximant="NRSur7dq4", **kwds) - - temp = kwds['parity_amu'] / 1e9 / lal.QE_SI * lal.H_SI * lal.PI * lal.PI / lal.H0_SI - - hp_parity = hp + hc * temp * hp.sample_frequencies **2 - hc_parity = hc - hp * temp * hp.sample_frequencies **2 - - return hp_parity, hc_parity - -def add_me(**kwds): - kwds['cpu_fd']['NRSur7dq4Parity'] = gen -# kwds['filter_time_lengths']['IMRPhenomPv2Parity'] = kwds['filter_time_lengths']['IMRPhenomPv2'] - diff --git a/NRSur7dq4Parity/setup.py b/NRSur7dq4Parity/setup.py deleted file mode 100644 index b800501..0000000 --- a/NRSur7dq4Parity/setup.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -setup.py file for testing birefringence pycbc waveform plugin package -""" - -from setuptools import Extension, setup, Command -from setuptools import find_packages - -VERSION = '0.0.dev0' - -setup ( - name = 'pycbc-birefringence-NR', - version = VERSION, - description = 'An waveform plugin for PyCBC', - author = 'Yifan Wang', - author_email = 'yifan.wang@aei.mpg.de', - url = 'http://www.pycbc.org/', - #download_url = 'https://github.com/gwastro/revchirp/tarball/v%s' % VERSION, - keywords = ['pycbc', 'signal processing', 'gravitational waves'], - py_modules = ['parity_NR'], - entry_points = {"pycbc.waveform.fd":"NRSur7dq4Parity=parity_NR:gen"}, - classifiers=[ - 'Programming Language :: Python', - 'Programming Language :: Python :: 2.7', - 'Programming Language :: Python :: 3.6', - 'Intended Audience :: Science/Research', - 'Natural Language :: English', - 'Topic :: Scientific/Engineering', - 'Topic :: Scientific/Engineering :: Astronomy', - 'Topic :: Scientific/Engineering :: Physics', - 'License :: OSI Approved :: GNU General Public License v3 (GPLv3)', - ], -) diff --git a/testwaveform/README b/test/README similarity index 100% rename from testwaveform/README rename to test/README diff --git a/testwaveform/setup.py b/test/setup.py similarity index 100% rename from testwaveform/setup.py rename to test/setup.py diff --git a/testwaveform/waveform.py b/test/waveform.py similarity index 100% rename from testwaveform/waveform.py rename to test/waveform.py diff --git a/waveform/__init__.py b/waveform/__init__.py deleted file mode 100644 index 3943644..0000000 --- a/waveform/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .IMRPhenomParity import * diff --git a/waveform/parity_XPHM.py b/waveform/addme_parityamu/parity_XPHM.py similarity index 100% rename from waveform/parity_XPHM.py rename to waveform/addme_parityamu/parity_XPHM.py diff --git a/waveform/setup.py b/waveform/wrapper_amudistance_waveform/setup.py similarity index 86% rename from waveform/setup.py rename to waveform/wrapper_amudistance_waveform/setup.py index 9156c86..5206a94 100644 --- a/waveform/setup.py +++ b/waveform/wrapper_amudistance_waveform/setup.py @@ -8,7 +8,7 @@ from setuptools import find_packages VERSION = '0.0.dev0' setup ( - name = 'pycbc-birefringence-XPHM', + name = 'pycbc-birefringence-amudistance', version = VERSION, description = 'A waveform plugin for PyCBC', author = 'Yifan Wang', @@ -16,8 +16,8 @@ setup ( url = 'http://www.pycbc.org/', #download_url = 'https://github.com/gwastro/revchirp/tarball/v%s' % VERSION, keywords = ['pycbc', 'signal processing', 'gravitational waves'], - py_modules = ['parity_XPHM'], - entry_points = {"pycbc.waveform.fd":"IMRPhenomXPHMParity=parity_XPHM:gen"}, + py_modules = ['amudistance'], + entry_points = {"pycbc.waveform.fd":"amudistance=waveform:gen"}, classifiers=[ 'Programming Language :: Python', 'Programming Language :: Python :: 2.7', diff --git a/waveform/wrapper_amudistance_waveform/waveform.py b/waveform/wrapper_amudistance_waveform/waveform.py new file mode 100644 index 0000000..084b43e --- /dev/null +++ b/waveform/wrapper_amudistance_waveform/waveform.py @@ -0,0 +1,16 @@ +def gen(**kwds): + from pycbc.waveform import get_fd_waveform + import lal + #print(kwds) + + if 'approximant' in kwds: + kwds.pop("approximant") + if kwds['baseapprox'] is None: + raise ValueError("A base waveform approximant is required.") + + hp, hc = get_fd_waveform(approximant=kwds['baseapprox'], **kwds) + temp = kwds['parity_amudistance'] * kwds['distance'] / 1e9 / lal.QE_SI * lal.H_SI * lal.PI * lal.PI / lal.H0_SI + hp_parity = hp + hc * temp * hp.sample_frequencies **2 + hc_parity = hc - hp * temp * hp.sample_frequencies **2 + + return hp_parity, hc_parity -- GitLab