From e4e388149138c013f3c125a1a2799fb82775e9a0 Mon Sep 17 00:00:00 2001 From: jeremy baier <64343177+jeremy-baier@users.noreply.github.com> Date: Wed, 21 Aug 2024 15:52:23 -0700 Subject: [PATCH 01/33] Create CNAME --- CNAME | 1 + 1 file changed, 1 insertion(+) create mode 100644 CNAME diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..1217b68 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +gwplotter-pta.io \ No newline at end of file From afbd354f20ee4c8d5edc6f409a2dceb58876ed98 Mon Sep 17 00:00:00 2001 From: jeremy baier <64343177+jeremy-baier@users.noreply.github.com> Date: Wed, 21 Aug 2024 15:53:36 -0700 Subject: [PATCH 02/33] Update CNAME --- CNAME | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CNAME b/CNAME index 1217b68..1ca1e40 100644 --- a/CNAME +++ b/CNAME @@ -1 +1 @@ -gwplotter-pta.io \ No newline at end of file +gwplotter-ptaupdate.come \ No newline at end of file From af39117005a72ef549e309f168d79360d5a4289d Mon Sep 17 00:00:00 2001 From: jeremy baier <64343177+jeremy-baier@users.noreply.github.com> Date: Wed, 21 Aug 2024 15:53:42 -0700 Subject: [PATCH 03/33] Update CNAME --- CNAME | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CNAME b/CNAME index 1ca1e40..5b68f05 100644 --- a/CNAME +++ b/CNAME @@ -1 +1 @@ -gwplotter-ptaupdate.come \ No newline at end of file +gwplotter-ptaupdate.com \ No newline at end of file From 04f7802a6e606d955d8a19cb21d529ce7d381211 Mon Sep 17 00:00:00 2001 From: jeremy baier <64343177+jeremy-baier@users.noreply.github.com> Date: Wed, 21 Aug 2024 16:05:47 -0700 Subject: [PATCH 04/33] Delete CNAME --- CNAME | 1 - 1 file changed, 1 deletion(-) delete mode 100644 CNAME diff --git a/CNAME b/CNAME deleted file mode 100644 index 5b68f05..0000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -gwplotter-ptaupdate.com \ No newline at end of file From 6f8ff28322bb3c1c8f407ac77c3f1638693f36aa Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Thu, 29 Aug 2024 16:54:03 -0700 Subject: [PATCH 05/33] update scaling to hasasia-like sensitivity --- js/{scalings.js => scaling.js} | 73 +++++++++++++++++++++++++++++----- 1 file changed, 62 insertions(+), 11 deletions(-) rename js/{scalings.js => scaling.js} (62%) diff --git a/js/scalings.js b/js/scaling.js similarity index 62% rename from js/scalings.js rename to js/scaling.js index cc52355..236d048 100644 --- a/js/scalings.js +++ b/js/scaling.js @@ -3,7 +3,7 @@ function transformData(data, display, type, index, dataparams, params) { switch(type) { case 0: // PTAs - outdata = transformPTA(outdata, dataparams, params); + outdata = transformPTA(params); break; } @@ -30,23 +30,49 @@ function transformData(data, display, type, index, dataparams, params) { return outdata; } -function transformPTA(data, params0, params) { - var logfmin = Math.log(1.0/params.T); +// function transformPTA(data, params0, params) { +// var logfmin = Math.log(1.0/params.T); +// var logfmax = Math.log(1.0/params.deltaT); +// var numpoints = 25; + +// var freqs = [Math.exp(logfmin-0.0001)]; +// for (i=0; i\ "; - return numPulsars + T + dt + dtrms; + var log10A_irn = "
\ + \ + \ +
"; + + var gamma_irn = "
\ + \ + \ +
"; + + return numPulsars + T + dt + dtrms + log10A_irn + gamma_irn; } function Pulsarsoptions(index, params) { @@ -139,3 +175,18 @@ function toEnergySpec(data) { return [f, 2*Math.pow(Math.PI*f*hc/H0,2)]; }); } + +function findClosestIndex(freqs, givenNumber) { + let closestIndex = 0; + let smallestDifference = Math.abs(freqs[0] - givenNumber); + + for (let i = 1; i < freqs.length; i++) { + let difference = Math.abs(freqs[i] - givenNumber); + if (difference < smallestDifference) { + smallestDifference = difference; + closestIndex = i; + } + } + + return closestIndex; +} From 51f4ab4617765ea9315d95cd18a5979038144b76 Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Thu, 29 Aug 2024 17:04:52 -0700 Subject: [PATCH 06/33] fix bug in noise_power --- js/scaling.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/js/scaling.js b/js/scaling.js index 236d048..ec82a0b 100644 --- a/js/scaling.js +++ b/js/scaling.js @@ -64,7 +64,12 @@ function transformPTA(params) { var fyr_idx = findClosestIndex(freqs, 1/(365.25*24*3600)); var f6mo_idx = findClosestIndex(freqs, 1/(365.25*24*3600/2)); var sqrt_Np_pairs = Math.sqrt(0.5*params.Np*(params.Np-1)); - var sqrt_noise_power = (2*params.deltatrms**2*(params.deltaT)+10**params.log10A_irn*(fyr/f)**(params.gamma_irn))**0.5; + function sqrt_noise_power(params, f) { + return (2*params.deltatrms**2*(params.deltaT)+10**params.log10A_irn*(fyr/f)**(params.gamma_irn))**0.5; + } + function sky_response(params, f) { + return (1+1/(f*params.T))**3; + } // h_c = Math.sqrt(f*S_eff) return freqs.map(function(f, index) { if (index == fyr_idx) { @@ -72,7 +77,7 @@ function transformPTA(params) { } else if (index == f6mo_idx) { return [f, 1.1*28.645*sqrt_noise_power*f**(1.5)/sqrt_Np_pairs*(1+1/(f*params.T))**3]; } else { - return [f, 28.645*sqrt_noise_power*f**(1.5)/sqrt_Np_pairs*(1+1/(f*params.T))**3]; + return [f, 28.645*sqrt_noise_power(params,f)*f**(1.5)/sqrt_Np_pairs*sky_response(params, f)]; } }); } From cf9e33145eb527cd0cb7aee03913c28fea363eed Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Thu, 29 Aug 2024 17:05:45 -0700 Subject: [PATCH 07/33] fix bug in noise_power --- js/scaling.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/js/scaling.js b/js/scaling.js index ec82a0b..2ee6464 100644 --- a/js/scaling.js +++ b/js/scaling.js @@ -73,9 +73,9 @@ function transformPTA(params) { // h_c = Math.sqrt(f*S_eff) return freqs.map(function(f, index) { if (index == fyr_idx) { - return [f, 10*28.645*sqrt_noise_power*f**(1.5)/sqrt_Np_pairs*(1+1/(f*params.T))**3]; + return [f, 10*28.645*sqrt_noise_power(params,f)*f**(1.5)/sqrt_Np_pairs*sky_response(params,f)]; } else if (index == f6mo_idx) { - return [f, 1.1*28.645*sqrt_noise_power*f**(1.5)/sqrt_Np_pairs*(1+1/(f*params.T))**3]; + return [f, 1.1*28.645*sqrt_noise_power(params,f)*f**(1.5)/sqrt_Np_pairs*sky_response(params,f)]; } else { return [f, 28.645*sqrt_noise_power(params,f)*f**(1.5)/sqrt_Np_pairs*sky_response(params, f)]; } From 9a15aa822391b89f9da59e3940b589a4d89e7372 Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Thu, 29 Aug 2024 17:07:12 -0700 Subject: [PATCH 08/33] rename scaling.js scalings.js --- js/{scaling.js => scalings.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename js/{scaling.js => scalings.js} (100%) diff --git a/js/scaling.js b/js/scalings.js similarity index 100% rename from js/scaling.js rename to js/scalings.js From 7a72528fd24406d737c6738b65ac46f5941bd87f Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Thu, 29 Aug 2024 17:23:03 -0700 Subject: [PATCH 09/33] update Updates in index.html --- index.html | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/index.html b/index.html index 6a809b5..a4e45a2 100644 --- a/index.html +++ b/index.html @@ -202,6 +202,12 @@

Gravitational Wave Detectors and Sources

Updates

+

29 August 2024

+

PTA sensitivity curves have been updated to be more in line with those created in hasasia (). + The nHz GWB data has also been updated to a power-law fit to IPTA data (). +

. +

Updates

+

27 February 2019

The Advanced LIGO design curve has been updated, following the most recent studies of coating thermal noise (data from the LIGO Document Control Center). Curves for the space-based TianQin (described in TianQin: a space-borne gravitational wave detector) and the LIGO updgrade A+ (data from the LIGO Document Control Center) have been added to the plotter.

From 2711ceca379ac19cb8e83ec5673c48ba678fd4c1 Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Thu, 29 Aug 2024 17:29:37 -0700 Subject: [PATCH 10/33] fix bug in Updates in index.html --- index.html | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index a4e45a2..ab1bf8d 100644 --- a/index.html +++ b/index.html @@ -203,10 +203,9 @@

Gravitational Wave Detectors and Sources

Updates

29 August 2024

-

PTA sensitivity curves have been updated to be more in line with those created in hasasia (). - The nHz GWB data has also been updated to a power-law fit to IPTA data (). +

PTA sensitivity curves have been updated to be more in line with those created in hasasia (Realistic sensitivity curves for pulsar timing arrays). + The nHz GWB data has also been updated to a power-law fit to IPTA data (Comparing recent PTA results on the nanohertz stochastic gravitational wave background).

. -

Updates

27 February 2019

The Advanced LIGO design curve has been updated, following the most recent studies of coating thermal noise (data from the LIGO Document Control Center). Curves for the space-based TianQin (described in From 2dadeda4bb55added1abf45517f92bd644752418 Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Thu, 29 Aug 2024 17:30:59 -0700 Subject: [PATCH 11/33] fix bug in Updates in index.html --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index ab1bf8d..54bb4bc 100644 --- a/index.html +++ b/index.html @@ -205,7 +205,7 @@

Updates

29 August 2024

PTA sensitivity curves have been updated to be more in line with those created in hasasia (Realistic sensitivity curves for pulsar timing arrays). The nHz GWB data has also been updated to a power-law fit to IPTA data (Comparing recent PTA results on the nanohertz stochastic gravitational wave background). -

. +

27 February 2019

The Advanced LIGO design curve has been updated, following the most recent studies of coating thermal noise (data from the LIGO Document Control Center). Curves for the space-based TianQin (described in From 6b6054807287ac4febd32f434cb7c5b883ff02b9 Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Thu, 29 Aug 2024 17:51:45 -0700 Subject: [PATCH 12/33] update PTAobj params --- js/plot.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/js/plot.js b/js/plot.js index 9853546..a669350 100644 --- a/js/plot.js +++ b/js/plot.js @@ -427,7 +427,9 @@ $( document ).ready(function() { "T" : 20*365.25*24*60*60, "deltaT" : 1.20960e6, "deltatrms" : 1.0e-7, - "Np" : 100.0 + "Np" : 100.0, + "log10A_irn": -15.0, + "gamma_irn": 2.667, } }; var PTAdataset = new dataset(PTAobj); From 54917496eddfac0efc68370cff286c0ca022f77f Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Thu, 29 Aug 2024 18:03:39 -0700 Subject: [PATCH 13/33] fix bug in scalings --- js/scalings.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/js/scalings.js b/js/scalings.js index 2ee6464..470ccf1 100644 --- a/js/scalings.js +++ b/js/scalings.js @@ -61,8 +61,9 @@ function transformPTA(params) { for (i=0; i Date: Thu, 29 Aug 2024 18:11:50 -0700 Subject: [PATCH 14/33] fix bug in scalings --- js/scalings.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/js/scalings.js b/js/scalings.js index 470ccf1..bdb34c3 100644 --- a/js/scalings.js +++ b/js/scalings.js @@ -53,8 +53,8 @@ function transformData(data, display, type, index, dataparams, params) { function transformPTA(params) { - var logfmin = Math.log(1.0/(6*params.T)); - var logfmax = Math.log(1.0/params.deltaT); + var logfmin = Math.log(1.0/(10*params.T)); + var logfmax = Math.log(1.0/(params.deltaT/2)); var numpoints = 100; var freqs = [Math.exp(logfmin-0.0001)]; @@ -63,7 +63,7 @@ function transformPTA(params) { } var fyr = 1/(365.25*24*3600); var fyr_idx = findClosestIndex(freqs, fyr); - var f6mo_idx = findClosestIndex(freqs, fyr/2); + var f6mo_idx = findClosestIndex(freqs, fyr*2); var sqrt_Np_pairs = Math.sqrt(0.5*params.Np*(params.Np-1)); function sqrt_noise_power(params, f) { return (2*params.deltatrms**2*(params.deltaT)+10**params.log10A_irn*(fyr/f)**(params.gamma_irn))**0.5; From b50cf09ad3c0c01d6180ddabcf4ac40d190287a1 Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Thu, 29 Aug 2024 18:51:42 -0700 Subject: [PATCH 15/33] fix plot.js so that it initializes PTAs correctly upon load --- js/plot.js | 14 ++++++++++++++ js/scalings.js | 6 +++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/js/plot.js b/js/plot.js index a669350..0b35195 100644 --- a/js/plot.js +++ b/js/plot.js @@ -551,6 +551,20 @@ $( document ).ready(function() { plotGraph(plotDisplay); } }) + .on('change', 'input.log10A_irn', function() { + var newval = parseInt($(this).val()); + if (!isNaN(newval)) { + datasets[$(this).attr('name').slice(0,-10)].params.log10A_irn = newval; + plotGraph(plotDisplay); + } + }) + .on('change', 'input.gamma_irn', function() { + var newval = parseInt($(this).val()); + if (!isNaN(newval)) { + datasets[$(this).attr('name').slice(0,-9)].params.gamma_irn = newval; + plotGraph(plotDisplay); + } + }) .on('change', 'input.Amp', function() { var newval = parseFloat($(this).val()); if (!isNaN(newval)) { diff --git a/js/scalings.js b/js/scalings.js index bdb34c3..d28eb5d 100644 --- a/js/scalings.js +++ b/js/scalings.js @@ -54,7 +54,7 @@ function transformData(data, display, type, index, dataparams, params) { function transformPTA(params) { var logfmin = Math.log(1.0/(10*params.T)); - var logfmax = Math.log(1.0/(params.deltaT/2)); + var logfmax = Math.log(1.0/(params.deltaT)); var numpoints = 100; var freqs = [Math.exp(logfmin-0.0001)]; @@ -74,9 +74,9 @@ function transformPTA(params) { // h_c = Math.sqrt(f*S_eff) return freqs.map(function(f, index) { if (index == fyr_idx) { - return [f, 10*28.645*sqrt_noise_power(params,f)*f**(1.5)/sqrt_Np_pairs*sky_response(params,f)]; + return [f, 12*28.645*sqrt_noise_power(params,f)*f**(1.5)/sqrt_Np_pairs*sky_response(params,f)]; } else if (index == f6mo_idx) { - return [f, 1.1*28.645*sqrt_noise_power(params,f)*f**(1.5)/sqrt_Np_pairs*sky_response(params,f)]; + return [f, 1.2*28.645*sqrt_noise_power(params,f)*f**(1.5)/sqrt_Np_pairs*sky_response(params,f)]; } else { return [f, 28.645*sqrt_noise_power(params,f)*f**(1.5)/sqrt_Np_pairs*sky_response(params, f)]; } From 9808cc4989d61f1b418c8486e294515823352f41 Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Thu, 29 Aug 2024 22:54:19 -0700 Subject: [PATCH 16/33] update scalings to cover the whole frequency range and adjust height of 1/yr and 1/6mo --- js/scalings.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/js/scalings.js b/js/scalings.js index d28eb5d..c606866 100644 --- a/js/scalings.js +++ b/js/scalings.js @@ -53,8 +53,10 @@ function transformData(data, display, type, index, dataparams, params) { function transformPTA(params) { - var logfmin = Math.log(1.0/(10*params.T)); - var logfmax = Math.log(1.0/(params.deltaT)); + // var logfmin = Math.log(1.0/(15*params.T)); + // var logfmax = Math.log(1.0/(params.deltaT)); + var logfmin = Math.log(1e-10); + var logfmax = Math.log(1e-6); var numpoints = 100; var freqs = [Math.exp(logfmin-0.0001)]; @@ -64,6 +66,7 @@ function transformPTA(params) { var fyr = 1/(365.25*24*3600); var fyr_idx = findClosestIndex(freqs, fyr); var f6mo_idx = findClosestIndex(freqs, fyr*2); + // calculat 1/yr and 1/6mo and then artificially inflate the values var sqrt_Np_pairs = Math.sqrt(0.5*params.Np*(params.Np-1)); function sqrt_noise_power(params, f) { return (2*params.deltatrms**2*(params.deltaT)+10**params.log10A_irn*(fyr/f)**(params.gamma_irn))**0.5; @@ -74,9 +77,9 @@ function transformPTA(params) { // h_c = Math.sqrt(f*S_eff) return freqs.map(function(f, index) { if (index == fyr_idx) { - return [f, 12*28.645*sqrt_noise_power(params,f)*f**(1.5)/sqrt_Np_pairs*sky_response(params,f)]; + return [f, 40*28.645*sqrt_noise_power(params,f)*f**(1.5)/sqrt_Np_pairs*sky_response(params,f)]; } else if (index == f6mo_idx) { - return [f, 1.2*28.645*sqrt_noise_power(params,f)*f**(1.5)/sqrt_Np_pairs*sky_response(params,f)]; + return [f, 2.5*28.645*sqrt_noise_power(params,f)*f**(1.5)/sqrt_Np_pairs*sky_response(params,f)]; } else { return [f, 28.645*sqrt_noise_power(params,f)*f**(1.5)/sqrt_Np_pairs*sky_response(params, f)]; } From cfccc129597a9f39173ec8a4fcda34fdd715cbb2 Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Thu, 29 Aug 2024 22:55:09 -0700 Subject: [PATCH 17/33] updating the stochastic GWB data to a power-law fit to the IPTA 3PTA comparison paper --- data/sources/sto_back.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/sources/sto_back.json b/data/sources/sto_back.json index b843592..7f511df 100644 --- a/data/sources/sto_back.json +++ b/data/sources/sto_back.json @@ -1 +1 @@ -{"data" : [[1.0000007518648013e-10, 1.8591900890495376e-14], [1.0113639908792419e-10, 1.84523785451468e-14], [1.0228563529974951e-10, 1.831390324092469e-14], [1.0462343322405642e-10, 1.804006238487525e-14], [1.09460545496355e-10, 1.7504603362884993e-14], [1.198160201181483e-10, 1.648089351899296e-14], [1.4355867883280815e-10, 1.4609579342327588e-14], [2.0609078772980442e-10, 1.1480257442039213e-14], [4.5137106296740377e-10, 6.807195199177511e-15], [9.385256298833293e-10, 4.178559479809406e-15], [1.9236337188685265e-9, 2.5896580749446672e-15], [4.190014313202697e-9, 1.5411574460934173e-15], [8.664548191459666e-9, 9.494965671083865e-16], [8.771802565555229e-9, 9.417409337357112e-16], [8.880384591192304e-9, 9.34048649564176e-16], [9.101597538024707e-9, 9.188520632672027e-16], [9.560692134626085e-9, 8.891965947192503e-16], [1.0549521114464747e-8, 8.327261113415367e-16], [1.2844569997802637e-8, 7.303162544566008e-16], [1.3003566899337474e-8, 7.243509194444688e-16], [1.3164531948868033e-8, 7.184343102022941e-16], [1.3492464244611879e-8, 7.067456802805074e-16], [1.4173038990271684e-8, 6.839358340268729e-16], [1.563890688860168e-8, 6.405009093137034e-16], [1.904115191961993e-8, 5.617311847138445e-16], [1.927252884109557e-8, 5.572262200296073e-16], [1.9506717319351955e-8, 5.527573842044414e-16], [1.9983666018914926e-8, 5.439269424719301e-16], [2.0972833431576672e-8, 5.266870111503187e-16], [2.3100479635133248e-8, 4.938291041394966e-16], [2.338118312855383e-8, 4.898686997063152e-16], [2.366529756635571e-8, 4.85940056874758e-16], [2.4243925569943213e-8, 4.781770391741411e-16], [2.5443970702106946e-8, 4.630210712100075e-16], [2.802520360248549e-8, 4.3413502887408294e-16], [2.836574945604751e-8, 4.306533582343042e-16], [2.871043342328842e-8, 4.2719960985289296e-16], [2.941241744555863e-8, 4.2037498593875577e-16], [2.976981990894098e-8, 4.1700366791810175e-16], [3.013156531764809e-8, 4.1365938715126946e-16], [3.086829670400963e-8, 4.0705107178592827e-16], [3.124339015910733e-8, 4.0378660872427605e-16], [3.162304153009555e-8, 4.0054832596239337e-16], [3.200730620209749e-8, 3.7665300893704826e-16], [3.239624023324393e-8, 3.5032289732280016e-16], [3.2789900362851404e-8, 3.2583340495536057e-16], [3.318834401969929e-8, 3.0305586245188613e-16], [3.399981512791802e-8, 2.6216629420551e-16], [3.441296096007405e-8, 2.438394320163364e-16], [3.483112709831062e-8, 2.2679371803395303e-16], [3.568276504958029e-8, 1.9619375822334032e-16], [3.744901896651934e-8, 1.4682280528260594e-16], [4.124813668187165e-8, 8.222619241112439e-17], [4.1715483213717674e-8, 7.685152982126577e-17], [4.2188124840043225e-8, 7.182817862145943e-17], [4.31495340321955e-8, 6.274505839064252e-17], [4.513857926614866e-8, 4.787941940398711e-17], [4.939596069225256e-8, 2.787966626255563e-17], [5.9153240097337794e-8, 9.452897770398445e-18], [8.483063952683059e-8, 1.0867252105123059e-18], [1.8540354290038183e-7, 9.97075432475465e-21], [3.8469860039456817e-7, 1.2494317884889374e-22], [7.868410402501757e-7, 1.7065309358979625e-24], [1.710292073446249e-6, 1.6181340293224952e-26], [3.529318491792039e-6, 2.0955164727207436e-28], [7.73977439539989e-6, 1.8839370120680714e-30], [0.00001673129559648985, 1.8461150225272594e-32], [0.00003433745727423316, 2.4707419927954727e-34], [0.00007488995565900847, 2.2955922407007352e-36], [0.00015506590012043443, 2.9129857626739057e-38], [0.00034121327324264096, 2.566142013996272e-40], [0.0007401152444387109, 2.4639965251163596e-42], [0.0015240880992689481, 3.2312886652275326e-44], [0.0033353212902574956, 2.9417796180526396e-46], [0.006929510689691693, 3.657806896901021e-48], [0.01419159741459206, 4.95733756655749e-50], [0.030887081759793655, 4.664175922078049e-52], [0.06382043534211161, 5.993460048592078e-54], [0.14013916595742748, 5.346616300722096e-56], [0.30333541274955406, 5.1987328437598245e-58], [0.6233385561835939, 6.903864269621983e-60], [1.3612620841995822, 6.364813758085954e-62], [2.8222585350362737, 8.014112196613801e-64], [5.767872641791862, 1.0998721740646343e-65], [12.52712500037282, 1.0479190196081273e-67], [25.830002564075215, 1.363607851269384e-69], [56.59973124573957, 1.2318277252323321e-71], [117.74475716971382, 1.5198009744132745e-73], [241.45300119804304, 2.0438101009212735e-75], [526.1874904214795, 1.9080646037361843e-77], [1088.6435895653233, 2.4328866274548886e-79], [2393.579196987043, 2.1535223272133314e-81], [5187.686271454467, 2.0777532243898872e-83], [10674.238344058767, 2.737882547831481e-85], [23340.86621108665, 2.5045769145279644e-87], [48454.524074778165, 3.129177474918022e-89], [99155.2047000863, 4.2613096753303195e-91], [215632.18325046447, 4.0286051929984565e-93], [445193.6225259802, 5.201667437325944e-95], [450858.59380183124, 4.821632167174271e-95], [456595.650341111, 4.469362379591173e-95], [468289.6999456804, 3.840153243317344e-95], [492583.9724094826, 2.8350095637296785e-95], [545018.9706177694, 1.5451351558473565e-95], [667228.0628097233, 4.5897641066087915e-96], [675718.363701305, 4.254434664039729e-96], [684316.7014295373, 3.943604483838483e-96], [701843.0038500135, 3.3884129911072492e-96], [738253.7238900302, 2.501510389558456e-96], [816839.9850306079, 1.3633716425771942e-96], [827234.0581215696, 1.263763331060395e-96], [837760.3930476521, 1.1714324304955153e-96], [859216.601808563, 1.0065149489412928e-96], [903791.6634257217, 7.430639678901083e-97], [915292.1736612689, 6.887755076646961e-97], [926939.0248524038, 6.384533774472034e-97], [950679.2223968551, 5.48570153833664e-97], [962776.3644378158, 5.084914657742648e-97], [975027.4394165241, 4.713409378149544e-97], [987434.4060889627, 4.369046377641772e-97], [999999.2481357614, 4.0498426337580903e-97]]} \ No newline at end of file +{"data": [[1e-10, 1.8205270124011523e-14], [1.2067926406393264e-10, 1.7467789253125476e-14], [1.4563484775012443e-10, 1.6760183140000108e-14], [1.7575106248547894e-10, 1.6081241582192926e-14], [2.1209508879201926e-10, 1.5429803401590332e-14], [2.5595479226995335e-10, 1.480475445847155e-14], [3.088843596477485e-10, 1.4205025746021e-14], [3.727593720314938e-10, 1.3629591562030658e-14], [4.498432668969453e-10, 1.30774677546651e-14], [5.428675439323859e-10, 1.2547710039289358e-14], [6.551285568595495e-10, 1.2039412383480574e-14], [7.906043210907701e-10, 1.1551705457461656e-14], [9.540954763499925e-10, 1.1083755147306593e-14], [1.151395399326448e-09, 1.063476112837454e-14], [1.389495494373136e-09, 1.0203955496533107e-14], [1.67683293681101e-09, 9.790601454829511e-15], [2.0235896477251556e-09, 9.393992053363798e-15], [2.4420530945486548e-09, 9.013448980208619e-15], [2.94705170255181e-09, 8.648321401308049e-15], [3.556480306223121e-09, 8.297984847371012e-15], [4.291934260128778e-09, 7.961840145855863e-15], [5.179474679231202e-09, 7.639312396219403e-15], [6.250551925273976e-09, 7.32984998667768e-15], [7.543120063354607e-09, 7.032923650797088e-15], [9.102981779915227e-09, 6.748025562302142e-15], [1.0985411419875573e-08, 6.47466846655193e-15], [1.3257113655901082e-08, 6.2123848471996764e-15], [1.5998587196060573e-08, 5.9607261266103326e-15], [1.9306977288832496e-08, 5.71926189866856e-15], [2.329951810515372e-08, 5.487579192665068e-15], [2.811768697974225e-08, 5.265281767002315e-15], [3.3932217718953296e-08, 5.051989431511621e-15], [4.094915062380419e-08, 4.8473373972226985e-15], [4.9417133613238385e-08, 4.650975652473444e-15], [5.963623316594637e-08, 4.462568364293086e-15], [7.196856730011513e-08, 4.281793304034752e-15], [8.68511373751352e-08, 4.108341296275264e-15], [1.0481131341546853e-07, 3.9419156900395124e-15], [1.2648552168552957e-07, 3.782231851445132e-15], [1.5264179671752304e-07, 3.629016676899726e-15], [1.8420699693267165e-07, 3.4820081260180687e-15], [2.222996482526191e-07, 3.340954773460493e-15], [2.6826957952797275e-07, 3.205615378925891e-15], [3.23745754281764e-07, 3.07575847456401e-15], [3.906939937054613e-07, 2.951161969101294e-15], [4.7148663634573897e-07, 2.8316127680033064e-15], [5.689866029018293e-07, 2.716906409024053e-15], [6.866488450042998e-07, 2.6068467125189042e-15], [8.286427728546842e-07, 2.5012454459230708e-15], [1e-06, 2.3999220018217833e-15]]} \ No newline at end of file From 5eec9ae5d851899d6ce928441692584b127bd82f Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Thu, 29 Aug 2024 22:55:50 -0700 Subject: [PATCH 18/33] adjust initial settings for PTAs. add NANOGrav and PPTA as detectors --- data/files.json | 145 ++++++++++++++++++++++++++++++++++++------------ 1 file changed, 110 insertions(+), 35 deletions(-) diff --git a/data/files.json b/data/files.json index e0d8164..de5b03d 100644 --- a/data/files.json +++ b/data/files.json @@ -11,7 +11,7 @@ "labelpos" : [ [ 4.50e-11, - 1.50e-13 + 1.0e-13 ], [ 4.50e-11, @@ -130,11 +130,11 @@ ], "labelpos" : [ [ - 9.0e-7, + 1.25e-6, 2.0e-20 ], [ - 9.0e-7, + 1.25e-6, 2.0e-19 ], [ @@ -217,11 +217,45 @@ ] ], "params" : {"A" : 1.0}}, -"10" : {"name" : "EPTA", -"datafile" : "data\/detectors\/EPTA.json", +"10" : {"name" : "NANOGrav 15yr", +"datafile" : "data\/detectors\/IPTA.json", +"_comment": " data file does not actually get used", "type" : 0, "default" : 0, "color" : "rgb(0,0,0)", +"plotlabels" : [ + "NANOGrav", + "NANOGrav", + "NANOGrav" +], +"labelpos" : [ +[ + 2.0e-6, + 5.0e-13 + ], +[ + 2.0e-6, + 6.0e-10 + ], +[ + 1.80e-6, + 2.0 + ] +], +"params" : { + "T" : 498610079.99999994, + "deltaT" : 1.20960e6, + "deltatrms" : 1.0e-7, + "Np" : 67.0, + "log10A_irn": -13.0, + "gamma_irn": 2.667 +}}, +"11" : {"name" : "EPTA DR2", +"datafile" : "data\/detectors\/EPTA.json", +"_comment": " data file does not actually get used", +"type" : 0, +"default" : 0, +"color" : "rgb(0,0,0)", "plotlabels" : [ "EPTA", "EPTA", @@ -245,17 +279,53 @@ "T" : 3.155760e8, "deltaT" : 1.20960e6, "deltatrms" : 1.0e-7, - "Np" : 5.0 + "Np" : 25.0, + "log10A_irn": -13.0, + "gamma_irn": 2.667 +}}, +"12" : {"name" : "PPTA DR3", +"datafile" : "data\/detectors\/IPTA.json", +"_comment": " data file does not actually get used", +"type" : 0, +"default" : 0, +"color" : "rgb(0,0,0)", +"plotlabels" : [ + "PPTA", + "PPTA", + "PPTA" +], +"labelpos" : [ +[ + 2.0e-6, + 5.0e-13 + ], +[ + 2.0e-6, + 6.0e-10 + ], +[ + 1.80e-6, + 2.0 + ] +], +"params" : { + "T" : 568036800.0, + "deltaT" : 1.20960e6, + "deltatrms" : 1814400, + "Np" : 32, + "log10A_irn": -13.0, + "gamma_irn": 2.667 }}, -"11" : {"name" : "IPTA", -"datafile" : "data\/detectors\/IPTA.json", +"13" : {"name" : "IPTA DR3", +"datafile" : "data\/detectors\/IPTA.json", +"_comment": " data file does not actually get used", "type" : 0, "default" : 1, "color" : "rgb(0,0,0)", "plotlabels" : [ - "IPTA", - "IPTA", - "IPTA" + "IPTA DR3", + "IPTA DR3", + "IPTA DR3" ], "labelpos" : [ [ @@ -272,13 +342,16 @@ ] ], "params" : { - "T" : 4.733640e8, + "T" : 694267200.0, "deltaT" : 1.20960e6, "deltatrms" : 1.0e-7, - "Np" : 20.0 + "Np" : 120, + "log10A_irn": -13.0, + "gamma_irn": 2.667 }}, -"12" : {"name" : "SKA", -"datafile" : "data\/detectors\/SKA.json", +"14" : {"name" : "SKA", +"datafile" : "data\/detectors\/SKA.json", +"_comment": " data file does not actually get used", "type" : 0, "default" : 0, "color" : "rgb(0,0,0)", @@ -305,9 +378,11 @@ "T" : 6.311520e8, "deltaT" : 1.20960e6, "deltatrms" : 3.0e-8, - "Np" : 100.0 + "Np" : 100.0, + "log10A_irn": -13.0, + "gamma_irn": 2.667 }}, -"13" : {"name" : "eLISA", +"15" : {"name" : "eLISA", "datafile" : "data\/detectors\/eLISA.json", "type" : 2, "default" : 0, @@ -331,7 +406,7 @@ 9.0e-7 ] ]}, -"14" : {"name" : "LISA", +"16" : {"name" : "LISA", "datafile" : "data\/detectors\/LISA.json", "type" : 2, "default" : 1, @@ -355,7 +430,7 @@ 2.0e-10 ] ]}, -"15" : {"name" : "DECIGO", +"17" : {"name" : "DECIGO", "datafile" : "data\/detectors\/DECIGO.json", "type" : 2, "default" : 0, @@ -379,7 +454,7 @@ 6.0e-13 ] ]}, -"16" : {"name" : "BBO", +"18" : {"name" : "BBO", "datafile" : "data\/detectors\/BBO.json", "type" : 2, "default" : 0, @@ -403,7 +478,7 @@ 1.820e-14 ] ]}, -"17" : {"name" : "TAMA", +"19" : {"name" : "TAMA", "datafile" : "data\/detectors\/TAMA.json", "type" : 1, "default" : 0, @@ -427,7 +502,7 @@ 3.0 ] ]}, -"18" : {"name" : "GEO", +"20" : {"name" : "GEO", "datafile" : "data\/detectors\/GEO.json", "type" : 1, "default" : 0, @@ -451,7 +526,7 @@ 1.0 ] ]}, -"19" : {"name" : "LIGO", +"21" : {"name" : "LIGO", "datafile" : "data\/detectors\/LIGO.json", "type" : 1, "default" : 0, @@ -475,7 +550,7 @@ 0.3 ] ]}, -"20" : {"name" : "Advanced LIGO (aLIGO) - O1 sensitivity", +"22" : {"name" : "Advanced LIGO (aLIGO) - O1 sensitivity", "datafile" : "data\/detectors\/aLIGO-O1.json", "type" : 1, "default" : 0, @@ -499,7 +574,7 @@ 0.01 ] ]}, -"21" : {"name" : "Advanced LIGO (aLIGO) - Design Sensitivity", +"23" : {"name" : "Advanced LIGO (aLIGO) - Design Sensitivity", "datafile" : "data\/detectors\/aLIGODesign.json", "type" : 1, "default" : 1, @@ -523,7 +598,7 @@ 0.003 ] ]}, -"22" : {"name" : "LIGO A+ (A+)", +"24" : {"name" : "LIGO A+ (A+)", "datafile" : "data\/detectors\/Aplus.json", "type" : 1, "default" : 0, @@ -547,7 +622,7 @@ 0.0003 ] ]}, -"23" : {"name" : "Virgo", +"25" : {"name" : "Virgo", "datafile" : "data\/detectors\/VIRGO.json", "type" : 1, "default" : 0, @@ -571,7 +646,7 @@ 0.1 ] ]}, -"24" : {"name" : "Advanced Virgo (AdV)", +"26" : {"name" : "Advanced Virgo (AdV)", "datafile" : "data\/detectors\/aVIRGO.json", "type" : 1, "default" : 0, @@ -595,7 +670,7 @@ 0.03 ] ]}, -"25" : {"name" : "KAGRA", +"27" : {"name" : "KAGRA", "datafile" : "data\/detectors\/KAGRA.json", "type" : 1, "default" : 0, @@ -620,7 +695,7 @@ ] ] }, -"26" : {"name" : "Einstein Telescope (ET)", +"28" : {"name" : "Einstein Telescope (ET)", "datafile" : "data\/detectors\/ET.json", "type" : 1, "default" : 0, @@ -644,7 +719,7 @@ 0.0001 ] ]}, -"27" : {"name" : "ALIA", +"29" : {"name" : "ALIA", "datafile" : "data\/detectors\/ALIA.json", "type" : 2, "default" : 0, @@ -668,7 +743,7 @@ 2.0e-10 ] ]}, -"28" : {"name" : "Type IA supernovae", +"30" : {"name" : "Type IA supernovae", "datafile" : "data\/sources\/supernovae_type1A.json", "type" : -2, "default" : 1, @@ -692,7 +767,7 @@ 0.000015 ] ]}, -"29" : {"name" : "GW150914", +"31" : {"name" : "GW150914", "datafile" : "data\/sources\/GW150914.json", "type" : -3, "default" : 1, @@ -716,7 +791,7 @@ 0.15 ] ]}, -"30" : {"name" : "Cosmic Explorer (CE)", +"32" : {"name" : "Cosmic Explorer (CE)", "datafile" : "data\/detectors\/CosmicExplorer.json", "type" : 1, "default" : 0, @@ -740,7 +815,7 @@ 0.00003 ] ]}, -"31" : {"name" : "TianQin", +"33" : {"name" : "TianQin", "datafile" : "data\/detectors\/TianQin.json", "type" : 2, "default" : 0, From 4bdc3171a55cae344027eef465f0636d0be2c844 Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Mon, 30 Sep 2024 10:32:20 -0700 Subject: [PATCH 19/33] add notes; update scalings --- data/files.json | 2 +- js/plot.js | 4 +-- js/scalings.js | 2 +- notes/pta_sensitivity.md | 66 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 70 insertions(+), 4 deletions(-) create mode 100644 notes/pta_sensitivity.md diff --git a/data/files.json b/data/files.json index de5b03d..211c2cf 100644 --- a/data/files.json +++ b/data/files.json @@ -310,7 +310,7 @@ ], "params" : { "T" : 568036800.0, - "deltaT" : 1.20960e6, + "deltaT" : 1.20960e-6, "deltatrms" : 1814400, "Np" : 32, "log10A_irn": -13.0, diff --git a/js/plot.js b/js/plot.js index 0b35195..2c6f574 100644 --- a/js/plot.js +++ b/js/plot.js @@ -478,9 +478,9 @@ $( document ).ready(function() { .on('click', '#plotreset', function() { $('#idplotfmin0,#idplotfmin1,#idplotfmin2').val(0.4e-10.toExponential()); $('#idplotfmax0,#idplotfmax1,#idplotfmax2').val(1.2e6.toExponential()); - $('#idplotymin0,#idplotymin1').val(1e-26.toExponential()); + $('#idplotymin0,#idplotymin1').val(1e-25.toExponential()); $('#idplotymin2').val(1e-15.toExponential()); - $('#idplotymax0').val(1.1e-12.toExponential()); + $('#idplotymax0').val(1e-11.toExponential()); $('#idplotymax1').val(1.1e-6.toExponential()); $('#idplotymax2').val(1.1e3.toExponential()); plotGraph(plotDisplay); diff --git a/js/scalings.js b/js/scalings.js index c606866..3e17799 100644 --- a/js/scalings.js +++ b/js/scalings.js @@ -66,7 +66,7 @@ function transformPTA(params) { var fyr = 1/(365.25*24*3600); var fyr_idx = findClosestIndex(freqs, fyr); var f6mo_idx = findClosestIndex(freqs, fyr*2); - // calculat 1/yr and 1/6mo and then artificially inflate the values + // find 1/yr and 1/6mo and then artificially inflate the values var sqrt_Np_pairs = Math.sqrt(0.5*params.Np*(params.Np-1)); function sqrt_noise_power(params, f) { return (2*params.deltatrms**2*(params.deltaT)+10**params.log10A_irn*(fyr/f)**(params.gamma_irn))**0.5; diff --git a/notes/pta_sensitivity.md b/notes/pta_sensitivity.md new file mode 100644 index 0000000..5ef146e --- /dev/null +++ b/notes/pta_sensitivity.md @@ -0,0 +1,66 @@ +# PTA Background Sensitivity Notes + +This addendum contains notes for the updated pulsar timing array (PTA) sensitivity curves for the gravitational wave background. Note that this addendum has not been formally peer reviewed. + +We will start from the realistic sensitivity curves presented in eq. 92 of *Hazboun et al. (2019)*, [1], + +$$ S_{\text{eff}}(f) = \left( \sum_I \sum_{J > I} \frac{T_{IJ}}{T_{\text{obs}}} \frac{\chi_{IJ}^2}{S_I(f) S_J(f)} \right)^{-1/2}\tag{1}$$ + +where $S_{eff}$ is the effective background sensitivity (strain-noise power spectral density) in units of $\rm strain^2/Hz$. $T_{obs}$ is the total observational time span of the detector, $T_{IJ}$ is the overlapping observational time span between pulsars $I$ and $J$, and $\chi_{IJ}$ are the Hellings Downs coeffients. $S_I$ is the strain-nosie power spectral density for pulsar $I$ defined as, +$$ S_{I}(f) = \frac{1}{\mathcal{N}_I^{-1}(f)\mathcal{R}(f)}=\frac{12\pi^2f^2}{\mathcal{N}_I^{-1}(f)},\tag{2}$$ +where $\mathcal{N}_I^{-1}(f)$ is the noise-weighted inverse transmission function for pulsar $I$ defined by eq. 19 in H19. + +We now wish to incorporate the following simplifying assumptions from *Moore et al. 2015* [2] (and *GW Plotter*): +- the PTA pulsars are uniformly distributed across the sky +- all pulsars have identical noise properties +- all pulsars have been observed for the entire PTA timespan +- all pulsars have the same, fixed observational cadence + +As we will discuss later, we relax the assumption of no red noise. + +Assuming a uniform distribution of pulsars across the sky, we marginalize the square of Hellings and Downs coefficients over this uniform distribution, which yields $\frac{1}{48}$, +$$ S_{\text{eff}}(f) = \left( \sum_I \sum_{J > I} \frac{T_{IJ}}{T_{\text{obs}}} \frac{1}{48\space S_I(f) S_J(f)} \right)^{-1/2}. +\tag{3}$$ + +Assuming that all of the pulsars are observed for the full timespan of the dataset means that their timespan overlaps are each equal to the time span of the data set as well, +$$ S_{\text{eff}}(f) = \left( \sum_I \sum_{J > I} \frac{1}{48\space S_I(f) S_J(f)} \right)^{-1/2}. +\tag{4}$$ + +Assuming that all the pulsars have independent and identically distributed noise properties and are observed with the same cadence,$S_I \approx S_J$, +$$ S_{\text{eff}}(f) = \left(\frac{N_{\rm psr}\left(N_{\rm psr}-1\right)}{2*48 \space S_I(f)^2} \right)^{-1/2}. +\tag{5}$$ + +From Equation 2 it follows that, +$$ S_{\text{eff}}(f) = \left(\frac{96}{N_{\rm psr}\left(N_{\rm psr}-1\right)} \right)^{1/2}\frac{12\pi^2f^2}{\mathcal{N}^{-1}_I(f)}. +\tag{6}$$ + +The noise-weighted inverse transmission function, $\mathcal{N}_I^{-1}(f)$, is a response function which effectively absorbs power as a result of fitting to a timing model. In practice, the computation of $\mathcal{N}_I^{-1}$ is the most expensive part of a sensitivity curve calculation, so we seek to approximate it. For a PTA with red noise(s), $\mathcal{N}_I^{-1}(f)\approx\mathcal{T}_I(f)/P_{N}(f)$, where $\mathcal{T}$ is a transmission function and $P_{N}(f)$ is the power in the noise. See Section 2 in [1] for a more in depth discussion of PTA transmission functions and the validity of this approximation. We can further approximate, +$$\mathcal{T}_I(f)\approx\left(1+\frac{1}{T_{\rm obs}f}\right)^{-6},\tag{7}$$ +as in done in [3]. (See [4] for more details on tranmissions function approximations.) Other than white noise, the dominant source of noise is PTAs is a red noise due to changes in the dispersion measure so we let, +$$P_{N}=P_{\rm WN}+P_{\rm DM} = 2\Delta t\sigma^2 + A_{\rm DM}f^{-\gamma_{\rm DM}}, \tag{8}$$ +where $\sigma$ is the time of arrival uncertainty and $\Delta t$ is the time between observations and the changes in dispersion measure are modeled as red noise and parameterized by a power law with amplitude $A$ and spectral index $\gamma$. + +Thus under the assumptions above, +$$ S_{\text{eff}}(f) \approx 12\pi^2f^2\space P_{N,I}\left(\frac{96}{N_{\rm psr}\left(N_{\rm psr}-1\right)} \right)^{1/2}\left(1+\frac{1}{Tf}\right)^{6}. +\tag{9}$$ + +This can be converted to characteristic strain sensitivity via, +$$h_c=\sqrt{f*S_{eff}}. \tag{10}$$ + + + + + + + + + +## References + +1) Hazboun, J. S., Romano, J. D., Smith, T. L. (2019). Realistic sensitivity curves for pulsar timing arrays. *Physical Review D*, 100(10), 104028. + +2) Moore, C. J., Cole, R. H., & Berry, C. P. L. (2015). Gravitational-wave sensitivity curves. Classical and Quantum Gravity, 32(1), 015014. [arXiv:1408.0740](https://arxiv.org/abs/1408.0740) + +3) Babak, S., Falxa, M., Franciolini, G., & Pieroni, M. (2024). Forecasting the sensitivity of Pulsar Timing Arrays to gravitational wave backgrounds. arXiv e-prints, arXiv:2404.02864. [https://doi.org/10.48550/arXiv.2404.02864](https://doi.org/10.48550/arXiv.2404.02864) + +4) Jennings, Ross (2021). Transmission Functions for Polynomial Fits. NANOGrav Memorandum 006. [https://nanograv.org/sites/default/files/2022-10/NANOGrav-Memo-006.pdf](https://nanograv.org/sites/default/files/2022-10/NANOGrav-Memo-006.pdf) From 2c23c2ae53bb982b0f4b1486550dcf573a9fe90b Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Mon, 30 Sep 2024 20:57:49 -0700 Subject: [PATCH 20/33] add comment; caught typo in scaling --- js/scalings.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/js/scalings.js b/js/scalings.js index 3e17799..8647579 100644 --- a/js/scalings.js +++ b/js/scalings.js @@ -67,21 +67,22 @@ function transformPTA(params) { var fyr_idx = findClosestIndex(freqs, fyr); var f6mo_idx = findClosestIndex(freqs, fyr*2); // find 1/yr and 1/6mo and then artificially inflate the values - var sqrt_Np_pairs = Math.sqrt(0.5*params.Np*(params.Np-1)); + // this is really Np_pairs^(1/4) (and the combinatorial factor of 2 is in the 96) + var Np_pairs = Math.pow(params.Np*(params.Np-1), 0.25); function sqrt_noise_power(params, f) { return (2*params.deltatrms**2*(params.deltaT)+10**params.log10A_irn*(fyr/f)**(params.gamma_irn))**0.5; } - function sky_response(params, f) { + function sqrt_sky_response(params, f) { return (1+1/(f*params.T))**3; } // h_c = Math.sqrt(f*S_eff) return freqs.map(function(f, index) { if (index == fyr_idx) { - return [f, 40*28.645*sqrt_noise_power(params,f)*f**(1.5)/sqrt_Np_pairs*sky_response(params,f)]; + return [f, 40*34.06499*sqrt_noise_power(params,f)*f**(1.5)/Np_pairs*sqrt_sky_response(params,f)]; } else if (index == f6mo_idx) { - return [f, 2.5*28.645*sqrt_noise_power(params,f)*f**(1.5)/sqrt_Np_pairs*sky_response(params,f)]; - } else { - return [f, 28.645*sqrt_noise_power(params,f)*f**(1.5)/sqrt_Np_pairs*sky_response(params, f)]; + return [f, 2.5*34.06499*sqrt_noise_power(params,f)*f**(1.5)/Np_pairs*sqrt_sky_response(params,f)]; + } else {//constant is sqrt(12 pi^2)*96^(0.25) + return [f, 34.06499*sqrt_noise_power(params,f)*f**(1.5)/Np_pairs*sqrt_sky_response(params, f)]; } }); } From ecc3a33c2294ff17d489c97981ce52e1937de05f Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Mon, 30 Sep 2024 21:03:20 -0700 Subject: [PATCH 21/33] trying to reformat markdown --- notes/pta_sensitivity.md | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/notes/pta_sensitivity.md b/notes/pta_sensitivity.md index 5ef146e..17c5464 100644 --- a/notes/pta_sensitivity.md +++ b/notes/pta_sensitivity.md @@ -7,7 +7,9 @@ We will start from the realistic sensitivity curves presented in eq. 92 of *Hazb $$ S_{\text{eff}}(f) = \left( \sum_I \sum_{J > I} \frac{T_{IJ}}{T_{\text{obs}}} \frac{\chi_{IJ}^2}{S_I(f) S_J(f)} \right)^{-1/2}\tag{1}$$ where $S_{eff}$ is the effective background sensitivity (strain-noise power spectral density) in units of $\rm strain^2/Hz$. $T_{obs}$ is the total observational time span of the detector, $T_{IJ}$ is the overlapping observational time span between pulsars $I$ and $J$, and $\chi_{IJ}$ are the Hellings Downs coeffients. $S_I$ is the strain-nosie power spectral density for pulsar $I$ defined as, + $$ S_{I}(f) = \frac{1}{\mathcal{N}_I^{-1}(f)\mathcal{R}(f)}=\frac{12\pi^2f^2}{\mathcal{N}_I^{-1}(f)},\tag{2}$$ + where $\mathcal{N}_I^{-1}(f)$ is the noise-weighted inverse transmission function for pulsar $I$ defined by eq. 19 in H19. We now wish to incorporate the following simplifying assumptions from *Moore et al. 2015* [2] (and *GW Plotter*): @@ -19,34 +21,45 @@ We now wish to incorporate the following simplifying assumptions from *Moore et As we will discuss later, we relax the assumption of no red noise. Assuming a uniform distribution of pulsars across the sky, we marginalize the square of Hellings and Downs coefficients over this uniform distribution, which yields $\frac{1}{48}$, + $$ S_{\text{eff}}(f) = \left( \sum_I \sum_{J > I} \frac{T_{IJ}}{T_{\text{obs}}} \frac{1}{48\space S_I(f) S_J(f)} \right)^{-1/2}. \tag{3}$$ Assuming that all of the pulsars are observed for the full timespan of the dataset means that their timespan overlaps are each equal to the time span of the data set as well, + $$ S_{\text{eff}}(f) = \left( \sum_I \sum_{J > I} \frac{1}{48\space S_I(f) S_J(f)} \right)^{-1/2}. \tag{4}$$ -Assuming that all the pulsars have independent and identically distributed noise properties and are observed with the same cadence,$S_I \approx S_J$, +Assuming that all the pulsars have independent and identically distributed noise properties and are observed with the same cadence,$S_I \approx S_J$, + $$ S_{\text{eff}}(f) = \left(\frac{N_{\rm psr}\left(N_{\rm psr}-1\right)}{2*48 \space S_I(f)^2} \right)^{-1/2}. \tag{5}$$ From Equation 2 it follows that, + $$ S_{\text{eff}}(f) = \left(\frac{96}{N_{\rm psr}\left(N_{\rm psr}-1\right)} \right)^{1/2}\frac{12\pi^2f^2}{\mathcal{N}^{-1}_I(f)}. \tag{6}$$ The noise-weighted inverse transmission function, $\mathcal{N}_I^{-1}(f)$, is a response function which effectively absorbs power as a result of fitting to a timing model. In practice, the computation of $\mathcal{N}_I^{-1}$ is the most expensive part of a sensitivity curve calculation, so we seek to approximate it. For a PTA with red noise(s), $\mathcal{N}_I^{-1}(f)\approx\mathcal{T}_I(f)/P_{N}(f)$, where $\mathcal{T}$ is a transmission function and $P_{N}(f)$ is the power in the noise. See Section 2 in [1] for a more in depth discussion of PTA transmission functions and the validity of this approximation. We can further approximate, + $$\mathcal{T}_I(f)\approx\left(1+\frac{1}{T_{\rm obs}f}\right)^{-6},\tag{7}$$ -as in done in [3]. (See [4] for more details on tranmissions function approximations.) Other than white noise, the dominant source of noise is PTAs is a red noise due to changes in the dispersion measure so we let, + +as in done in [3]. (See [4] for more details on tranmissions function approximations.) In order to simulate the effect of the timing model fit to the solar system barycenter and parallax parameters, under this simplified tranmission function, we can artificially add characteristic insensitivities at frequencies of $1/\rm yr$ and $1/(2\rm yr)$. + +Other than white noise, the dominant source of noise is PTAs is a red noise due to changes in the dispersion measure so we let, + $$P_{N}=P_{\rm WN}+P_{\rm DM} = 2\Delta t\sigma^2 + A_{\rm DM}f^{-\gamma_{\rm DM}}, \tag{8}$$ + where $\sigma$ is the time of arrival uncertainty and $\Delta t$ is the time between observations and the changes in dispersion measure are modeled as red noise and parameterized by a power law with amplitude $A$ and spectral index $\gamma$. -Thus under the assumptions above, +Thus under the assumptions above, + $$ S_{\text{eff}}(f) \approx 12\pi^2f^2\space P_{N,I}\left(\frac{96}{N_{\rm psr}\left(N_{\rm psr}-1\right)} \right)^{1/2}\left(1+\frac{1}{Tf}\right)^{6}. \tag{9}$$ This can be converted to characteristic strain sensitivity via, -$$h_c=\sqrt{f*S_{eff}}. \tag{10}$$ +$$h_c=\sqrt{f*S_{eff}}. \tag{10}$$ From 9e8165f5a69a5ae01de13ec1109fb062d2556c2f Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Mon, 30 Sep 2024 21:13:42 -0700 Subject: [PATCH 22/33] trying to reformat markdown --- notes/pta_sensitivity.md | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/notes/pta_sensitivity.md b/notes/pta_sensitivity.md index 17c5464..f86dad3 100644 --- a/notes/pta_sensitivity.md +++ b/notes/pta_sensitivity.md @@ -1,5 +1,7 @@ # PTA Background Sensitivity Notes +### Jeremy G. Baier, 2024 + This addendum contains notes for the updated pulsar timing array (PTA) sensitivity curves for the gravitational wave background. Note that this addendum has not been formally peer reviewed. We will start from the realistic sensitivity curves presented in eq. 92 of *Hazboun et al. (2019)*, [1], @@ -20,27 +22,26 @@ We now wish to incorporate the following simplifying assumptions from *Moore et As we will discuss later, we relax the assumption of no red noise. -Assuming a uniform distribution of pulsars across the sky, we marginalize the square of Hellings and Downs coefficients over this uniform distribution, which yields $\frac{1}{48}$, - -$$ S_{\text{eff}}(f) = \left( \sum_I \sum_{J > I} \frac{T_{IJ}}{T_{\text{obs}}} \frac{1}{48\space S_I(f) S_J(f)} \right)^{-1/2}. -\tag{3}$$ - -Assuming that all of the pulsars are observed for the full timespan of the dataset means that their timespan overlaps are each equal to the time span of the data set as well, +Assuming a uniform distribution of pulsars across the sky, we marginalize the square of Hellings and Downs coefficients over this uniform distribution, which yields $\frac{1}{48}$. Next, we assume that all the pulsars in the PTA are observed for the full timespan of the dataset, meaning that their overlapping timespans are each equal to the timespan of the data set as well, $$ S_{\text{eff}}(f) = \left( \sum_I \sum_{J > I} \frac{1}{48\space S_I(f) S_J(f)} \right)^{-1/2}. -\tag{4}$$ +\tag{3}$$ -Assuming that all the pulsars have independent and identically distributed noise properties and are observed with the same cadence,$S_I \approx S_J$, +Assuming that all the pulsars have independent and identically distributed noise properties and are observed with the same cadence, $S_I \approx S_J$, so that, $$ S_{\text{eff}}(f) = \left(\frac{N_{\rm psr}\left(N_{\rm psr}-1\right)}{2*48 \space S_I(f)^2} \right)^{-1/2}. -\tag{5}$$ +\tag{4}$$ From Equation 2 it follows that, $$ S_{\text{eff}}(f) = \left(\frac{96}{N_{\rm psr}\left(N_{\rm psr}-1\right)} \right)^{1/2}\frac{12\pi^2f^2}{\mathcal{N}^{-1}_I(f)}. -\tag{6}$$ +\tag{5}$$ + +The noise-weighted inverse transmission function, $\mathcal{N}_I^{-1}(f)$, is a response function which effectively absorbs power as a result of fitting to a timing model. In practice, the computation of $\mathcal{N}_I^{-1}$ is the most expensive part of a sensitivity curve calculation, so we seek to approximate it. For a PTA with red noise(s), + +$$\mathcal{N}_I^{-1}(f)\approx\mathcal{T}_I(f)/P_{N}(f), \tag{6}$$ -The noise-weighted inverse transmission function, $\mathcal{N}_I^{-1}(f)$, is a response function which effectively absorbs power as a result of fitting to a timing model. In practice, the computation of $\mathcal{N}_I^{-1}$ is the most expensive part of a sensitivity curve calculation, so we seek to approximate it. For a PTA with red noise(s), $\mathcal{N}_I^{-1}(f)\approx\mathcal{T}_I(f)/P_{N}(f)$, where $\mathcal{T}$ is a transmission function and $P_{N}(f)$ is the power in the noise. See Section 2 in [1] for a more in depth discussion of PTA transmission functions and the validity of this approximation. We can further approximate, +where $\mathcal{T}$ is a transmission function and $P_{N}(f)$ is the power in the noise. See Section 2 in [1] for a more in depth discussion of PTA transmission functions and the validity of this approximation. We can further approximate, $$\mathcal{T}_I(f)\approx\left(1+\frac{1}{T_{\rm obs}f}\right)^{-6},\tag{7}$$ From ee5e77ded72dc57aade0f81f4754dc5d1be79def Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Mon, 30 Sep 2024 21:26:44 -0700 Subject: [PATCH 23/33] trying to reformat markdown --- notes/pta_sensitivity.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/notes/pta_sensitivity.md b/notes/pta_sensitivity.md index f86dad3..0cbbc47 100644 --- a/notes/pta_sensitivity.md +++ b/notes/pta_sensitivity.md @@ -39,11 +39,11 @@ $$ S_{\text{eff}}(f) = \left(\frac{96}{N_{\rm psr}\left(N_{\rm psr}-1\right)} \r The noise-weighted inverse transmission function, $\mathcal{N}_I^{-1}(f)$, is a response function which effectively absorbs power as a result of fitting to a timing model. In practice, the computation of $\mathcal{N}_I^{-1}$ is the most expensive part of a sensitivity curve calculation, so we seek to approximate it. For a PTA with red noise(s), -$$\mathcal{N}_I^{-1}(f)\approx\mathcal{T}_I(f)/P_{N}(f), \tag{6}$$ +$$\mathcal{N}_{I}^{-1}(f) \approx \frac{\mathcal{T}_{I}(f)}{P_{N}(f)}, \tag{6}$$ where $\mathcal{T}$ is a transmission function and $P_{N}(f)$ is the power in the noise. See Section 2 in [1] for a more in depth discussion of PTA transmission functions and the validity of this approximation. We can further approximate, -$$\mathcal{T}_I(f)\approx\left(1+\frac{1}{T_{\rm obs}f}\right)^{-6},\tag{7}$$ +$$\mathcal{T}_{I}(f) \approx \left(1+\frac{1}{T_{\rm obs}f}\right)^{-6},\tag{7}$$ as in done in [3]. (See [4] for more details on tranmissions function approximations.) In order to simulate the effect of the timing model fit to the solar system barycenter and parallax parameters, under this simplified tranmission function, we can artificially add characteristic insensitivities at frequencies of $1/\rm yr$ and $1/(2\rm yr)$. From ab233987fc0a5aa150500187e6337f4d1c8a7d8a Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Mon, 30 Sep 2024 21:31:30 -0700 Subject: [PATCH 24/33] trying to reformat markdown --- notes/pta_sensitivity.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/notes/pta_sensitivity.md b/notes/pta_sensitivity.md index 0cbbc47..5a9844d 100644 --- a/notes/pta_sensitivity.md +++ b/notes/pta_sensitivity.md @@ -39,17 +39,20 @@ $$ S_{\text{eff}}(f) = \left(\frac{96}{N_{\rm psr}\left(N_{\rm psr}-1\right)} \r The noise-weighted inverse transmission function, $\mathcal{N}_I^{-1}(f)$, is a response function which effectively absorbs power as a result of fitting to a timing model. In practice, the computation of $\mathcal{N}_I^{-1}$ is the most expensive part of a sensitivity curve calculation, so we seek to approximate it. For a PTA with red noise(s), -$$\mathcal{N}_{I}^{-1}(f) \approx \frac{\mathcal{T}_{I}(f)}{P_{N}(f)}, \tag{6}$$ +$$\mathcal{N}_{I}^{-1}(f) \approx \frac{\mathcal{T}_{I}(f)}{P_{N}(f)}, +\tag{6}$$ where $\mathcal{T}$ is a transmission function and $P_{N}(f)$ is the power in the noise. See Section 2 in [1] for a more in depth discussion of PTA transmission functions and the validity of this approximation. We can further approximate, -$$\mathcal{T}_{I}(f) \approx \left(1+\frac{1}{T_{\rm obs}f}\right)^{-6},\tag{7}$$ +$$\mathcal{T}_{I}(f) \approx \left(1+\frac{1}{T_{\rm obs}f}\right)^{-6}, +\tag{7}$$ as in done in [3]. (See [4] for more details on tranmissions function approximations.) In order to simulate the effect of the timing model fit to the solar system barycenter and parallax parameters, under this simplified tranmission function, we can artificially add characteristic insensitivities at frequencies of $1/\rm yr$ and $1/(2\rm yr)$. Other than white noise, the dominant source of noise is PTAs is a red noise due to changes in the dispersion measure so we let, -$$P_{N}=P_{\rm WN}+P_{\rm DM} = 2\Delta t\sigma^2 + A_{\rm DM}f^{-\gamma_{\rm DM}}, \tag{8}$$ +$$P_{N}=P_{\rm WN}+P_{\rm DM} = 2\Delta t\sigma^2 + A_{\rm DM}f^{-\gamma_{\rm DM}}, +\tag{8}$$ where $\sigma$ is the time of arrival uncertainty and $\Delta t$ is the time between observations and the changes in dispersion measure are modeled as red noise and parameterized by a power law with amplitude $A$ and spectral index $\gamma$. From e0728e63768ea9a8ce2cb7667c152a07ac2b3a5f Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Mon, 30 Sep 2024 21:38:01 -0700 Subject: [PATCH 25/33] trying to reformat markdown --- notes/pta_sensitivity.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/notes/pta_sensitivity.md b/notes/pta_sensitivity.md index 5a9844d..aa60c2a 100644 --- a/notes/pta_sensitivity.md +++ b/notes/pta_sensitivity.md @@ -37,12 +37,12 @@ From Equation 2 it follows that, $$ S_{\text{eff}}(f) = \left(\frac{96}{N_{\rm psr}\left(N_{\rm psr}-1\right)} \right)^{1/2}\frac{12\pi^2f^2}{\mathcal{N}^{-1}_I(f)}. \tag{5}$$ -The noise-weighted inverse transmission function, $\mathcal{N}_I^{-1}(f)$, is a response function which effectively absorbs power as a result of fitting to a timing model. In practice, the computation of $\mathcal{N}_I^{-1}$ is the most expensive part of a sensitivity curve calculation, so we seek to approximate it. For a PTA with red noise(s), +The noise-weighted inverse transmission function, $\mathcal{N}^{-1}_{I}(f)$, is a response function which effectively absorbs power as a result of fitting to a timing model. In practice, the computation of $\mathcal{N}^{-1}_{I}(f)$ is the most expensive part of a sensitivity curve calculation, so we seek to approximate it. For a PTA with red noise(s), -$$\mathcal{N}_{I}^{-1}(f) \approx \frac{\mathcal{T}_{I}(f)}{P_{N}(f)}, +$$\mathcal{N}^{-1}_{I}(f) \approx \frac{\mathcal{T}_{I}(f)}{P_{\rm N}(f)}, \tag{6}$$ -where $\mathcal{T}$ is a transmission function and $P_{N}(f)$ is the power in the noise. See Section 2 in [1] for a more in depth discussion of PTA transmission functions and the validity of this approximation. We can further approximate, +where $\mathcal{T}$ is a transmission function and $P_{\rm N}(f)$ is the power in the noise. See Section 2 in [1] for a more in depth discussion of PTA transmission functions and the validity of this approximation. We can further approximate, $$\mathcal{T}_{I}(f) \approx \left(1+\frac{1}{T_{\rm obs}f}\right)^{-6}, \tag{7}$$ From ffa015045abd1d5068c75dbf21daa713a4e37cf0 Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Mon, 30 Sep 2024 21:39:10 -0700 Subject: [PATCH 26/33] trying to reformat markdown --- notes/pta_sensitivity.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/notes/pta_sensitivity.md b/notes/pta_sensitivity.md index aa60c2a..7012146 100644 --- a/notes/pta_sensitivity.md +++ b/notes/pta_sensitivity.md @@ -39,27 +39,27 @@ $$ S_{\text{eff}}(f) = \left(\frac{96}{N_{\rm psr}\left(N_{\rm psr}-1\right)} \r The noise-weighted inverse transmission function, $\mathcal{N}^{-1}_{I}(f)$, is a response function which effectively absorbs power as a result of fitting to a timing model. In practice, the computation of $\mathcal{N}^{-1}_{I}(f)$ is the most expensive part of a sensitivity curve calculation, so we seek to approximate it. For a PTA with red noise(s), -$$\mathcal{N}^{-1}_{I}(f) \approx \frac{\mathcal{T}_{I}(f)}{P_{\rm N}(f)}, -\tag{6}$$ +$$ \mathcal{N}^{-1}_{I}(f) \approx \frac{\mathcal{T}_{I}(f)}{P_{\rm N}(f)}, +\tag{6} $$ where $\mathcal{T}$ is a transmission function and $P_{\rm N}(f)$ is the power in the noise. See Section 2 in [1] for a more in depth discussion of PTA transmission functions and the validity of this approximation. We can further approximate, -$$\mathcal{T}_{I}(f) \approx \left(1+\frac{1}{T_{\rm obs}f}\right)^{-6}, -\tag{7}$$ +$$ \mathcal{T}_{I}(f) \approx \left(1+\frac{1}{T_{\rm obs}f}\right)^{-6}, +\tag{7} $$ as in done in [3]. (See [4] for more details on tranmissions function approximations.) In order to simulate the effect of the timing model fit to the solar system barycenter and parallax parameters, under this simplified tranmission function, we can artificially add characteristic insensitivities at frequencies of $1/\rm yr$ and $1/(2\rm yr)$. Other than white noise, the dominant source of noise is PTAs is a red noise due to changes in the dispersion measure so we let, -$$P_{N}=P_{\rm WN}+P_{\rm DM} = 2\Delta t\sigma^2 + A_{\rm DM}f^{-\gamma_{\rm DM}}, -\tag{8}$$ +$$ P_{N}=P_{\rm WN}+P_{\rm DM} = 2\Delta t\sigma^2 + A_{\rm DM}f^{-\gamma_{\rm DM}}, +\tag{8} $$ where $\sigma$ is the time of arrival uncertainty and $\Delta t$ is the time between observations and the changes in dispersion measure are modeled as red noise and parameterized by a power law with amplitude $A$ and spectral index $\gamma$. Thus under the assumptions above, $$ S_{\text{eff}}(f) \approx 12\pi^2f^2\space P_{N,I}\left(\frac{96}{N_{\rm psr}\left(N_{\rm psr}-1\right)} \right)^{1/2}\left(1+\frac{1}{Tf}\right)^{6}. -\tag{9}$$ +\tag{9} $$ This can be converted to characteristic strain sensitivity via, From 38eae6d2cfbbe1d4a8158896c824372589eb2150 Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Mon, 30 Sep 2024 21:44:20 -0700 Subject: [PATCH 27/33] trying to reformat markdown --- notes/pta_sensitivity.md | 57 +++++++++++++++++++++++++++------------- 1 file changed, 39 insertions(+), 18 deletions(-) diff --git a/notes/pta_sensitivity.md b/notes/pta_sensitivity.md index 7012146..6c8de33 100644 --- a/notes/pta_sensitivity.md +++ b/notes/pta_sensitivity.md @@ -6,11 +6,15 @@ This addendum contains notes for the updated pulsar timing array (PTA) sensitivi We will start from the realistic sensitivity curves presented in eq. 92 of *Hazboun et al. (2019)*, [1], -$$ S_{\text{eff}}(f) = \left( \sum_I \sum_{J > I} \frac{T_{IJ}}{T_{\text{obs}}} \frac{\chi_{IJ}^2}{S_I(f) S_J(f)} \right)^{-1/2}\tag{1}$$ +$$ +S_{\text{eff}}(f) = \left( \sum_I \sum_{J > I} \frac{T_{IJ}}{T_{\text{obs}}} \frac{\chi_{IJ}^2}{S_I(f) S_J(f)} \right)^{-1/2}\tag{1} +$$ where $S_{eff}$ is the effective background sensitivity (strain-noise power spectral density) in units of $\rm strain^2/Hz$. $T_{obs}$ is the total observational time span of the detector, $T_{IJ}$ is the overlapping observational time span between pulsars $I$ and $J$, and $\chi_{IJ}$ are the Hellings Downs coeffients. $S_I$ is the strain-nosie power spectral density for pulsar $I$ defined as, -$$ S_{I}(f) = \frac{1}{\mathcal{N}_I^{-1}(f)\mathcal{R}(f)}=\frac{12\pi^2f^2}{\mathcal{N}_I^{-1}(f)},\tag{2}$$ +$$ +S_{I}(f) = \frac{1}{\mathcal{N}_I^{-1}(f)\mathcal{R}(f)}=\frac{12\pi^2f^2}{\mathcal{N}_I^{-1}(f)}\,\tag{2} +$$ where $\mathcal{N}_I^{-1}(f)$ is the noise-weighted inverse transmission function for pulsar $I$ defined by eq. 19 in H19. @@ -24,46 +28,63 @@ As we will discuss later, we relax the assumption of no red noise. Assuming a uniform distribution of pulsars across the sky, we marginalize the square of Hellings and Downs coefficients over this uniform distribution, which yields $\frac{1}{48}$. Next, we assume that all the pulsars in the PTA are observed for the full timespan of the dataset, meaning that their overlapping timespans are each equal to the timespan of the data set as well, -$$ S_{\text{eff}}(f) = \left( \sum_I \sum_{J > I} \frac{1}{48\space S_I(f) S_J(f)} \right)^{-1/2}. -\tag{3}$$ +$$ +S_{\text{eff}}(f) = \left( \sum_I \sum_{J > I} \frac{1}{48\space S_I(f) S_J(f)} \right)^{-1/2}. +\tag{3} +$$ Assuming that all the pulsars have independent and identically distributed noise properties and are observed with the same cadence, $S_I \approx S_J$, so that, -$$ S_{\text{eff}}(f) = \left(\frac{N_{\rm psr}\left(N_{\rm psr}-1\right)}{2*48 \space S_I(f)^2} \right)^{-1/2}. -\tag{4}$$ +$$ +S_{\text{eff}}(f) = \left(\frac{N_{\rm psr}\left(N_{\rm psr}-1\right)}{2*48 \space S_I(f)^2} \right)^{-1/2}. +\tag{4} +$$ From Equation 2 it follows that, -$$ S_{\text{eff}}(f) = \left(\frac{96}{N_{\rm psr}\left(N_{\rm psr}-1\right)} \right)^{1/2}\frac{12\pi^2f^2}{\mathcal{N}^{-1}_I(f)}. -\tag{5}$$ +$$ +S_{\text{eff}}(f) = \left(\frac{96}{N_{\rm psr}\left(N_{\rm psr}-1\right)} \right)^{1/2}\frac{12\pi^2f^2}{\mathcal{N}^{-1}_I(f)}. +\tag{5} +$$ -The noise-weighted inverse transmission function, $\mathcal{N}^{-1}_{I}(f)$, is a response function which effectively absorbs power as a result of fitting to a timing model. In practice, the computation of $\mathcal{N}^{-1}_{I}(f)$ is the most expensive part of a sensitivity curve calculation, so we seek to approximate it. For a PTA with red noise(s), +The noise-weighted inverse transmission function, $\mathcal{N}^{-1}_{I}(f),$ is a response function which effectively absorbs power as a result of fitting to a timing model. In practice, the computation of $\mathcal{N}^{-1}_{I}(f)$ is the most expensive part of a sensitivity curve calculation, so we seek to approximate it. For a PTA with red noise(s), -$$ \mathcal{N}^{-1}_{I}(f) \approx \frac{\mathcal{T}_{I}(f)}{P_{\rm N}(f)}, -\tag{6} $$ +$$ +\mathcal{N}^{-1}_{I}(f) \approx \frac{\mathcal{T}_{I}(f)}{P_{\rm N}(f)}, +\tag{6} +$$ where $\mathcal{T}$ is a transmission function and $P_{\rm N}(f)$ is the power in the noise. See Section 2 in [1] for a more in depth discussion of PTA transmission functions and the validity of this approximation. We can further approximate, -$$ \mathcal{T}_{I}(f) \approx \left(1+\frac{1}{T_{\rm obs}f}\right)^{-6}, -\tag{7} $$ +$$ +\mathcal{T}_{I}(f) \approx \left(1+\frac{1}{T_{\rm obs}f}\right)^{-6}, +\tag{7} +$$ as in done in [3]. (See [4] for more details on tranmissions function approximations.) In order to simulate the effect of the timing model fit to the solar system barycenter and parallax parameters, under this simplified tranmission function, we can artificially add characteristic insensitivities at frequencies of $1/\rm yr$ and $1/(2\rm yr)$. Other than white noise, the dominant source of noise is PTAs is a red noise due to changes in the dispersion measure so we let, -$$ P_{N}=P_{\rm WN}+P_{\rm DM} = 2\Delta t\sigma^2 + A_{\rm DM}f^{-\gamma_{\rm DM}}, -\tag{8} $$ +$$ +P_{N}=P_{\rm WN}+P_{\rm DM} = 2\Delta t\sigma^2 + A_{\rm DM}f^{-\gamma_{\rm DM}}, +\tag{8} +$$ where $\sigma$ is the time of arrival uncertainty and $\Delta t$ is the time between observations and the changes in dispersion measure are modeled as red noise and parameterized by a power law with amplitude $A$ and spectral index $\gamma$. Thus under the assumptions above, -$$ S_{\text{eff}}(f) \approx 12\pi^2f^2\space P_{N,I}\left(\frac{96}{N_{\rm psr}\left(N_{\rm psr}-1\right)} \right)^{1/2}\left(1+\frac{1}{Tf}\right)^{6}. -\tag{9} $$ +$$ +S_{\text{eff}}(f) \approx 12\pi^2f^2\space P_{N,I}\left(\frac{96}{N_{\rm psr}\left(N_{\rm psr}-1\right)} \right)^{1/2}\left(1+\frac{1}{Tf}\right)^{6}. +\tag{9} +$$ This can be converted to characteristic strain sensitivity via, -$$h_c=\sqrt{f*S_{eff}}. \tag{10}$$ +$$ +h_c=\sqrt{f*S_{eff}}. +\tag{10} +$$ From 56e78b177a86765fc9c292a01b409b1f8e7f8c56 Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Mon, 30 Sep 2024 21:48:06 -0700 Subject: [PATCH 28/33] trying to reformat markdown --- notes/pta_sensitivity.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/notes/pta_sensitivity.md b/notes/pta_sensitivity.md index 6c8de33..8e68b94 100644 --- a/notes/pta_sensitivity.md +++ b/notes/pta_sensitivity.md @@ -47,10 +47,10 @@ S_{\text{eff}}(f) = \left(\frac{96}{N_{\rm psr}\left(N_{\rm psr}-1\right)} \righ \tag{5} $$ -The noise-weighted inverse transmission function, $\mathcal{N}^{-1}_{I}(f),$ is a response function which effectively absorbs power as a result of fitting to a timing model. In practice, the computation of $\mathcal{N}^{-1}_{I}(f)$ is the most expensive part of a sensitivity curve calculation, so we seek to approximate it. For a PTA with red noise(s), +The noise-weighted inverse transmission function, $\mathcal{N}^{-1}_I(f)$, is a response function which effectively absorbs power as a result of fitting to a timing model. In practice, the computation of $\mathcal{N}^{-1}_I(f)$ is the most expensive part of a sensitivity curve calculation, so we seek to approximate it. For a PTA with red noise(s), $$ -\mathcal{N}^{-1}_{I}(f) \approx \frac{\mathcal{T}_{I}(f)}{P_{\rm N}(f)}, +\mathcal{N}^{-1}_I(f) \approx \frac{\mathcal{T}_I(f)}{P_{\rm N}(f)}, \tag{6} $$ From d692f7dac3fbdc0d9bf6ea1dc20be60cc8fe52c4 Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Mon, 30 Sep 2024 21:49:12 -0700 Subject: [PATCH 29/33] trying to reformat markdown --- notes/pta_sensitivity.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/notes/pta_sensitivity.md b/notes/pta_sensitivity.md index 8e68b94..42f5148 100644 --- a/notes/pta_sensitivity.md +++ b/notes/pta_sensitivity.md @@ -50,7 +50,7 @@ $$ The noise-weighted inverse transmission function, $\mathcal{N}^{-1}_I(f)$, is a response function which effectively absorbs power as a result of fitting to a timing model. In practice, the computation of $\mathcal{N}^{-1}_I(f)$ is the most expensive part of a sensitivity curve calculation, so we seek to approximate it. For a PTA with red noise(s), $$ -\mathcal{N}^{-1}_I(f) \approx \frac{\mathcal{T}_I(f)}{P_{\rm N}(f)}, +\mathcal{N}^{-1}_I(f) \approx \frac{\mathcal{T}_{I}(f)}{P_{\rm N}(f)}, \tag{6} $$ From 51d3e4a6a42a10ebb9e0c867718135e8c28ac233 Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Mon, 30 Sep 2024 21:52:01 -0700 Subject: [PATCH 30/33] trying to reformat markdown --- notes/pta_sensitivity.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/notes/pta_sensitivity.md b/notes/pta_sensitivity.md index 42f5148..b842666 100644 --- a/notes/pta_sensitivity.md +++ b/notes/pta_sensitivity.md @@ -50,14 +50,14 @@ $$ The noise-weighted inverse transmission function, $\mathcal{N}^{-1}_I(f)$, is a response function which effectively absorbs power as a result of fitting to a timing model. In practice, the computation of $\mathcal{N}^{-1}_I(f)$ is the most expensive part of a sensitivity curve calculation, so we seek to approximate it. For a PTA with red noise(s), $$ -\mathcal{N}^{-1}_I(f) \approx \frac{\mathcal{T}_{I}(f)}{P_{\rm N}(f)}, +\mathcal{N}^{-1}_I(f) \approx \frac{\mathcal{T}_I(f)}{P_{\rm N}(f)}\, \tag{6} $$ where $\mathcal{T}$ is a transmission function and $P_{\rm N}(f)$ is the power in the noise. See Section 2 in [1] for a more in depth discussion of PTA transmission functions and the validity of this approximation. We can further approximate, $$ -\mathcal{T}_{I}(f) \approx \left(1+\frac{1}{T_{\rm obs}f}\right)^{-6}, +\mathcal{T}_I(f) \approx \left(1+\frac{1}{T_{\rm obs}f}\right)^{-6}\, \tag{7} $$ @@ -66,7 +66,7 @@ as in done in [3]. (See [4] for more details on tranmissions function approximat Other than white noise, the dominant source of noise is PTAs is a red noise due to changes in the dispersion measure so we let, $$ -P_{N}=P_{\rm WN}+P_{\rm DM} = 2\Delta t\sigma^2 + A_{\rm DM}f^{-\gamma_{\rm DM}}, +P_{N}=P_{\rm WN}+P_{\rm DM} = 2\Delta t\sigma^2 + A_{\rm DM}f^{-\gamma_{\rm DM}}\, \tag{8} $$ From c7eda4d84006ea8cdca423450ee53b52863c80a6 Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Mon, 30 Sep 2024 21:55:03 -0700 Subject: [PATCH 31/33] trying to reformat markdown --- notes/pta_sensitivity.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/notes/pta_sensitivity.md b/notes/pta_sensitivity.md index b842666..124e1c1 100644 --- a/notes/pta_sensitivity.md +++ b/notes/pta_sensitivity.md @@ -50,14 +50,14 @@ $$ The noise-weighted inverse transmission function, $\mathcal{N}^{-1}_I(f)$, is a response function which effectively absorbs power as a result of fitting to a timing model. In practice, the computation of $\mathcal{N}^{-1}_I(f)$ is the most expensive part of a sensitivity curve calculation, so we seek to approximate it. For a PTA with red noise(s), $$ -\mathcal{N}^{-1}_I(f) \approx \frac{\mathcal{T}_I(f)}{P_{\rm N}(f)}\, +\mathcal{N}^{-1}_I(f) \approx \frac{\mathcal{T}_I(f)}{P_{\rm N}(f)}\, \tag{6} $$ where $\mathcal{T}$ is a transmission function and $P_{\rm N}(f)$ is the power in the noise. See Section 2 in [1] for a more in depth discussion of PTA transmission functions and the validity of this approximation. We can further approximate, $$ -\mathcal{T}_I(f) \approx \left(1+\frac{1}{T_{\rm obs}f}\right)^{-6}\, +\mathcal{T}_I(f) \approx \left(1+\frac{1}{T_{\rm obs}f}\right)^{-6}\, \tag{7} $$ @@ -66,7 +66,7 @@ as in done in [3]. (See [4] for more details on tranmissions function approximat Other than white noise, the dominant source of noise is PTAs is a red noise due to changes in the dispersion measure so we let, $$ -P_{N}=P_{\rm WN}+P_{\rm DM} = 2\Delta t\sigma^2 + A_{\rm DM}f^{-\gamma_{\rm DM}}\, +P_{N}=P_{\rm WN}+P_{\rm DM} = 2\Delta t\sigma^2 + A_{\rm DM}f^{-\gamma_{\rm DM}}\, \tag{8} $$ From 713db1cb410ef4897fafed1c922625c0b55ddd3a Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Mon, 30 Sep 2024 22:00:00 -0700 Subject: [PATCH 32/33] trying to reformat markdown --- notes/pta_sensitivity.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/notes/pta_sensitivity.md b/notes/pta_sensitivity.md index 124e1c1..8f6bd52 100644 --- a/notes/pta_sensitivity.md +++ b/notes/pta_sensitivity.md @@ -49,10 +49,10 @@ $$ The noise-weighted inverse transmission function, $\mathcal{N}^{-1}_I(f)$, is a response function which effectively absorbs power as a result of fitting to a timing model. In practice, the computation of $\mathcal{N}^{-1}_I(f)$ is the most expensive part of a sensitivity curve calculation, so we seek to approximate it. For a PTA with red noise(s), -$$ -\mathcal{N}^{-1}_I(f) \approx \frac{\mathcal{T}_I(f)}{P_{\rm N}(f)}\, +```math +\mathcal{T}_I(f) \approx \left(1+\frac{1}{T_{\rm obs}f}\right)^{-6} \tag{6} -$$ +``` where $\mathcal{T}$ is a transmission function and $P_{\rm N}(f)$ is the power in the noise. See Section 2 in [1] for a more in depth discussion of PTA transmission functions and the validity of this approximation. We can further approximate, From 2943beb159258062e5f5a343cb9c0b0cfeb38b47 Mon Sep 17 00:00:00 2001 From: Jeremy Baier Date: Mon, 30 Sep 2024 22:03:00 -0700 Subject: [PATCH 33/33] trying to reformat markdown --- notes/pta_sensitivity.md | 46 +++++++++++++++++----------------------- 1 file changed, 20 insertions(+), 26 deletions(-) diff --git a/notes/pta_sensitivity.md b/notes/pta_sensitivity.md index 8f6bd52..a6bb129 100644 --- a/notes/pta_sensitivity.md +++ b/notes/pta_sensitivity.md @@ -6,15 +6,15 @@ This addendum contains notes for the updated pulsar timing array (PTA) sensitivi We will start from the realistic sensitivity curves presented in eq. 92 of *Hazboun et al. (2019)*, [1], -$$ +```math S_{\text{eff}}(f) = \left( \sum_I \sum_{J > I} \frac{T_{IJ}}{T_{\text{obs}}} \frac{\chi_{IJ}^2}{S_I(f) S_J(f)} \right)^{-1/2}\tag{1} -$$ +``` where $S_{eff}$ is the effective background sensitivity (strain-noise power spectral density) in units of $\rm strain^2/Hz$. $T_{obs}$ is the total observational time span of the detector, $T_{IJ}$ is the overlapping observational time span between pulsars $I$ and $J$, and $\chi_{IJ}$ are the Hellings Downs coeffients. $S_I$ is the strain-nosie power spectral density for pulsar $I$ defined as, -$$ +```math S_{I}(f) = \frac{1}{\mathcal{N}_I^{-1}(f)\mathcal{R}(f)}=\frac{12\pi^2f^2}{\mathcal{N}_I^{-1}(f)}\,\tag{2} -$$ +``` where $\mathcal{N}_I^{-1}(f)$ is the noise-weighted inverse transmission function for pulsar $I$ defined by eq. 19 in H19. @@ -28,69 +28,63 @@ As we will discuss later, we relax the assumption of no red noise. Assuming a uniform distribution of pulsars across the sky, we marginalize the square of Hellings and Downs coefficients over this uniform distribution, which yields $\frac{1}{48}$. Next, we assume that all the pulsars in the PTA are observed for the full timespan of the dataset, meaning that their overlapping timespans are each equal to the timespan of the data set as well, -$$ +```math S_{\text{eff}}(f) = \left( \sum_I \sum_{J > I} \frac{1}{48\space S_I(f) S_J(f)} \right)^{-1/2}. \tag{3} -$$ +``` Assuming that all the pulsars have independent and identically distributed noise properties and are observed with the same cadence, $S_I \approx S_J$, so that, -$$ +```math S_{\text{eff}}(f) = \left(\frac{N_{\rm psr}\left(N_{\rm psr}-1\right)}{2*48 \space S_I(f)^2} \right)^{-1/2}. \tag{4} -$$ +``` From Equation 2 it follows that, -$$ +```math S_{\text{eff}}(f) = \left(\frac{96}{N_{\rm psr}\left(N_{\rm psr}-1\right)} \right)^{1/2}\frac{12\pi^2f^2}{\mathcal{N}^{-1}_I(f)}. \tag{5} -$$ +``` The noise-weighted inverse transmission function, $\mathcal{N}^{-1}_I(f)$, is a response function which effectively absorbs power as a result of fitting to a timing model. In practice, the computation of $\mathcal{N}^{-1}_I(f)$ is the most expensive part of a sensitivity curve calculation, so we seek to approximate it. For a PTA with red noise(s), ```math -\mathcal{T}_I(f) \approx \left(1+\frac{1}{T_{\rm obs}f}\right)^{-6} +\mathcal{N}^{-1}_I(f) \approx \frac{\mathcal{T}_I(f)}{P_{\rm N}(f)} \tag{6} ``` where $\mathcal{T}$ is a transmission function and $P_{\rm N}(f)$ is the power in the noise. See Section 2 in [1] for a more in depth discussion of PTA transmission functions and the validity of this approximation. We can further approximate, -$$ -\mathcal{T}_I(f) \approx \left(1+\frac{1}{T_{\rm obs}f}\right)^{-6}\, +```math +\mathcal{T}_I(f) \approx \left(1+\frac{1}{T_{\rm obs}f}\right)^{-6} \tag{7} -$$ +``` as in done in [3]. (See [4] for more details on tranmissions function approximations.) In order to simulate the effect of the timing model fit to the solar system barycenter and parallax parameters, under this simplified tranmission function, we can artificially add characteristic insensitivities at frequencies of $1/\rm yr$ and $1/(2\rm yr)$. Other than white noise, the dominant source of noise is PTAs is a red noise due to changes in the dispersion measure so we let, -$$ +```math P_{N}=P_{\rm WN}+P_{\rm DM} = 2\Delta t\sigma^2 + A_{\rm DM}f^{-\gamma_{\rm DM}}\, \tag{8} -$$ +``` where $\sigma$ is the time of arrival uncertainty and $\Delta t$ is the time between observations and the changes in dispersion measure are modeled as red noise and parameterized by a power law with amplitude $A$ and spectral index $\gamma$. Thus under the assumptions above, -$$ +```math S_{\text{eff}}(f) \approx 12\pi^2f^2\space P_{N,I}\left(\frac{96}{N_{\rm psr}\left(N_{\rm psr}-1\right)} \right)^{1/2}\left(1+\frac{1}{Tf}\right)^{6}. \tag{9} -$$ +``` This can be converted to characteristic strain sensitivity via, -$$ +```math h_c=\sqrt{f*S_{eff}}. \tag{10} -$$ - - - - - - +``` ## References