Jana Crkovska
3 years ago
7 changed files with 224 additions and 0 deletions
-
32checkAndCreateHydroEvents.sh
-
31checkAndCreateIPGlasmaEvents.sh
-
19getCrashedJobs.sh
-
67inputPbPb
-
30makeSingleEvent.sh
-
26makelist.sh
-
19singleEventHydro.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 |
|||
|
@ -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 |
@ -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 |
|||
|
@ -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 |
|||
|
@ -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 |
@ -0,0 +1,26 @@ |
|||
#!/bin/bash |
|||
################################################################# |
|||
# Script to find which Hydro jobs failed # |
|||
# # |
|||
# Loop over all slurm-<jobID>.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 |
@ -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 |
Write
Preview
Loading…
Cancel
Save
Reference in new issue