# model = Model(stokes=stokes) # model.add_components(*new_dfm_model) # model.add_components(ccmodel) if stokes == "I": use_V = True else: use_V = False noise = uvdata_template.noise(use_V=use_V) params = list() for i in range(n_mc): uvdata_template.substitute([ccmodel]) uvdata_template.uvdata = uvdata_template.uvdata * corrections uvdata_template.noise_add(noise) uvdata_template.save(os.path.join(data_dir, "artificial.uvf"), rewrite=True, downscale_by_freq=True) # Self-calibrate selfcal_difmap( fname="artificial.uvf", outfname="artificial.uvf", path=data_dir, path_to_script="/home/ilya/github/ve/difmap/auto_selfcal", outpath=data_dir, show_difmap_output=True) modelfit_difmap("artificial.uvf", "{}.mod".format(epoch),
freq: mojave_uv_fits_fname(source, freq, epoch) for freq in ('x', 'j', 'u') } for freq, uv_fits_fname in uv_fits_fnames.items(): uv_fits_path = os.path.join(data_dir, uv_fits_fname) cg1 = CGComponent(2.0, 0., 0., 0.2) cg2 = CGComponent(1.0, 0., 0.3, 0.3) cg3 = CGComponent(0.5, 0., 1.5, 0.4) mdl = Model(stokes='I') mdl.add_components(cg1, cg2, cg3) uvdata = UVData(uv_fits_path) noise = uvdata.noise() for i in range(1, 101): uvdata = UVData(uv_fits_path) uvdata.substitute([mdl]) uvdata.noise_add(noise) art_fits_fname = 'art_{}_{}.fits'.format(freq, i) art_fits_path = os.path.join(data_dir, art_fits_fname) uvdata.save(art_fits_path) # Here we should MCMC posterior modelfit_difmap(art_fits_fname, 'initial.mdl', 'out_{}_{}.mdl'.format(freq, i), niter=100, path=data_dir, mdl_path=data_dir, out_path=data_dir) params = list() for i in range(1, 101):
# DOESNT WORK - ERRORS STILL SMALL import os from mojave import mojave_uv_fits_fname from uv_data import UVData from bootstrap import bootstrap_uvfits_with_difmap_model data_dir = '/home/ilya/silke' epoch = '2017_01_28' original_model_fname = '2017_01_28us' original_model_path = os.path.join(data_dir, original_model_fname) uv_fits_fname = mojave_uv_fits_fname('0851+202', 'u', epoch) uv_fits_path = os.path.join(data_dir, uv_fits_fname) uvdata = UVData(uv_fits_path) uvdata.noise_add({baseline: [0.137] for baseline in uvdata.baselines}) new_fits_path = os.path.join(data_dir, 'added_noise.fits') uvdata.save(new_fits_path) bootstrap_uvfits_with_difmap_model(new_fits_path, original_model_path, boot_dir=os.path.join(data_dir, 'boot'))