From a4b8f68305854116e69e55041d804c3fb3e6140a Mon Sep 17 00:00:00 2001 From: Jana Crkovska Date: Mon, 27 Sep 2021 12:41:48 +0200 Subject: [PATCH] uploaded ipglasma+MUSIC_mode_2 scripts --- checkAndCreateHydroEvents.sh | 32 ++++++++++++++++ checkAndCreateIPGlasmaEvents.sh | 31 +++++++++++++++ getCrashedJobs.sh | 19 ++++++++++ inputPbPb | 67 +++++++++++++++++++++++++++++++++ makeSingleEvent.sh | 30 +++++++++++++++ makelist.sh | 26 +++++++++++++ singleEventHydro.sh | 19 ++++++++++ 7 files changed, 224 insertions(+) create mode 100644 checkAndCreateHydroEvents.sh create mode 100644 checkAndCreateIPGlasmaEvents.sh create mode 100644 getCrashedJobs.sh create mode 100644 inputPbPb create mode 100644 makeSingleEvent.sh create mode 100644 makelist.sh create mode 100644 singleEventHydro.sh diff --git a/checkAndCreateHydroEvents.sh b/checkAndCreateHydroEvents.sh new file mode 100644 index 0000000..6197156 --- /dev/null +++ b/checkAndCreateHydroEvents.sh @@ -0,0 +1,32 @@ +#!/bin/bash +############################################### +# A script to run (N-1) MUSIC Hydro events # +# # +# argument $1 = N # +# Code checks if event exists and if not # +# submits a single event script to sbatch # +############################################### + +counter=1 +requiredFile="epsilon-u-Hydro-t0.6-0.dat" ## file with Glasma initial conditions +testFile="surface_eps_0.3147.dat" ## surface file - check name! (same in all events) + +until [ $counter -gt $1 ] ## loop pver N-1 events +do + #echo Count $counter + checkDir=/lustre/alice/users/jcrkovsk/IPGlasmaEvents/Event$counter/Hydro06 + aboveDir=/lustre/alice/users/jcrkovsk/IPGlasmaEvents/Event$counter + if [[ ! -d "$checkDir" ]]; then ## check existence of HydroXX folder + echo "Creating directory ${checkDir}" + mkdir ${checkDir} + fi + if [[ -f "${aboveDir}/${requiredFile}" ]]; then ## if THERE IS init. cond. file in the workdir + if [[ ! -f "${checkDir}/${testFile}" ]]; then ## if NO surface file in the workdir + sbatch --job-name 06H$counter --time=8:00:00 singleEventHydro.sh $counter ## submits a job + fi + else + echo "Counter $counter: Missing IPGlasma files!!!" ## if NO init. cond. file + fi + ((counter++)) +done + diff --git a/checkAndCreateIPGlasmaEvents.sh b/checkAndCreateIPGlasmaEvents.sh new file mode 100644 index 0000000..b7dff66 --- /dev/null +++ b/checkAndCreateIPGlasmaEvents.sh @@ -0,0 +1,31 @@ +#!/bin/bash +############################################ +# A script to run (N-1) ipglasma events # +# # +# argument $1 = N # +# Code checks if event exists and if not # +# submits a single event script to sbatch # +############################################ + +counter=1 ## start with this event +testFile=usedParameters0.dat ## check if this file present - if present, do nothing + +until [ $counter -gt $1 ] ## loop over all numbers until N-1 where N=$1 +do + echo Count $counter + checkDir=/lustre/alice/users/jcrkovsk/IPGlasmaEvents/Event$counter + # checkDir=Event$counter + if [ -d "$checkDir" ]; then ## check if directory exists + echo "Directory ${checkDir} already exists." + else + echo "Creating directory ${checkDir}" + mkdir ${checkDir} + + fi + if [ -f "${checkDir}/${testFile}" ]; then ## check if the file exists + echo "File exists. Nothing to do." + else + sbatch --job-name IPG$counter --time=5:00:00 makeSingleEvent.sh $counter ## submit single glasma event + fi + ((counter++)) +done diff --git a/getCrashedJobs.sh b/getCrashedJobs.sh new file mode 100644 index 0000000..04af092 --- /dev/null +++ b/getCrashedJobs.sh @@ -0,0 +1,19 @@ +#!/bin/bash +############################################################ +# Script to get jobname for each crashed job # +# If jobname contains event number => get crashed events # +# # +# argument $1 - list of failed hydro jobs # +# you can get that by running 'bash makelist.sh' # +############################################################ + +if [[ -f "crashed_jobs.txt" ]]; then ## delete previous list + rm crashed_jobs.txt +fi + +for item in `cat $1` ## loop over crashed job IDs +do + #echo $item + sacct -j $item --format=Jobname >> crashed_jobs.txt ## gets a jobname for each job +done + diff --git a/inputPbPb b/inputPbPb new file mode 100644 index 0000000..dc849cf --- /dev/null +++ b/inputPbPb @@ -0,0 +1,67 @@ +mode 1 +minimumQs2ST 0 +readMultFromFile 0 +size 700 +L 28 +Nc 3 +m 0.2 +rmax 10. +UVdamp 0. +Jacobianm 0.35 +g 1. +BG 4. +BGq 0.3 +useSmoothNucleus 0 +shiftConstituentQuarkProtonOrigin 1 +useConstituentQuarkProton 3 +runningCoupling 0 +muZero 0.3 +c 0.2 +g2mu 0.1 +useFatTails 0 +tDistNu 3 +smearQs 1 +smearingWidth 0.6 +protonAnisotropy 0 +roots 5020 +usePseudoRapidity 0 +Rapidity 0. +useFluctuatingx 1 +xFromThisFactorTimesQs 1 +useNucleus 1 +useGaussian 0 +beta2 0.28 +nucleonPositionsFromFile 0 +NucleusQsTableFileName qs2Adj_vs_Tp_vs_Y_200.in +QsmuRatio 0.8 +samplebFromLinearDistribution 1 +runWith0Min1Avg2MaxQs 2 +runWithThisFactorTimesQs 0.5 +runWithLocalQs 0 +runWithkt 0 +Ny 50 +useSeedList 0 +seed 1 +useTimeForSeed 1 +Projectile Pb +Target Pb +bmin 0 +bmax 18 +lightNucleusOption 1 +useFixedNpart 0 +averageOverThisManyNuclei 1 +SigmaNN 70. +gaussianWounding 1 +inverseQsForMaxTime 0 +maxtime 0.6 +dtau 0.1 +LOutput 34. +sizeOutput 512 +etaSizeOutput 1 +detaOutput 0 +writeOutputs 5 +writeEvolution 0 +writeInitialWilsonLines 0 +writeOutputsToHDF5 0 +EndOfFile + diff --git a/makeSingleEvent.sh b/makeSingleEvent.sh new file mode 100644 index 0000000..1bd774e --- /dev/null +++ b/makeSingleEvent.sh @@ -0,0 +1,30 @@ +#!/bin/bash +############################################### +# A script to run a single event of IP Glasma # +# argument $1: eventnumber +############################################### + +number=$1 +origDir=$(pwd) +targetDir=/lustre/alice/users/jcrkovsk/IPGlasmaEvents/Event$number +echo Target dir $targetDir +## check if directory exists - if not make it +if [ ! -d "$targetDir" ]; then + mkdir $targetDir +fi + +## must copy this file into the working (glasma event) directory +cp /lustre/alice/users/jcrkovsk/ipglasma/qs2Adj_vs_Tp_vs_Y_200.in $targetDir +cd $targetDir + +## load libraries +spack load -r openmpi target=x86_64 +spack load -r fftw target=x86_64 + +## run ipglasma +/lustre/alice/users/jcrkovsk/ipglasma/ipglasma /lustre/alice/users/jcrkovsk/IPGlasmaEvents/BjoernsInputFile/inputPbPb + +rm qs2Adj_vs_Tp_vs_Y_200.in + +## go back +cd $origDir diff --git a/makelist.sh b/makelist.sh new file mode 100644 index 0000000..91f5fbc --- /dev/null +++ b/makelist.sh @@ -0,0 +1,26 @@ +#!/bin/bash +################################################################# +# Script to find which Hydro jobs failed # +# # +# Loop over all slurm-.out and print the failed jobs # +# into a list. # +# # +# !Make sure you set properly the path to your .out files! # +# !Check you set the correct name for your .out files! # +################################################################# + +string="Finished." ## a succesfully completed hydro job will have this string in the last line of its output +outfile="testlist.txt" ## file where we will list all the failed jobs + +if [[ -f "$outfile" ]]; then ## delete previous list of failed jobs + rm $outfile +fi + +for filename in ./slurm-*.out; do ## check all slurm-*.out files in the folder + line=$(sed -n '$p' $filename) ## takes the last line of each file + if [[ $line != *$string* ]]; then ## if line does NOT contain the specified string + newname=$(echo $filename | sed 's#./slurm-##g' | sed 's#.out##g') ## strips the filename to the jobID + echo "${newname}:: ${line}" ## also print jobID and the last line (reason for failure) + echo $newname >> $outfile ## append jobID into the file + fi +done diff --git a/singleEventHydro.sh b/singleEventHydro.sh new file mode 100644 index 0000000..ad5f039 --- /dev/null +++ b/singleEventHydro.sh @@ -0,0 +1,19 @@ +#!/bin/bash +################################################### +# A script to run a single event of MUSIC Hydro # +# argument $1: eventnumber # +################################################### + +number=$1 +origDir=$(pwd) +targetDir=/lustre/alice/users/jcrkovsk/IPGlasmaEvents/Event$number +cd $targetDir +## the following runs simus starting at t0=0.6 f +mkdir Hydro06 +cd Hydro06 +cp ../epsilon-u-Hydro-t0.6-0.dat . + +ln -s /lustre/alice/users/jcrkovsk/music_hydro/EOS EOS ## create a symlink to the EOS folder +/lustre/alice/users/jcrkovsk/music_hydro/MUSIChydro /lustre/alice/users/jcrkovsk/IPGlasmaEvents/inputfiles/music_inputIPGlasma06_mode_2 + +cd $origDir