1818
1919from wrappers .arlexecute .simulation .testing_support import create_low_test_image_from_gleam
2020from wrappers .arlexecute .imaging .base import advise_wide_field
21+ from wrappers .arlexecute .visibility .coalesce import convert_blockvisibility_to_visibility , \
22+ convert_visibility_to_blockvisibility
2123
2224from workflows .arlexecute .imaging .imaging_arlexecute import predict_list_arlexecute_workflow
2325from workflows .arlexecute .simulation .simulation_arlexecute import simulate_list_arlexecute_workflow , \
@@ -37,9 +39,9 @@ def init_logging():
3739
3840if __name__ == '__main__' :
3941 log = logging .getLogger ()
40- print ("Starting ska-pipelines pipeline" )
42+ print ("Starting ska-pipelines simulation pipeline" )
4143
42- arlexecute .set_client (use_dask = True , threads_per_worker = 1 , memory_limit = 4e9 ,
44+ arlexecute .set_client (use_dask = True , threads_per_worker = 1 , memory_limit = 32 * 1024 * 1024 * 1024 , n_workers = 8 ,
4345 local_dir = dask_dir )
4446 print (arlexecute .client )
4547 arlexecute .run (init_logging )
@@ -57,15 +59,17 @@ def init_logging():
5759 times = numpy .linspace (- numpy .pi / 3.0 , numpy .pi / 3.0 , ntimes )
5860 phasecentre = SkyCoord (ra = + 30.0 * u .deg , dec = - 60.0 * u .deg , frame = 'icrs' , equinox = 'J2000' )
5961
60- vis_list = simulate_list_arlexecute_workflow ('LOWBD2' ,
61- rmax = rmax ,
62- frequency = frequency ,
63- channel_bandwidth = channel_bandwidth ,
64- times = times ,
65- phasecentre = phasecentre ,
66- order = 'frequency' )
67- print ('%d elements in vis_list' % len (vis_list ))
62+ blockvis_list = simulate_list_arlexecute_workflow ('LOWBD2' ,
63+ rmax = rmax ,
64+ frequency = frequency ,
65+ channel_bandwidth = channel_bandwidth ,
66+ times = times ,
67+ phasecentre = phasecentre ,
68+ order = 'frequency' ,
69+ format = 'blockvis' )
70+ print ('%d elements in vis_list' % len (blockvis_list ))
6871 print ('About to make visibility' )
72+ vis_list = [arlexecute .execute (convert_blockvisibility_to_visibility , nout = 1 )(bv ) for bv in blockvis_list ]
6973 vis_list = arlexecute .persist (vis_list )
7074
7175 # The vis data are on the workers so we run the advice function on the workers
@@ -85,8 +89,6 @@ def init_logging():
8589
8690 # Now make a graph to fill with a model drawn from GLEAM
8791
88-
89-
9092 dprepb_model = [arlexecute .execute (create_low_test_image_from_gleam )(npixel = npixel ,
9193 frequency = [frequency [f ]],
9294 channel_bandwidth = [channel_bandwidth [f ]],
@@ -100,14 +102,12 @@ def init_logging():
100102 # Put the model on the cluster
101103 dprepb_model = arlexecute .persist (dprepb_model )
102104
103- print ('About to make GLEAM model ' )
105+ print ('About to make initial skymodel ' )
104106 zero_model = [arlexecute .execute (create_empty_image_like )(im ) for im in dprepb_model ]
105107 zero_model = arlexecute .compute (zero_model , sync = True )
106- zero_skymodel = SkyModel (images = zero_model )
108+ zero_skymodel = SkyModel (image = zero_model )
107109 export_skymodel_to_hdf5 (zero_skymodel , arl_path ('%s/ska-pipeline_simulation_skymodel.hdf' % results_dir ))
108110
109-
110-
111111 # vis_list = arlexecute.scatter(vis_list)
112112
113113 wstack = True
@@ -119,8 +119,8 @@ def init_logging():
119119 print ('Using timeslicing with %d slices' % ntimes )
120120 predicted_vislist = predict_list_arlexecute_workflow (vis_list , dprepb_model , context = 'timeslice' ,
121121 vis_slices = ntimes )
122-
123- corrupted_vislist = corrupt_list_arlexecute_workflow (predicted_vislist , phase_error = 1.0 , seed = 180555 )
122+ corrupted_vislist = [ arlexecute . execute ( convert_visibility_to_blockvisibility )( v ) for v in predicted_vislist ]
123+ corrupted_vislist = corrupt_list_arlexecute_workflow (corrupted_vislist , phase_error = 1.0 , seed = 180555 )
124124
125125 export_list = [arlexecute .execute (export_blockvisibility_to_hdf5 )
126126 (corrupted_vislist [v ], arl_path ('%s/ska-pipeline_simulation_vislist_%d.hdf' % (results_dir , v )))
0 commit comments