def get_simname_and_file(objmodel, psfmodel): i=1 simname = _get_simname(objmodel, psfmodel, i) fname = shapesim.get_config_file(simname) while os.path.exists(fname): i+=1 simname = _get_simname(objmodel, psfmodel, i) fname = shapesim.get_config_file(simname) return simname, fname
def get_run_name_and_file(sim_name): runid=1 run_name = _get_run_name(sim_name, runid) fname = shapesim.get_config_file(run_name) while os.path.exists(fname): runid+=1 run_name = _get_run_name(sim_name, runid) fname = shapesim.get_config_file(run_name) return run_name, fname
def main(): options,args = parser.parse_args(sys.argv[1:]) if len(args) < 2: parser.print_help() sys.exit(1) objmodel=args[0] psfmodel=args[1] if options.simname is not None: simname=options.simname fname = shapesim.get_config_file(simname) if os.path.exists(fname) and not options.overwrite: raise ValueError("file already exists: %s" % fname) else: simname, fname = get_simname_and_file(objmodel, psfmodel) if options.shear is None: parser.print_help() sys.exit(1) shear1,shear2=options.shear.split(',') if psfmodel in ['gauss','dgauss']: if options.psf_ellip is None: parser.print_help() sys.exit(1) psf_e1,psf_e2 = options.psf_ellip.split(',') if objmodel == 'exp': if psfmodel == 'dgauss': text = dg_template % {'simname':simname, 'objmodel':objmodel, 'psf_e1':psf_e1, 'psf_e2':psf_e2, 'shear1':shear1, 'shear2':shear2, 'nums2':options.nums2, 'nume':options.nume} elif psfmodel == 'turb': text = turb_template % {'simname':simname, 'objmodel':objmodel, 'shear1':shear1, 'shear2':shear2, 'nums2':options.nums2, 'nume':options.nume} else: raise ValueError("support more psf models") else: raise ValueError("need to support more obj types") print text print 'fname:',fname if not options.dryrun: with open(fname,'w') as fobj: fobj.write(text) else: print 'dryrun'
def main(): options,args = parser.parse_args(sys.argv[1:]) if len(args) < 2: parser.print_help() sys.exit(1) sim_name=args[0] run_type=args[1] cs = shapesim.read_config(sim_name) objmodel = cs['objmodel'] psfmodel = cs['psfmodel'] simtype = shortnames[objmodel]+shortnames[psfmodel] if options.run_name is not None: run_name=options.run_name fname = shapesim.get_config_file(run_name) if os.path.exists(fname) and not options.overwrite: raise ValueError("file already exists: %s" % fname) else: run_name, fname = get_run_name_and_file(sim_name) s2n_fac=options.s2n_fac if s2n_fac is None: raise ValueError("send --s2n-fac") if run_type == 'bys2n': ie=options.ie if ie is None: raise ValueError("send --ie for bys2n") tmps2,e_val = shapesim.get_s2_e(cs, 0, int(ie)) #s2n_vals_def='5,10,15,20,25,30,40,50,60,70,80,90,100' s2n_vals_def='10,15,20,25,30,40,50,60,70,80,90,100' s2n_vals=options.s2n_vals if s2n_vals is None: s2n_vals=s2n_vals_def if simtype == 'edg': text=edg_bys2n_template % {'run_name':run_name, 'sim_name':sim_name, 's2n_fac':s2n_fac, 's2n_vals':s2n_vals, 'ie':ie, 'e_val':e_val} elif simtype == 'et': text=et_bys2n_template % {'run_name':run_name, 'sim_name':sim_name, 's2n_fac':s2n_fac, 's2n_vals':s2n_vals, 'ie':ie, 'e_val':e_val} elif simtype == 'dt': text=dt_bys2n_template % {'run_name':run_name, 'sim_name':sim_name, 's2n_fac':s2n_fac, 's2n_vals':s2n_vals, 'ie':ie, 'e_val':e_val} elif simtype == 'gg': text=gg_bys2n_template % {'run_name':run_name, 'sim_name':sim_name, 's2n_fac':s2n_fac, 's2n_vals':s2n_vals, 'ie':ie, 'e_val':e_val} else: raise ValueError("support other sim types") elif run_type == 'byellip': s2n=options.s2n if s2n is None: raise ValueError("send s2n for byellip") if simtype == 'edg': text=edg_byellip_template elif simtype == 'gg': text=gg_byellip_template else: raise ValueError("support other sim types") text=text % {'run_name':run_name, 'sim_name':sim_name, 's2n_fac':s2n_fac, 's2n':s2n} else: raise ValueError("support others?") print text print 'fname:',fname if not options.dryrun: with open(fname,'w') as fobj: fobj.write(text) else: print 'dryrun'