diff --git a/code_new/Sumit/Run_Setup.ipynb b/code_new/Sumit/Run_Setup.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..237ee5a59ce12df3387e33c9b9cab19be0197f33 --- /dev/null +++ b/code_new/Sumit/Run_Setup.ipynb @@ -0,0 +1,168 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 4, + "id": "complimentary-direction", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "b''" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"\n", + "Created by Sumit Kumar on 2020-03-08 && modified by Xisco on 2021-04\n", + "Last modified:\n", + "\"\"\"\n", + "\n", + "import os, sys, numpy, glob, argparse\n", + "from datetime import date\n", + "import subprocess\n", + "from subprocess import call\n", + "import re\n", + "\n", + "today = date.today()\n", + "date = today.strftime(\"%Y%m%d\")\n", + "\n", + "runname='run_0_mock'\n", + "nmax = 0\n", + "config_file ='config_n0_to_1_mock.ini'\n", + "\n", + "######\n", + "times = '(0 0.2 0.4 0.8 1.2 2 2.5 5 7.5 10 12 15 18 20)'\n", + "accounting_group = 'cbc.test.pe_ringdown'\n", + "cpus=8\n", + "npoints = 2000\n", + "req_memory=\"16GB\"\n", + "not_user='frjifo@aei.mpg.de'\n", + "pythonfile='/work/francisco.jimenez/sio/git/rdstackingproject/code_new/RD_Fits.py'\n", + "pythonscript='/work/francisco.jimenez/venv/bin/python'\n", + "#######################################################\n", + "\n", + "pwd = os.getcwd()\n", + "run_dir = '%s/%s'%(pwd,runname)\n", + "logs_dir = '%s/logs'%run_dir\n", + "\n", + "os.system('mkdir -p %s'%logs_dir)\n", + "os.system('cp %s %s/'%(config_file,run_dir))\n", + "\n", + "###########################################################################\n", + "# Creating Condor submit file\n", + "###########################################################################\n", + "filename1 = '%s/%s'%(run_dir,'condor_submit')\n", + "text_file1 = open(filename1 + \".sub\", \"w\")\n", + "text_file1.write(\"universe = vanilla\\n\")\n", + "text_file1.write(\"getenv = true\\n\")\n", + "text_file1.write(\"# run script -- make sure that condor has execute permission for this file (chmod a+x script.py)\\n\")\n", + "text_file1.write(\"executable = \"'%s/%s'%(run_dir,runname+'.sh \\n'))\n", + "text_file1.write(\"# file to dump stdout (this directory should exist)\\n\")\n", + "text_file1.write(\"output = %s/%s-$(Process).out\\n\"%(logs_dir,runname))\n", + "text_file1.write(\"# file to dump stderr\\n\")\n", + "text_file1.write(\"error = %s/%s-$(Process).err\\n\"%(logs_dir,runname))\n", + "text_file1.write(\"# condor logs\\n\")\n", + "text_file1.write(\"log = %s/%s-$(Process).log\\n\"%(logs_dir,runname))\n", + "text_file1.write(\"initialdir = %s \\n\"%run_dir)\n", + "text_file1.write(\"notify_user =\"+not_user+' \\n')\n", + "text_file1.write(\"notification = Complete\\n\")\n", + "text_file1.write('''arguments = \"-processid $(Process)\" \\n''')\n", + "text_file1.write(\"request_memory = \"+str(req_memory)+\"\\n\")\n", + "text_file1.write(\"request_cpus = \"+str(cpus)+\"\\n\") \n", + "text_file1.write(\"on_exit_remove = (ExitBySignal == False) || ((ExitBySignal == True) && (ExitSignal != 11))\\n\")\n", + "text_file1.write(\"accounting_group = %s\\n\"%accounting_group)\n", + "text_file1.write(\"queue 1\\n\")\n", + "text_file1.write(\"\\n\")\n", + "text_file1.close()\n", + "\n", + "###########################################################\n", + "# Creating python executable file\n", + "############################################################\n", + "filename2 = run_dir+'/'+runname+'.sh'\n", + "text_file2 = open(filename2, \"w\") \n", + "text_file2.write(\"#! /bin/bash \\n\")\n", + "text_file2.write(\"\\n\")\n", + "text_file2.write(\"times=\"+times+\"\\n\")\n", + "text_file2.write(\"config_file=\"+config_file+\"\\n\")\n", + "text_file2.write(\"pythonfile=\"+pythonfile+\"\\n\")\n", + "text_file2.write(\"pythonscript=\"+pythonscript+\"\\n\")\n", + "text_file2.write(\"\\n\")\n", + "text_file2.write(\"for i in ${times[@]}; do\\n\")\n", + "text_file2.write(\" awk -v a=\\\"$i\\\" '/^tshift/ && $3 != \\\"supplied\\\" { $3=a } { print }' $config_file > tmp && mv tmp $config_file\\n\")\n", + "text_file2.write(\" $pythonscript $pythonfile -c $config_file \\n\")\n", + "text_file2.write(\"done\\n\")\n", + "text_file2.write(\"awk -v a=\\\"0\\\" '/^tshift/ && $3 != \\\"supplied\\\" { $3=a } { print }' $config_file > tmp && mv tmp $config_file \\n\")\n", + "text_file2.write(\"\\n\")\n", + "text_file2.close()\n", + "os.system('chmod u+x %s'%filename2)\n", + "\n", + "os.system('cp '+runname+'.sh %s/'%run_dir)\n", + "os.system('chmod u+x ./'+runname+'.sh')\n", + "os.system('cd '+run_dir)\n", + "\n", + "###########################################################\n", + "# Checking the configuration file and adding some important replacements\n", + "############################################################\n", + "\n", + "filename3 = '%s/%s'%(run_dir,config_file)\n", + "# change the number of cores\n", + "bashCommand = \"awk -v a=\"+str(cpus)+\" '/^nb_cores/ && $3 != \\\"supplied\\\" { $3=a } { print }' \"+str(config_file)+\" > tmp && mv tmp \"+str(config_file);\n", + "subprocess.call(bashCommand,shell=True)\n", + "\n", + "filename3 = '%s/%s'%(run_dir,config_file)\n", + "# change the number of nmax\n", + "bashCommand = \"awk -v a=\"+str(nmax)+\" '/^nmax/ && $3 != \\\"supplied\\\" { $3=a } { print }' \"+str(config_file)+\" > tmp && mv tmp \"+str(config_file);\n", + "subprocess.call(bashCommand,shell=True)\n", + "\n", + "filename3 = '%s/%s'%(run_dir,config_file)\n", + "# change the number of nmax\n", + "bashCommand = \"awk -v a=\"+str(npoints)+\" '/^npoints/ && $3 != \\\"supplied\\\" { $3=a } { print }' \"+str(config_file)+\" > tmp && mv tmp \"+str(config_file);\n", + "subprocess.call(bashCommand,shell=True)\n", + "\n", + "###########################################################\n", + "# Submit the job\n", + "############################################################\n", + "filename4 = '%s/%s'%(run_dir,'condor_submit.sub')\n", + "bashCommand = ['condor_submit', str(filename4)]\n", + "process = subprocess.Popen(bashCommand, stdout=subprocess.PIPE,stderr=subprocess.PIPE);\n", + "output,error = process.communicate()\n", + "error" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "collect-bearing", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}