Example BX610: perform model fitting using method=‘amoeba’ for the Band 6 Cycle 3 DataSet¶
import sys
import glob
import os
import io
import logging
from pprint import pprint
print(sys.version)
import socket
if 'hypersion' or 'mini' in socket.gethostname() :
os.chdir('/Users/Rui/Documents/Workspace/projects/GMaKE/examples/output/')
print(socket.gethostname())
print(os.getcwd())
import gmake
print(gmake.__version__)
print(gmake.__email__)
print(gmake.__demo__)
inpfile=gmake.__demo__+'/../examples/inpfile/bx610_b6c3_uv_ab.inp'
logfile=''
print('>'*40)
#gmake.logger_config()
#gmake.logger_status()
#import pprint
#pprint.pprint(logging.Logger.manager.loggerDict)
gmake.logger_config()
inp_dct=gmake.read_inp(inpfile)
inp_dct=gmake.inp_validate(inp_dct)
outdir=inp_dct['general']['outdir']
gmake.logger_config(logfile=outdir+'/gmake.log',loglevel='DEBUG',logfilelevel='DEBUG')
gmake.logger_status()
3.7.5 (default, Oct 19 2019, 11:15:26)
[Clang 11.0.0 (clang-1100.0.33.8)]
hyperion
/Volumes/S1/projects/GMaKE/examples/output
0.2.dev1
rx.astro@gmail.com
/Users/Rui/Documents/Workspace/projects/GMaKE/gmake
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<Logger gmake (DEBUG)>
[<FileHandler /Volumes/S1/projects/GMaKE/examples/output/bx610_b6c3_uv_ab/gmake.log (DEBUG)>, <StreamHandler stderr (DEBUG)>]
dat_dct=gmake.read_data(inp_dct,fill_mask=True,fill_error=True)
read data (may take some time..)
Read: ../data/bx610/alma/2015.1.00250.S/bb2.ms
data@../data/bx610/alma/2015.1.00250.S/bb2.ms complex64 (56354, 238) 102 MiB
uvw@../data/bx610/alma/2015.1.00250.S/bb2.ms float32 (56354, 3) 661 KiB
weight@../data/bx610/alma/2015.1.00250.S/bb2.ms float32 (56354,) 220 KiB
>>percentiles (0,16,50,84,100)%: [ 25.42425919 120.59348969 161.43834686 222.05312988 274.09368896]
chanfreq@../data/bx610/alma/2015.1.00250.S/bb2.ms (238,) 250752859438.0543 Hz 252604264234.0391 Hz
chanwidth@../data/bx610/alma/2015.1.00250.S/bb2.ms (238,) 7811834.5822 Hz 7811834.5822 Hz
phasecenter@../data/bx610/alma/2015.1.00250.S/bb2.ms 23h46m09.44s 12d49m19.3s
Read: ../data/bx610/alma/2015.1.00250.S/bb3.ms
data@../data/bx610/alma/2015.1.00250.S/bb3.ms complex64 (53466, 238) 97 MiB
uvw@../data/bx610/alma/2015.1.00250.S/bb3.ms float32 (53466, 3) 627 KiB
weight@../data/bx610/alma/2015.1.00250.S/bb3.ms float32 (53466,) 209 KiB
>>percentiles (0,16,50,84,100)%: [ 28.95802307 136.6611145 187.34054565 248.30665283 289.60601807]
chanfreq@../data/bx610/alma/2015.1.00250.S/bb3.ms (238,) 233254349973.6942 Hz 235105754769.6790 Hz
chanwidth@../data/bx610/alma/2015.1.00250.S/bb3.ms (238,) -7811834.5822 Hz -7811834.5822 Hz
phasecenter@../data/bx610/alma/2015.1.00250.S/bb3.ms 23h46m09.44s 12d49m19.3s
Read: ../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs
data@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs complex64 (56354, 1) 440 KiB
uvw@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs float32 (56354, 3) 661 KiB
weight@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs float32 (56354,) 220 KiB
>>percentiles (0,16,50,84,100)%: [ 5420.21582031 26262.67539063 35061.7265625 47476.43703125
59263.3984375 ]
chanfreq@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs (1,) 250073373567.0543 Hz 250073373567.0543 Hz
chanwidth@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs (1,) 1859216630.5597 Hz 1859216630.5597 Hz
phasecenter@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs 23h46m09.44s 12d49m19.3s
Read: ../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs
data@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs complex64 (56354, 1) 440 KiB
uvw@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs float32 (56354, 3) 661 KiB
weight@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs float32 (56354,) 220 KiB
>>percentiles (0,16,50,84,100)%: [ 7370.546875 35357.1671875 48239.16992188 64150.5290625
75806.0703125 ]
chanfreq@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs (1,) 235879907576.7765 Hz 235879907576.7765 Hz
chanwidth@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs (1,) -1859216630.5670 Hz -1859216630.5670 Hz
phasecenter@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs 23h46m09.44s 12d49m19.3s
--------------------------------------------------------------------------------
--- dat_dct size 203.68 Mibyte ---
--- took 1.85573 seconds ---
inp_dct=gmake.read_inp(inpfile)
inp_dct=gmake.inp_validate(inp_dct)
mod_dct=gmake.inp2mod(inp_dct)
gmake.model_vrot(mod_dct)
#mod_dct['co76']
%mprun -f gmake.fit_setup fit_dct=gmake.fit_setup(inp_dct,dat_dct,initial_model=False)
#gmake.model_lnlike2(fit_dct['p_start'],fit_dct,inp_dct,dat_dct)
#mod_dct=gmake.inp2mod(inp_dct)
#gmake.pprint(mod_dct)
#gmake.model_vrot(mod_dct)
#gmake.pprint(mod_dct)
#gmake.model_vrot_plot(mod_dct['co76'])
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
optimizer: amoeba
optimizing parameters:
----------------------------------------------------------------------------------------------------
index name unit start lo_limit up_limit scale
0 vsys@basics km / s 117.50 ( 0.00 , 220.00 ) 117.50
1 disk_sd@diskdyn solMass / pc2 3000.00 ( 100.00 , 50000.00 ) 47000.00
2 disk_rs@diskdyn kpc 5.00 ( 0.20 , 30.00 ) 25.00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ndim: 3
outdir: bx610_b6c3_uv_ab
--- save to: bx610_b6c3_uv_ab/fit.h5
Filename: /Users/Rui/Documents/Workspace/projects/GMaKE/gmake/opt.py
Line # Mem usage Increment Line Contents
================================================
24 529.8 MiB 529.8 MiB def fit_setup(inp_dct,dat_dct,initial_model=False,save_model=False,copydata=False):
25 """
26 for method='emcee': sampler is an emcee object
27 for method=others: sampler is a dict
28 """
29
30 529.8 MiB 0.0 MiB fit_dct=opt_setup(inp_dct,dat_dct)
31
32 529.8 MiB 0.0 MiB outfolder=fit_dct['outfolder']
33
34 529.8 MiB 0.0 MiB if copydata==True:
35
36 dat_dct_path=outfolder+'/data.h5'
37 dct2hdf(dat_dct,outname=dat_dct_path)
38
39 529.8 MiB 0.0 MiB if initial_model==True:
40
41 start_time = time.time()
42 if save_model==True:
43 lnl,lnprob,chisq,ndata,npar=model_lnprob2(fit_dct['p_start'],fit_dct,inp_dct,dat_dct,
44 savemodel=outfolder+'/model_0')
45 else:
46 lnl,lnprob,chisq,ndata,npar=model_lnprob2(fit_dct['p_start'],fit_dct,inp_dct,dat_dct,
47 savemodel=None)
48 #lnl,blobs=model_lnprob(fit_dct['p_start'],fit_dct,inp_dct,dat_dct,packblobs=True,
49 # savemodel='')
50 logger.debug("{0:50} : {1:<8.5f} seconds".format('one trial',time.time()-start_time))
51
52 logger.debug('ndata->'+str(ndata))
53 logger.debug('chisq->'+str(chisq))
54 """
55 lnl,blobs=model_lnprob(fit_dct['p_start'],fit_dct,inp_dct,dat_dct,
56 savemodel=fit_dct['outfolder']+'/model_0')
57 logger.debug('p_start: ')
58 logger.debug(pformat(blobs))
59 """
60
61 529.8 MiB 0.0 MiB dct2hdf(fit_dct,outname=outfolder+'/fit.h5')
62
63 529.8 MiB 0.0 MiB return fit_dct
#%mprun -f gmake.model_dynamics.model_vrot gmake.model_lnlike2(fit_dct['p_start'],fit_dct,inp_dct,dat_dct)
#%memit gmake.model_lnlike2(fit_dct['p_start'],fit_dct,inp_dct,dat_dct)
%lprun -f gmake.model_lnlike2 gmake.model_lnlike2(fit_dct['p_start'],fit_dct,inp_dct,dat_dct)
#%mprun -f gmake.model_uvchi2 gmake.model_lnlike2(fit_dct['p_start'],fit_dct,inp_dct,dat_dct)
#%lprun gmake.fit_iterate(fit_dct,inp_dct,dat_dct)
imodel@../data/bx610/alma/2015.1.00250.S/bb2.ms 34430412.38956993
imodel@../data/bx610/alma/2015.1.00250.S/bb3.ms 32123415.550489213
imodel@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs 160324.93087314288
imodel@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs 148850.44333369774
Timer unit: 1e-06 s
Total time: 1.83022 s
File: /Users/Rui/Documents/Workspace/projects/GMaKE/gmake/model_eval.py
Function: model_lnlike2 at line 23
Line # Hits Time Per Hit % Time Line Contents
==============================================================
23 def model_lnlike2(theta,fit_dct,inp_dct,dat_dct,
24 savemodel=None,decomp=False,nsamps=1e5,
25 returnwdev=False,
26 verbose=False,test_threading=False):
27 """
28 the likelihood function
29
30 step: + fill the varying parameter into inp_dct
31 + convert inp_dct to mod_dct
32 + use mod_dct to regenerate RC
33 """
34
35
36 1 2.0 2.0 0.0 blobs={'lnprob':0.0,
37 1 1.0 1.0 0.0 'chisq':0.0,
38 1 0.0 0.0 0.0 'ndata':0.0,
39 1 8.0 8.0 0.0 'wdev':np.array([]),
40 1 1.0 1.0 0.0 'npar':len(theta)}
41 1 1.0 1.0 0.0 if returnwdev==False:
42 1 2.0 2.0 0.0 del blobs['wdev']
43
44 #models_size=human_unit(get_obj_size(fit_dct)*u.byte)
45 #logger.info("before models size {:0.2f} ---".format(models_size))
46 #models_size=human_unit(get_obj_size(inp_dct)*u.byte)
47 #logger.info("before models size {:0.2f} ---".format(models_size))
48
49
50
51 """
52 if test_threading==True:
53 # don't actually calculate model
54 # used for testing threading overheads.
55 x=dat_dct
56 t = time.time() + np.random.uniform(0.1, 0.2)
57 while True:
58 if time.time() >= t:
59 break
60 return 0.0,blobs
61 """
62
63 1 1377.0 1377.0 0.1 inp_dct0=deepcopy(inp_dct)
64
65
66 4 7.0 1.8 0.0 for ind in range(len(fit_dct['p_name'])):
67 #print(fit_dct['p_name'][ind],theta[ind],fit_dct['p_unit'][ind],type(fit_dct['p_unit'][ind]))
68 3 173.0 57.7 0.0 write_par(inp_dct0,fit_dct['p_name'][ind],theta[ind]*fit_dct['p_unit'][ind],verbose=False)
69
70
71
72 #tic0=time.time()
73 1 1712.0 1712.0 0.1 mod_dct=inp2mod(inp_dct0) # in physical units
74 1 9976.0 9976.0 0.5 model_vrot(mod_dct) # in natural (default internal units)
75 #print('Took {0} second on inp2mod'.format(float(time.time()-tic0)))
76
77
78 1 2.0 2.0 0.0 if test_threading==True:
79 # don't actually calculate model
80 # used for testing threading overheads.
81 x=dat_dct
82 t = time.time() + np.random.uniform(1.1, 1.2)
83 while True:
84 if time.time() >= t:
85 break
86 return 0.0,blobs
87
88
89 #tic0=time.time()
90 #models=gmake_kinmspy_api(mod_dct,dat_dct=dat_dct)
91
92 #if savemodel is not None:
93 # nsamps=nsamps*10
94
95 #print('before',process.memory_info().rss/1024/1024)
96 #logger.info("before models size {:0.2f} ---".format(models_size))
97
98 1 33106.0 33106.0 1.8 models=model_init2(mod_dct,dat_dct,decomp=decomp,verbose=verbose)
99 1 15094.0 15094.0 0.8 models_size=human_unit(get_obj_size(models)*u.byte)
100
101
102 1 237395.0 237395.0 13.0 model_fill2(models,decomp=decomp,nsamps=nsamps,verbose=verbose)
103
104 #print('before',process.memory_info().rss/1024/1024)
105
106
107 #models_size=human_unit(get_obj_size(models)*u.byte)
108 #logger.info("--- models size {:0.2f} ---".format(models_size))
109
110 #models_size=human_unit(get_obj_size(models)*u.byte)
111 #logger.info("before models size {:0.2f} ---".format(models_size))
112 #for key in models:
113 # print(key,get_obj_size(models[key])/1024/1024)
114
115
116
117
118
119 #print(get_obj_size(models))
120 #print(blobs['lnprob'])
121 #models_size=human_unit(get_obj_size(models)*u.byte)
122 #logger.info("after models size {:0.2f} ---".format(models_size))
123
124
125
126
127 #models_size=human_unit(get_obj_size(models)*u.byte)
128 #logger.info("--- models size {:0.2f} ---".format(models_size))
129
130
131
132
133 #for key in models:
134 # print(key,get_obj_size(models[key])/1024/1024)
135
136 21 28.0 1.3 0.0 for tag in list(models.keys()):
137
138 20 22.0 1.1 0.0 if 'imodel@' in tag:
139
140 4 9.0 2.2 0.0 if models[tag.replace('imodel@','type@')]=='vis':
141 #print(models[tag])
142 4 7.0 1.8 0.0 chi2=model_uvchi2(models[tag],#*models[tag.replace('imod3d@','pbeam@')],
143 #models[tag.replace('imod3d@','imod2d@')],#*models[tag.replace('imod3d@','pbeam@')],
144 4 4.0 1.0 0.0 models[tag.replace('imodel@','header@')],
145 4 7.0 1.8 0.0 dat_dct[tag.replace('imodel@','data@')],
146 4 6.0 1.5 0.0 dat_dct[tag.replace('imodel@','uvw@')],
147 4 5.0 1.2 0.0 dat_dct[tag.replace('imodel@','phasecenter@')],
148 4 4.0 1.0 0.0 dat_dct[tag.replace('imodel@','weight@')],
149 4 3.0 0.8 0.0 average=True,
150 4 1528166.0 382041.5 83.5 verbose=verbose)
151 #print(chi2)
152 4 10.0 2.5 0.0 blobs['chisq']+=chi2
153 4 3094.0 773.5 0.2 logger.debug("{0} {1}".format(tag,chi2))
154
155 1 1.0 1.0 0.0 lnl=blobs['lnprob']
156 #print('after',process.memory_info().rss/1024/1024)
157 #logger.debug("{0} {1}".format('-->',blobs['chisq']))
158 1 1.0 1.0 0.0 return lnl,blobs
inp_dct=gmake.read_inp(inpfile)
inp_dct=gmake.inp_validate(inp_dct)
mod_dct=gmake.inp2mod(inp_dct)
gmake.model_vrot(mod_dct)
#mod_dct['co76']
fit_dct=gmake.fit_setup(inp_dct,dat_dct,initial_model=True)
gmake.fit_iterate(fit_dct,inp_dct,dat_dct)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
optimizer: amoeba
optimizing parameters:
----------------------------------------------------------------------------------------------------
index name unit start lo_limit up_limit scale
0 vsys@basics km / s 117.50 ( 0.00 , 220.00 ) 117.50
1 disk_sd@diskdyn solMass / pc2 3000.00 ( 100.00 , 50000.00 ) 47000.00
2 disk_rs@diskdyn kpc 5.00 ( 0.20 , 30.00 ) 25.00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ndim: 3
outdir: bx610_b6c3_uv_ab
--> 66862999.715953484
one trial : 1.53849 seconds
ndata->0.0
chisq->66862999.715953484
--- save to: bx610_b6c3_uv_ab/fit.h5
Running AMOEBA...
>>bx610_b6c3_uv_ab/amoeba_chain.h5
--> 66863006.92562753
--> 66862422.22514197
--> 66862158.710540414
0 66862159 inf
/Users/Rui/Documents/Workspace/projects/GMaKE/gmake/opt_amoeba.py:284: RuntimeWarning: invalid value encountered in double_scalars
rtol=2.0*np.abs(y[ihi]-y[ilo])/d
--> 66862706.98227224
1 66862159 66863007
---------------------------------------------------------------------------
KeyboardInterrupt Traceback (most recent call last)
<ipython-input-57-ddceeea01f29> in <module>
5 #mod_dct['co76']
6 fit_dct=gmake.fit_setup(inp_dct,dat_dct,initial_model=True)
----> 7 gmake.fit_iterate(fit_dct,inp_dct,dat_dct)
~/Documents/Workspace/projects/GMaKE/gmake/opt.py in fit_iterate(fit_dct, inp_dct, dat_dct)
226
227 if 'amoeba' in fit_dct['method']:
--> 228 amoeba_iterate(fit_dct,inp_dct,dat_dct,nstep=inp_dct['optimize']['niter'])
229 return
230 if 'emcee' in fit_dct['method']:
~/Documents/Workspace/projects/GMaKE/gmake/opt_amoeba.py in amoeba_iterate(fit_dct, inp_dct, dat_dct, nstep)
36 funcargs={'fit_dct':fit_dct,'inp_dct':inp_dct,'dat_dct':dat_dct},
37 ftol=1e-10,temperature=0,
---> 38 maxiter=nstep,verbose=True)
39 #lnl,blobs=model_lnlike(p_amoeba['p_best'],fit_dct,inp_dct,dat_dct)
40 #p_amoeba['blobs']=blobs
~/Documents/Workspace/projects/GMaKE/gmake/opt_amoeba.py in amoeba_sa(func, p0, scale, p_lo, p_up, funcargs, ftol, maxiter, temperature, format_prec, verbose)
295 temperature=temperature,
296 p_up=p_up,p_lo=p_lo,
--> 297 pars=pars,chi2=chi2,funcargs=funcargs)
298 #print '<-',psum
299 if ytry<=y[ilo]:
~/Documents/Workspace/projects/GMaKE/gmake/opt_amoeba.py in amotry_sa(func, p, psum, ihi, fac, y, temperature, p_up, p_lo, pars, chi2, funcargs)
350 ptry=np.maximum(np.minimum(psum*fac1-p[:,ihi]*fac2,p_up),p_lo)
351
--> 352 ytry=func(ptry,**funcargs)
353
354
~/Documents/Workspace/projects/GMaKE/gmake/model_eval.py in model_chisq2(theta, fit_dct, inp_dct, dat_dct, savemodel, verbose)
623 return +np.inf
624
--> 625 lnl,blobs=model_lnlike2(theta,fit_dct,inp_dct,dat_dct,savemodel=savemodel)
626
627 if verbose==True:
~/Documents/Workspace/projects/GMaKE/gmake/model_eval.py in model_lnlike2(theta, fit_dct, inp_dct, dat_dct, savemodel, decomp, nsamps, returnwdev, verbose, test_threading)
148 dat_dct[tag.replace('imodel@','weight@')],
149 average=True,
--> 150 verbose=verbose)
151 #print(chi2)
152 blobs['chisq']+=chi2
~/Documents/Workspace/projects/GMaKE/gmake/model_func.py in model_uvchi2(xymod3d, xyheader, uvdata, uvw, phasecenter, uvweight, average, verbose)
1172 dRA=dRA.astype(np.float32),dDec=dDec.astype(np.float32),
1173 PA=0.,check=False,origin='lower'),
-> 1174 'b':uvdata[:,i]})
1175 chi2+=ne.evaluate('sum( ( (a.real)**2+(a.imag)**2 ) *c)',
1176 local_dict={'a':delta_uv,
~/Library/Python/3.7/lib/python/site-packages/numexpr/necompiler.py in evaluate(ex, local_dict, global_dict, out, order, casting, **kwargs)
811 raise ValueError("must specify expression as a string")
812 # Get the names for this expression
--> 813 context = getContext(kwargs, frame_depth=1)
814 expr_key = (ex, tuple(sorted(context.items())))
815 if expr_key not in _names_cache:
~/Library/Python/3.7/lib/python/site-packages/numexpr/necompiler.py in getContext(kwargs, frame_depth)
539 value = d.pop(name, default)
540 if value in allowed:
--> 541 context[name] = value
542 else:
543 raise ValueError("'%s' must be one of %s" % (name, allowed))
KeyboardInterrupt:
#from hickle import SerializedWarning
%matplotlib inline
#%matplotlib notebook
gmake.fit_analyze(inpfile,export=True)
#print(fit_dct['p_scale'])
--- save to: bx610_b6c3_uv_ab/fit.h5
Check optimized parameters:
0 vsys@basics = 117.50 <- 117.50 ( 0.00 , 220.00 )
1 disk_sd@diskdyn = 3000.00 <- 3000.00 ( 100.00 , 50000.00 )
2 disk_rs@diskdyn = 5.00 <- 5.00 ( 0.20 , 30.00 )
3 vdis@basics = 50.00 <- 50.00 ( 0.00 , 200.00 )
4 pa@basics = -52.40 <- -52.40 ( -132.40 , 27.60 )
5 inc@basics = 44.06 <- 44.06 ( 5.00 , 85.00 )
6 xypos.ra@basics = 356.5393258 <- 356.5393258 ( 356.5390481 , 356.5396036 )
7 xypos.dec@basics = 12.8220182 <- 12.8220182 ( 12.8217404 , 12.8222960 )
8 lineflux@co76 = 1.30 <- 1.30 ( 0.10 , 200.00 )
9 sbser[0]@co76 = 0.22 <- 0.22 ( 0.01 , 2.00 )
10 lineflux@ci21 = 0.65 <- 0.65 ( 0.10 , 200.00 )
11 sbser[0]@ci21 = 0.19 <- 0.19 ( 0.01 , 2.00 )
12 lineflux@h2o = 0.32 <- 0.32 ( 0.10 , 200.00 )
13 sbser[0]@h2o = 0.17 <- 0.17 ( 0.01 , 2.00 )
14 contflux@cont = 0.00 <- 0.00 ( 0.00 , 0.01 )
15 sbser[0]@cont = 0.12 <- 0.12 ( 0.01 , 2.00 )
16 alpha@cont = 3.72 <- 3.72 ( 3.00 , 4.50 )
analyzing outfolder:bx610_b6c3_uv_ab
plotting...bx610_b6c3_uv_ab/iteration.pdf
read data (may take some time..)
Read: ../data/bx610/alma/2015.1.00250.S/bb2.ms
data@../data/bx610/alma/2015.1.00250.S/bb2.ms complex64 (56354, 238) 102 MiB
uvw@../data/bx610/alma/2015.1.00250.S/bb2.ms float32 (56354, 3) 661 KiB
weight@../data/bx610/alma/2015.1.00250.S/bb2.ms float32 (56354,) 220 KiB
>>percentiles (0,16,50,84,100)%: [ 25.42425919 120.59348969 161.43834686 222.05312988 274.09368896]
chanfreq@../data/bx610/alma/2015.1.00250.S/bb2.ms (238,) 250752859438.0543 Hz 252604264234.0391 Hz
chanwidth@../data/bx610/alma/2015.1.00250.S/bb2.ms (238,) 7811834.5822 Hz 7811834.5822 Hz
phasecenter@../data/bx610/alma/2015.1.00250.S/bb2.ms 23h46m09.44s 12d49m19.3s
Read: ../data/bx610/alma/2015.1.00250.S/bb3.ms
data@../data/bx610/alma/2015.1.00250.S/bb3.ms complex64 (53466, 238) 97 MiB
uvw@../data/bx610/alma/2015.1.00250.S/bb3.ms float32 (53466, 3) 627 KiB
weight@../data/bx610/alma/2015.1.00250.S/bb3.ms float32 (53466,) 209 KiB
>>percentiles (0,16,50,84,100)%: [ 28.95802307 136.6611145 187.34054565 248.30665283 289.60601807]
chanfreq@../data/bx610/alma/2015.1.00250.S/bb3.ms (238,) 233254349973.6942 Hz 235105754769.6790 Hz
chanwidth@../data/bx610/alma/2015.1.00250.S/bb3.ms (238,) -7811834.5822 Hz -7811834.5822 Hz
phasecenter@../data/bx610/alma/2015.1.00250.S/bb3.ms 23h46m09.44s 12d49m19.3s
Read: ../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs
data@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs complex64 (56354, 1) 440 KiB
uvw@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs float32 (56354, 3) 661 KiB
weight@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs float32 (56354,) 220 KiB
>>percentiles (0,16,50,84,100)%: [ 5420.21582031 26262.67539063 35061.7265625 47476.43703125
59263.3984375 ]
chanfreq@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs (1,) 250073373567.0543 Hz 250073373567.0543 Hz
chanwidth@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs (1,) 1859216630.5597 Hz 1859216630.5597 Hz
phasecenter@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs 23h46m09.44s 12d49m19.3s
Read: ../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs
data@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs complex64 (56354, 1) 440 KiB
uvw@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs float32 (56354, 3) 661 KiB
weight@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs float32 (56354,) 220 KiB
>>percentiles (0,16,50,84,100)%: [ 7370.546875 35357.1671875 48239.16992188 64150.5290625
75806.0703125 ]
chanfreq@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs (1,) 235879907576.7765 Hz 235879907576.7765 Hz
chanwidth@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs (1,) -1859216630.5670 Hz -1859216630.5670 Hz
phasecenter@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs 23h46m09.44s 12d49m19.3s
--------------------------------------------------------------------------------
--- dat_dct size 203.68 Mibyte ---
--- took 2.25172 seconds ---
--- save to: bx610_b6c3_uv_ab/data.h5
data@../data/bx610/alma/2015.1.00250.S/bb2.ms 34423407.26352863 13412252
data@../data/bx610/alma/2015.1.00250.S/bb3.ms 32120841.42345846 12724908
data@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs 160325.06165286465 56354
data@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs 148848.5579627467 56354
export the model set: bx610_b6c3_uv_ab/model_0 (may take some time..)
-->data_b6c3_bb2.ms
imod2d@../data/bx610/alma/2015.1.00250.S/bb2.ms
write reference model image:
imod2d@../data/bx610/alma/2015.1.00250.S/bb2.ms to bx610_b6c3_uv_ab/model_0/imod2d_b6c3_bb2.ms.fits
imod3d@../data/bx610/alma/2015.1.00250.S/bb2.ms
write reference model image:
imod3d@../data/bx610/alma/2015.1.00250.S/bb2.ms to bx610_b6c3_uv_ab/model_0/imod3d_b6c3_bb2.ms.fits
pbeam@../data/bx610/alma/2015.1.00250.S/bb2.ms
write reference model image:
pbeam@../data/bx610/alma/2015.1.00250.S/bb2.ms to bx610_b6c3_uv_ab/model_0/pbeam_b6c3_bb2.ms.fits
write reference model profile:
imod3d_prof@co76@../data/bx610/alma/2015.1.00250.S/bb2.ms to bx610_b6c3_uv_ab/model_0/imodrp_co76_b6c3_bb2.ms.fits
write reference model profile:
imod3d_prof@ci21@../data/bx610/alma/2015.1.00250.S/bb2.ms to bx610_b6c3_uv_ab/model_0/imodrp_ci21_b6c3_bb2.ms.fits
copy ms container:
../data/bx610/alma/2015.1.00250.S/bb2.ms to bx610_b6c3_uv_ab/model_0/model_b6c3_bb2.ms
write ms column:
uvmodel@../data/bx610/alma/2015.1.00250.S/bb2.ms to data@bx610_b6c3_uv_ab/model_0/model_b6c3_bb2.ms
create symlink:
/Users/Rui/Documents/Workspace/projects/GMaKE/examples/data/bx610/alma/2015.1.00250.S/bb2.ms to bx610_b6c3_uv_ab/model_0/data_b6c3_bb2.ms
-->data_b6c3_bb3.ms
imod2d@../data/bx610/alma/2015.1.00250.S/bb3.ms
write reference model image:
imod2d@../data/bx610/alma/2015.1.00250.S/bb3.ms to bx610_b6c3_uv_ab/model_0/imod2d_b6c3_bb3.ms.fits
imod3d@../data/bx610/alma/2015.1.00250.S/bb3.ms
write reference model image:
imod3d@../data/bx610/alma/2015.1.00250.S/bb3.ms to bx610_b6c3_uv_ab/model_0/imod3d_b6c3_bb3.ms.fits
pbeam@../data/bx610/alma/2015.1.00250.S/bb3.ms
write reference model image:
pbeam@../data/bx610/alma/2015.1.00250.S/bb3.ms to bx610_b6c3_uv_ab/model_0/pbeam_b6c3_bb3.ms.fits
write reference model profile:
imod3d_prof@h2o@../data/bx610/alma/2015.1.00250.S/bb3.ms to bx610_b6c3_uv_ab/model_0/imodrp_h2o_b6c3_bb3.ms.fits
copy ms container:
../data/bx610/alma/2015.1.00250.S/bb3.ms to bx610_b6c3_uv_ab/model_0/model_b6c3_bb3.ms
write ms column:
uvmodel@../data/bx610/alma/2015.1.00250.S/bb3.ms to data@bx610_b6c3_uv_ab/model_0/model_b6c3_bb3.ms
create symlink:
/Users/Rui/Documents/Workspace/projects/GMaKE/examples/data/bx610/alma/2015.1.00250.S/bb3.ms to bx610_b6c3_uv_ab/model_0/data_b6c3_bb3.ms
-->data_b6c3_bb1.ms.mfs
imod2d@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs
write reference model image:
imod2d@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs to bx610_b6c3_uv_ab/model_0/imod2d_b6c3_bb1.ms.mfs.fits
imod3d@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs
write reference model image:
imod3d@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs to bx610_b6c3_uv_ab/model_0/imod3d_b6c3_bb1.ms.mfs.fits
pbeam@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs
write reference model image:
pbeam@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs to bx610_b6c3_uv_ab/model_0/pbeam_b6c3_bb1.ms.mfs.fits
copy ms container:
../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs to bx610_b6c3_uv_ab/model_0/model_b6c3_bb1.ms.mfs
write ms column:
uvmodel@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs to data@bx610_b6c3_uv_ab/model_0/model_b6c3_bb1.ms.mfs
create symlink:
/Users/Rui/Documents/Workspace/projects/GMaKE/examples/data/bx610/alma/2015.1.00250.S/bb1.ms.mfs to bx610_b6c3_uv_ab/model_0/data_b6c3_bb1.ms.mfs
-->data_b6c3_bb4.ms.mfs
imod2d@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs
write reference model image:
imod2d@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs to bx610_b6c3_uv_ab/model_0/imod2d_b6c3_bb4.ms.mfs.fits
imod3d@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs
write reference model image:
imod3d@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs to bx610_b6c3_uv_ab/model_0/imod3d_b6c3_bb4.ms.mfs.fits
pbeam@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs
write reference model image:
pbeam@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs to bx610_b6c3_uv_ab/model_0/pbeam_b6c3_bb4.ms.mfs.fits
copy ms container:
../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs to bx610_b6c3_uv_ab/model_0/model_b6c3_bb4.ms.mfs
write ms column:
uvmodel@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs to data@bx610_b6c3_uv_ab/model_0/model_b6c3_bb4.ms.mfs
create symlink:
/Users/Rui/Documents/Workspace/projects/GMaKE/examples/data/bx610/alma/2015.1.00250.S/bb4.ms.mfs to bx610_b6c3_uv_ab/model_0/data_b6c3_bb4.ms.mfs
--------------------------------------------------------------------------------
--- took 6.74652 seconds ---
--- save to: bx610_b6c3_uv_ab/model_0/models.h5
save the model input parameter: bx610_b6c3_uv_ab/model_0/model.inp
model_0:
{'chisq': 66853422.306602694,
'lnprob': 10223119.024962375,
'ndata': 26249868.0,
'npar': 17}
data@../data/bx610/alma/2015.1.00250.S/bb2.ms 34423512.11909051 13412252
data@../data/bx610/alma/2015.1.00250.S/bb3.ms 32120841.556975596 12724908
data@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs 160325.06165286465 56354
data@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs 148848.5579627467 56354
export the model set: bx610_b6c3_uv_ab/model_1 (may take some time..)
-->data_b6c3_bb2.ms
imod2d@../data/bx610/alma/2015.1.00250.S/bb2.ms
write reference model image:
imod2d@../data/bx610/alma/2015.1.00250.S/bb2.ms to bx610_b6c3_uv_ab/model_1/imod2d_b6c3_bb2.ms.fits
imod3d@../data/bx610/alma/2015.1.00250.S/bb2.ms
write reference model image:
imod3d@../data/bx610/alma/2015.1.00250.S/bb2.ms to bx610_b6c3_uv_ab/model_1/imod3d_b6c3_bb2.ms.fits
pbeam@../data/bx610/alma/2015.1.00250.S/bb2.ms
write reference model image:
pbeam@../data/bx610/alma/2015.1.00250.S/bb2.ms to bx610_b6c3_uv_ab/model_1/pbeam_b6c3_bb2.ms.fits
write reference model profile:
imod3d_prof@co76@../data/bx610/alma/2015.1.00250.S/bb2.ms to bx610_b6c3_uv_ab/model_1/imodrp_co76_b6c3_bb2.ms.fits
write reference model profile:
imod3d_prof@ci21@../data/bx610/alma/2015.1.00250.S/bb2.ms to bx610_b6c3_uv_ab/model_1/imodrp_ci21_b6c3_bb2.ms.fits
copy ms container:
../data/bx610/alma/2015.1.00250.S/bb2.ms to bx610_b6c3_uv_ab/model_1/model_b6c3_bb2.ms
write ms column:
uvmodel@../data/bx610/alma/2015.1.00250.S/bb2.ms to data@bx610_b6c3_uv_ab/model_1/model_b6c3_bb2.ms
create symlink:
/Users/Rui/Documents/Workspace/projects/GMaKE/examples/data/bx610/alma/2015.1.00250.S/bb2.ms to bx610_b6c3_uv_ab/model_1/data_b6c3_bb2.ms
-->data_b6c3_bb3.ms
imod2d@../data/bx610/alma/2015.1.00250.S/bb3.ms
write reference model image:
imod2d@../data/bx610/alma/2015.1.00250.S/bb3.ms to bx610_b6c3_uv_ab/model_1/imod2d_b6c3_bb3.ms.fits
imod3d@../data/bx610/alma/2015.1.00250.S/bb3.ms
write reference model image:
imod3d@../data/bx610/alma/2015.1.00250.S/bb3.ms to bx610_b6c3_uv_ab/model_1/imod3d_b6c3_bb3.ms.fits
pbeam@../data/bx610/alma/2015.1.00250.S/bb3.ms
write reference model image:
pbeam@../data/bx610/alma/2015.1.00250.S/bb3.ms to bx610_b6c3_uv_ab/model_1/pbeam_b6c3_bb3.ms.fits
write reference model profile:
imod3d_prof@h2o@../data/bx610/alma/2015.1.00250.S/bb3.ms to bx610_b6c3_uv_ab/model_1/imodrp_h2o_b6c3_bb3.ms.fits
copy ms container:
../data/bx610/alma/2015.1.00250.S/bb3.ms to bx610_b6c3_uv_ab/model_1/model_b6c3_bb3.ms
write ms column:
uvmodel@../data/bx610/alma/2015.1.00250.S/bb3.ms to data@bx610_b6c3_uv_ab/model_1/model_b6c3_bb3.ms
create symlink:
/Users/Rui/Documents/Workspace/projects/GMaKE/examples/data/bx610/alma/2015.1.00250.S/bb3.ms to bx610_b6c3_uv_ab/model_1/data_b6c3_bb3.ms
-->data_b6c3_bb1.ms.mfs
imod2d@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs
write reference model image:
imod2d@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs to bx610_b6c3_uv_ab/model_1/imod2d_b6c3_bb1.ms.mfs.fits
imod3d@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs
write reference model image:
imod3d@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs to bx610_b6c3_uv_ab/model_1/imod3d_b6c3_bb1.ms.mfs.fits
pbeam@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs
write reference model image:
pbeam@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs to bx610_b6c3_uv_ab/model_1/pbeam_b6c3_bb1.ms.mfs.fits
copy ms container:
../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs to bx610_b6c3_uv_ab/model_1/model_b6c3_bb1.ms.mfs
write ms column:
uvmodel@../data/bx610/alma/2015.1.00250.S/bb1.ms.mfs to data@bx610_b6c3_uv_ab/model_1/model_b6c3_bb1.ms.mfs
create symlink:
/Users/Rui/Documents/Workspace/projects/GMaKE/examples/data/bx610/alma/2015.1.00250.S/bb1.ms.mfs to bx610_b6c3_uv_ab/model_1/data_b6c3_bb1.ms.mfs
-->data_b6c3_bb4.ms.mfs
imod2d@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs
write reference model image:
imod2d@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs to bx610_b6c3_uv_ab/model_1/imod2d_b6c3_bb4.ms.mfs.fits
imod3d@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs
write reference model image:
imod3d@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs to bx610_b6c3_uv_ab/model_1/imod3d_b6c3_bb4.ms.mfs.fits
pbeam@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs
write reference model image:
pbeam@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs to bx610_b6c3_uv_ab/model_1/pbeam_b6c3_bb4.ms.mfs.fits
copy ms container:
../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs to bx610_b6c3_uv_ab/model_1/model_b6c3_bb4.ms.mfs
write ms column:
uvmodel@../data/bx610/alma/2015.1.00250.S/bb4.ms.mfs to data@bx610_b6c3_uv_ab/model_1/model_b6c3_bb4.ms.mfs
create symlink:
/Users/Rui/Documents/Workspace/projects/GMaKE/examples/data/bx610/alma/2015.1.00250.S/bb4.ms.mfs to bx610_b6c3_uv_ab/model_1/data_b6c3_bb4.ms.mfs
--------------------------------------------------------------------------------
--- took 8.97731 seconds ---
--- save to: bx610_b6c3_uv_ab/model_1/models.h5
save the model input parameter: bx610_b6c3_uv_ab/model_1/model.inp
model_1:
{'chisq': 66853527.295681715,
'lnprob': 10223066.530422866,
'ndata': 26249868.0,
'npar': 17}
<Figure size 432x288 with 0 Axes>
models=gmake.hdf2dct(inp_dct['general']['outdir']+'/model_1/models.h5')
#gmake.pprint(models['mod_dct']['co76'])
gmake.model_vrot_plot(models['mod_dct']['co76'])
<Figure size 432x288 with 0 Axes>
