Skip to content

Submitting jobs on MARCC

christinaalam edited this page Feb 12, 2024 · 5 revisions

Detailed information about MARCC and the instructions on how to use MARCC can be found here.

Many parts of this instruction are adapted from the wiki page for the cholera mapping pipeline model developed by Josh.

Login

Using a terminal: ssh -X login.rockfish.jhu.edu -l <your-account>@jhu.edu

Using SSH (the config file should contain the following info):

Host MARCC
    HostName login.rockfish.jhu.edu
    User <your-account>

Create the directory

Directly run the following commands right after login:

cd /data/aazman1/
mkdir $USER

Clone the gavi model repo development branch (taking branch kaiyue as an example):

mkdir -p /data/aazman1/$USER/gavi-modeling
cd /data/aazman1/$USER/gavi-modeling
ml git-lfs
git lfs install
git clone https://github.com/HopkinsIDD/gavi_vimc_cholera.git -b kaiyue

Unzip afro_2010-2016_lambda_5k.zip and fill in the montagu_handle.R

cd /data/aazman1/$USER/gavi-modeling/gavi_vimc_cholera/input_data/incidence
unzip -o afro_2010-2016_lambda_5k.zip

Set up the modules and install packages needed for the gavi model on MARCC

cd /data/aazman1/$USER/gavi-modeling/gavi_vimc_cholera/sbatch_scripts/marcc_setup
sbatch marcc_setup.sh

You can use sqme to check the progress and open up the output log slurm-<job-id>.out to check for errors.

If you want to reinstall the ocvImpact package after making local changes to it (not recommended for formal runs), run:

cd /data/aazman1/$USER/gavi-modeling/gavi_vimc_cholera/sbatch_scripts/marcc_setup
sbatch marcc_setup.sh

Launch formal runs

Take the default campaign scenario with district-level estimate as an example:

cd /data/aazman1/$USER/gavi-modeling/gavi_vimc_cholera/sbatch_scripts/surveillance_project/formal_run/gen_incid
sbatch gen_incid.sh

After it's done, run:

cd /data/aazman1/$USER/gavi-modeling/gavi_vimc_cholera/sbatch_scripts/surveillance_project/formal_run/run_model_campaign_default
sbatch run_model_campaign_default_marcc.sh

Likewise, you can use sqme to check the progress and open up the output log slurm-<job-id>.out to check for errors.