Files for NICER reproducibility project.
This repository is intended to streamline the use of XPSI (https://xpsi-group.github.io/xpsi/index.html) via a Docker container.
-
Clone this repository using
git clone https://github.com/sugwg/nicer.git ~/<nicer_path>
where<nicer_path>
is where you want to clone the repository. -
Change the working directory
cd ~/<nicer_path>
, replacing<nicer_path>
with where you cloned the repository. -
If you want to build the docker container using the
Dockerfile
:- Use the command
id
to check if you are in the docker group onsugwg-condor
. - Use the command
docker build --no-cache --tag chaitanyaafle/nicer:<tag> -f Dockerfile .
to build the container, where one needs to specify a unique tag replacing<tag>
and the container identifierchaitanyaafle/nicer
can be changed to anything in OSG's docker_images.txt here https://github.com/opensciencegrid/cvmfs-singularity-sync/blob/master/docker_images.txt. - Push the new container to Docker Hub using
docker push chaitanyaafle/nicer:<tag>
. After waiting ~a day, this docker image should sync with CVMFS and a singularity container built from the image should become available for use.
- Use the command
-
Once the container is synced, you can use it to submit the analysis jobs. For example, to submit jobs using the build
chaitanyaafle/nicer:8d3b23d
, which is already synced successfully in CVMFS, verify that the correct container identifier and tag are present in the arguments:/cvmfs/singularity.opensciencegrid.org/chaitanyaafle/nicer:8d3b23d
in the submitfilesubmit.sub
. NOTE: The docker imagechaitanyaafle/nicer:8d3b23d
is the latest one that works, and can be used to submitPSR j0030+0451
analysis jobs. -
Output directory and logs
- Make a directory to store the output of the analysis:
mkdir <output_directory>
. - Make a directory to store the logs of the job:
mkdir <log_directory>
.
- Make a directory to store the output of the analysis:
-
Changes to be made in the submitfile
submit.sub
:- On lines 3, 4, 6, 7, 8, and 18 replace
<home_dir>
with the path to your home directory, and<nicer_path>
to where you cloned the repository. - To use an already-synced container, e.g.
chaitanyaafle/nicer:8d3b23d
, verify that the correct container identifier and tag are present in the arguments on line 4:/cvmfs/singularity.opensciencegrid.org/chaitanyaafle/nicer:8d3b23d
. - On line 10, give the appropriate argument for the number of machines to be used, eg.
machine_count = 2
. - On line 11, give the appropriate argument for number of nodes per machine to be used, eg.
request_cpus = 40
. - Replace
<log_directory>
with the correct path on lines 6, 7, and 8.
- On lines 3, 4, 6, 7, 8, and 18 replace
-
Changes to be made in the python script
run_j0030.py
:- Replace
<nicer_path>
to its appropriate value in/srv/<nicer_path>/
... on lines 19, 23, 24, 25, 28, 30, 114, and 154. - In
runtime_params
, the value of the key'outputfiles_basename'
(line 154) should be/srv/<nicer_path>/<output_directory>/run1_nlive1000_eff0.3_noCONST_noMM_noIS_tol-1
, with the appropriate replacements for<nicer_path>
and<output_directory>
.
- Replace
-
Changes to be made in the executable
run_j0030.sh
, assumingnicer/
was cloned to~/<nicer_path>
:- Replace
<nicer_path>
to its appropriate value in/srv/<nicer_path>/run_j0030.py
... on line 8
- Replace
-
Provide the correct path to
sshd.sh
in line 92 inopenmpiscript
, replacing<home_dir>/<nicer_path>
to its correct value. -
Submit the condor job:
condor_submit submit.sub