https://wiki.ncsa.illinois.edu/display/~rhaas/SPIN+2020+Exercise

This exercise aims to provide a flavor of the expertise required for the SPIN project as well as giving you an idea of the work expected of you. If you choose to apply to work with me on this project then I will ask you to work through the exercise and send in your results before the interview with me. I provide a worked out solution so you are free to look at it to verify your own solution or to copy and past from it. However please keep in mind that the exercise mostly serves to give you an idea of the skills required to avoid signing up for more than you can handle.

Background

The Laser Interferometer Gravitational-Wave Observatory's (LIGO) detection of gravitational waves from merging black holes in September 2014 inaugurated a new era in astronomy and astrophysics, opening a window to observe the Universe through gravitational radiation. Occurring 100 years after Einstein's announcement of his theory of general relativity, the detection spurred world-wide interest in physics and science in general, making headline news around the world. The recent Nobel Prize awarded for this detection and the announcement of the detection of the double binary neutron star system by LIGO/Virgo underline the importance of these efforts and the interest that the wider society has in it.

Project details

This project is part of the ongoing effort in the NCSA gravity group  to study gravitational waves produced by colliding compact objects like black holes and neutron stars. We use various software tools for this purpose. For simulations on supercomputers we use the Einstein Toolkit computational framework. We have developed a python code POWER to postprocess waveforms produced by the Einstein Toolkit. POWER is described in this paper.

In this project, you will write python libraries to extract information from numerical relativity simulations that describe mergers of black holes and neutron stars and write standardized HDF5 files that LIGO's software library can use. This involves reading output of full numerical relativity simulations, computing metadata information based on this output and writing data files  to disk. The project requires a working knowledge of python, in particular the numpy and matplotlib modules as well as the willingness to read and understand existing python codes and build on them. Prior experience using the version control system git and well as using the command line will be highly beneficial.

Before applying for this project please work through the exercise available on SPIN 2020 Exercise as this will be part of the interview with prospective candidates.

Exercise

  • download the POWER code from https://git.ncsa.illinois.edu/elihu/Gravitational_Waveform_Extractor
  • run the example shown in its README file.This will produce a directory Extrapolated_Strain with the output files in it
  • inspect the code in exercise.py and make sure you understand it, you can run it via python3 ./exercise.py which will create a file strain.h5 as the output.

  • it will show some data on screen to illustrate how to read HDF5 files
  • now edit the code to extract the final value for the quantitiy "qlm_coordspinz[2]" from file  "simulations/J0040_N40/output-0018/J0040_N40/quasilocalmeasures-qlm_scalars..asc"

    and add a new attribute "spinz" to the same dataset as "Mirr", output "spinz" similar to how "Mirr" is output

  • run the code and make sure that your output looks like this:

    Mirr is:  0.8849351497
    spinz is:  0.622982178513881
    strain is:  [[-1.07734394e+02 -1.97435367e-03 -3.47866610e-04]
     [-1.06870394e+02 -2.20947167e-03 -2.08704522e-04]
     [-1.06006394e+02 -2.44269767e-03 -4.09940789e-05]
     [-1.05142394e+02 -2.67012740e-03  1.53466795e-04]
     [-1.04278394e+02 -2.88837339e-03  3.72011225e-04]
     [-1.03414394e+02 -3.09482594e-03  6.11327622e-04]
     [-1.02550394e+02 -3.28766689e-03  8.67687648e-04]
     [-1.01686394e+02 -3.46590267e-03  1.13718397e-03]
     [-1.00822394e+02 -3.62928587e-03  1.41592530e-03]
     [-9.99583943e+01 -3.77823285e-03  1.70021021e-03]
     [-9.90943943e+01 -3.91369150e-03  1.98664637e-03]
     [-9.82303943e+01 -4.03701767e-03  2.27224160e-03]
     [-9.73663943e+01 -4.14983968e-03  2.55444780e-03]
     [-9.65023943e+01 -4.25394309e-03  2.83118410e-03]
     [-9.56383943e+01 -4.35116303e-03  3.10082727e-03]
     [-9.47743943e+01 -4.44330059e-03  3.36219212e-03]
     [-9.39103943e+01 -4.53205400e-03  3.61449322e-03]
     [-9.30463943e+01 -4.61897146e-03  3.85730553e-03]
     [-9.21823943e+01 -4.70541818e-03  4.09051596e-03]
     [-9.13183943e+01 -4.79255934e-03  4.31427882e-03]]









  • No labels