Source code for EPWpy.utilities.write_job

import numpy as np
import os
import inspect
import EPWpy.utilities.epw_pp as epw_pp_module

[docs] class write_job: """ Class to write job script """ def __init__(self): pass
[docs] def write_precondition(self): filename = self.script_params['job_name'] if os.path.exists(filename): os.remove(filename) with open(f"{filename}", 'a') as fil: fil.write('#!/bin/bash\n') for key in self.script_params: param = self.script_params[key] if '-' in key: # is a -J, -e, -o, etc. type of flag fil.write(f'#SBATCH {key} {param}\n') fil.write(f'\nQE={self.dir_to_QE}\n\n') fil.close()
[docs] def write_cd(self, directory='./'): try: filename = self.script_params['job_name'] except AttributeError: filename = self.writer.script_params['job_name'] with open(f"{filename}", 'a') as fil: fil.write(f"cd {directory}\n") fil.close()
[docs] def write_mkdir(self, directory='./'): try: filename = self.script_params['job_name'] except AttributeError: filename = self.writer.script_params['job_name'] with open(f"{filename}", 'a') as fil: fil.write(f"mkdir {directory}\n") fil.close()
[docs] def write_execute(self,cmd): filename = self.script_params['job_name'] with open(f'{filename}', 'a') as fil: fil.write(f'{cmd} \n') fil.close()
[docs] def write_pp(self, prefix): epw_pp_source = inspect.getsource(epw_pp_module) filename = self.script_params['job_name'] with open(f'pp.py', 'w') as f: #f.write('import EPWpy \n') #f.write('from EPWpy.utilities import epw_pp \n') f.write(epw_pp_source) f.write(f'run_pp(\'{prefix}\') \n') f.close() with open(f'{filename}', 'a') as fil: fil.write(f'python ../pp.py \n') fil.close()