storage-ring-gravitational-wave-observatory

Simulating the detection of millihertz (mHz) gravitational waves (GWs) from astrophysical sources by a Storage Ring Gravitational-wave Observatory (SRGO).

https://github.com/suvrat-rao12/storage-ring-gravitational-wave-observatory

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: aps.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.9%) to scientific vocabulary

Keywords

arviz bayesian-inference gravitational-simulations gravitational-waveforms gravitational-waves gw-astronomy gw-data-visualization mcmc mcmc-analysis pymc3 simulation sky-map storage-rings synthetic-data
Last synced: 6 months ago · JSON representation ·

Repository

Simulating the detection of millihertz (mHz) gravitational waves (GWs) from astrophysical sources by a Storage Ring Gravitational-wave Observatory (SRGO).

Basic Info
  • Host: GitHub
  • Owner: suvrat-rao12
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 1.34 MB
Statistics
  • Stars: 2
  • Watchers: 2
  • Forks: 2
  • Open Issues: 0
  • Releases: 1
Topics
arviz bayesian-inference gravitational-simulations gravitational-waveforms gravitational-waves gw-astronomy gw-data-visualization mcmc mcmc-analysis pymc3 simulation sky-map storage-rings synthetic-data
Created over 4 years ago · Last pushed about 2 years ago
Metadata Files
Readme Citation

README.md

storage-ring-gravitational-wave-observatory

This code simulates the expected response of the SRGO detector to the dominant harmonic of millihertz gravitational waves from the inspiral phase of a non-spinning binary system merger, accounting for the effect of Earth's rotation. It also produces the GW source localization sky-maps by fitting the response model to artificial noisy data points using an MCMC (Markov Chain Monte Carlo) method, the way LIGO does. There are also functionalities to obtain and plot the SRGO sensitivity curve, observational range, etc. Authors: Suvrat Rao, Hamburg Observatory, University of Hamburg; Julia Baumgarten, Physics department, Jacobs University Bremen. Reference: https://journals.aps.org/prd/abstract/10.1103/PhysRevD.102.122006

STEP 1: Rename the "theanorc.txt" file to ".theanorc.txt" (notice the '.' at the start) and place this file in your "C:\Users\username" folder. Also, rename the paths inside this file to the corresponding paths of your computer. Some paths will only exist after you complete the installation procedure following the guide below. If you do not wish to set up GPU assist, then skip those steps from the guide and delete the appropriate lines from .theanorc.txt. If you are confused about this, simply delete .theanorc.txt, and the code should still work (without GPU assist).

STEP 2: Create a new folder named "saved_plots" (results will automatically be saved to this folder) and place it in the same folder as "srgo.py" along with "earth.png", which is required by the code to create the main plots. The other images are also used in making plots, but they are re-generated and saved by the code with each run.

STEP 3: ORDERWISE, PROPER MODULE INSTALLATION, ERROR DEBUGGING & OPTIMIZATION INSTRUCTIONS

FOR WINDOWS (with GPU assist):
Start with a clean installation, then just follow this list mechanically and you should be good. Also, skip making separate environments and just install everything in the anaconda base environment.
https://gist.github.com/ElefHead/93becdc9e99f2a9e4d2525a59f64b574
(^ skip any module installs mentioned in this & copy all the cuDNN folder contents to the CUDA folder)
https://stackoverflow.com/questions/57701571/what-is-the-right-way-to-update-anaconda-and-conda-base-environments
(^ conda update conda ; conda update anaconda ; conda install spyder=5.0.5 ; conda update --all)
https://github.com/pymc-devs/pymc3/wiki/Installation-Guide-(Windows)
(^ in line 1, skip "python=3.8" and scipy ; but add pygpu)
https://www.programmersought.com/article/18283822507/
https://stackoverflow.com/questions/28011551/how-configure-theano-on-windows
https://theano-pymc.readthedocs.io/en/latest/library/config.html
https://github.com/conda-forge/magma-feedstock
https://theano-pymc.readthedocs.io/en/latest/tutorial/usinggpu.html
https://theano-pymc.readthedocs.io/en/latest/troubleshooting.html
https://docs.huihoo.com/theano/0.8/faq.html
https://stackoverflow.com/questions/50949520/cudnn-path-not-resolving
(^ library
path = ...\lib64\x64)
https://github.com/monero-project/monero/issues/3521
https://docs.microsoft.com/en-us/cpp/assembler/masm/masm-for-x64-ml64-exe?view=msvc-160
(^ already present in MS Visual Studio and added to path in step 1, so directly call editbin.exe in cmd)
https://www.windowscentral.com/how-change-virtual-memory-size-windows-10?amp
In case of any init.py errors, open those files and hotfix the respective lines.

FOR LINUX (without GPU assist):
The 'seaborn' and 'OpenCV' python modules are needed. Apart from that, simply do "pip install pymc3" and you're good to go!

NOTE1: Be careful if you wish to time the code, as it may hang the MCMC subroutine due to unknown reasons!

NOTE2: If your plots or saved figures look misaligned, you must change your matplotlib backend to automatic (https://stackoverflow.com/questions/23585126/how-do-i-get-interactive-plots-again-in-spyder-ipython-matplotlib)

NOTE3: The MCMC results are considered accurate if the true parameter values lie within the 90% HPDI (highest posterior density interval) region, 90% of the time. Therefore, you must run the code several times to achieve accurate results.

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Rao"
  given-names: "Suvrat"
  orcid: "https://orcid.org/0000-0002-2395-358X"
title: "Storage Ring Gravitational-wave Observatory (SRGO) simulation code"
version: final
doi: 10.5281/zenodo.7485016
date-released: 2022-12-27
url: "https://github.com/suvrat-rao12/storage-ring-gravitational-wave-observatory/tree/SRGO_final"

GitHub Events

Total
Last Year

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 96
  • Total Committers: 1
  • Avg Commits per committer: 96.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 8
  • Committers: 1
  • Avg Commits per committer: 8.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Suvrat Rao 8****2 96

Issues and Pull Requests

Last synced: about 2 years ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels