def setup_rfdir(self, path, num_procs): """ Creates the directory path and copies required files from ``self.base_dir`` into path:type path: string :param path: folder_name :param num_procs: number of processors per :program:`ADCIRC` run """ mkdir(path) copy(self.save_dir + '/fort.13', path) # crete sybolic links from fort.* files to path inputs1 = glob.glob(self.grid_dir + '/fort.1*') inputs2 = glob.glob(self.grid_dir + '/fort.2*') inputs0 = glob.glob(self.grid_dir + '/fort.01*') inputs = inputs0 + inputs1 + inputs2 if self.grid_dir + '/fort.13' in inputs: inputs.remove(self.grid_dir + '/fort.13') if not self.grid_dir + '/fort.019' in inputs: if self.grid_dir + '/fort.015' in inputs: inputs.remove(self.grid_dir + '/fort.015') for fid in inputs: if os.path.exists(path + '/' + fid.rpartition('/')[-1]): os.remove(path + '/' + fid.rpartition('/')[-1]) os.symlink(fid, path + '/' + fid.rpartition('/')[-1]) #copy(fid, path+'/'+fid.rpartition('/')[-1]) if not os.path.exists(path + '/adcprep'): os.symlink(self.base_dir + '/adcprep', path + '/adcprep') prep.write_1(path, num_procs) prep.write_2(path, num_procs) prep.write_5(path, num_procs)
def setup_rfdir(self, path, num_procs): """ Creates the directory path and copies required files from ``self.base_dir`` into path:type path: string :param path: folder_name :param num_procs: number of processors per :program:`ADCIRC` run """ mkdir(path) copy(self.save_dir+'/fort.13', path) # crete sybolic links from fort.* files to path inputs1 = glob.glob(self.grid_dir+'/fort.1*') inputs2 = glob.glob(self.grid_dir+'/fort.2*') inputs0 = glob.glob(self.grid_dir+'/fort.01*') inputs = inputs0 + inputs1 + inputs2 if self.grid_dir+'/fort.13' in inputs: inputs.remove(self.grid_dir+'/fort.13') if not self.grid_dir+'/fort.019' in inputs: if self.grid_dir+'/fort.015' in inputs: inputs.remove(self.grid_dir+'/fort.015') for fid in inputs: if os.path.exists(path+'/'+fid.rpartition('/')[-1]): os.remove(path+'/'+fid.rpartition('/')[-1]) os.symlink(fid, path+'/'+fid.rpartition('/')[-1]) #copy(fid, path+'/'+fid.rpartition('/')[-1]) if not os.path.exists(path+'/adcprep'): os.symlink(self.base_dir+'/adcprep', path+'/adcprep') prep.write_1(path, num_procs) prep.write_2(path, num_procs) prep.write_5(path, num_procs)
def setup_rfdir(self, path, num_procs): """ Creates the directory path and copies required files from ``self.base_dir`` into :param string path: folder_name :param int num_procs: number of processors per :program:`ADCIRC` run """ mkdir(path) copy(os.path.join(self.save_dir, 'fort.13'), path) # crete sybolic links from fort.* files to path inputs1 = glob.glob(os.path.join(self.grid_dir, 'fort.1*')) inputs2 = glob.glob(os.path.join(self.grid_dir, 'fort.2*')) inputs0 = glob.glob(os.path.join(self.grid_dir, 'fort.01*')) inputs = inputs0 + inputs1 + inputs2 if os.path.join(self.grid_dir, 'fort.13') in inputs: inputs.remove(os.path.join(self.grid_dir, 'fort.13')) if not os.path.join(self.grid_dir, 'fort.019') in inputs: if os.path.join(self.grid_dir, 'fort.015') in inputs: inputs.remove(os.path.join(self.grid_dir, 'fort.015')) else: sub_files = ['bv.nodes', 'py.140', 'py.141'] sub_files = [os.path.join(self.grid_dir, sf) for sf in sub_files] inputs.extend(sub_files) for fid in inputs: rf_fid = os.path.join(path, fid.rpartition('/')[-1]) if os.path.exists(rf_fid): if os.path.islink(rf_fid): os.unlink(rf_fid) else: os.remove(rf_fid) os.symlink(fid, rf_fid) if not os.path.exists(os.path.join(path, 'padcirc')): os.symlink(os.path.join(self.base_dir, 'padcirc'), os.path.join(path, 'padcirc')) if not os.path.exists(os.path.join(path, 'adcprep')): os.symlink(os.path.join(self.base_dir, 'adcprep'), os.path.join(path, 'adcprep')) prep.write_1(path, num_procs) prep.write_2(path, num_procs) prep.write_5(path, num_procs)