forked from ajstewart/PiLL
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLBA_pipeline.parset
executable file
·136 lines (124 loc) · 12.7 KB
/
LBA_pipeline.parset
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
################################################################################################################################################################################################################################################################
## ##
## LOFAR LBA calibration parset ##
## ##
################################################################################################################################################################################################################################################################
### Pipelines to run
pipeline.steps = [calibrator,time_split,selfcal]
### Parameter setup -- observational details
!calibrator = 3C295
!target = A2069
### Parameter setup -- main directories
!archive = /ola/LOFAR/LBA/A2069 ## specify the directory of your observation (parent directory, not really needed)
!working_directory = input.output.working_directory ## replace it with the working_directory of the genericpipeline or use the LOFAR_pipeline.py script
!job_directory = input.output.job_directory ## replace it with the job_directory (typically working_directory/parset) of the genericpipeline or use the LOFAR_pipeline.py script
!lofar_directory = $LOFARROOT ## replace it with the directory of your LOFAR software (optimized for local LOFAR installations) or use the LOFAR_pipeline.py script
!local_directory = $PWD ## replace it with the directory where your scripts and plugins are
!losoto_directory = {{ lofar_directory }} ## replace it with the directory where you have installed LoSoTo, e.g., on CEP3
!wsclean_directory = {{ lofar_directory }} ## replace it with the directory where you have installed wsclean, e.g., on CEP3
### Parameter setup -- subdirectories
!calibrator_directory = {{ archive }}/{{ calibrator }} ## specify the directory of your calibrator files
!target_directory = {{ archive }}/{{ target }} ## specify the directory of your calibrator files
!skymodels = {{ lofar_directory }}/share/pipeline/skymodels ## specify the directory of all external skymodels (usually shipped with your LOFAR installation) or use the LOFAR_pipeline.py script
!scripts = {{ local_directory }}/scripts ## specify the directory of the pipeline scripts
pipeline.pluginpath = {{ local_directory }}/plugins ## specify the directory of the pipeline plugins
### Parameter setup -- data selection
!calibrator_pattern = L368144_SB(33[8-9]|3[4-9]?|4[0-2]?|43[0-7])_uv.dppp.MS ## regular expression pattern of all your calibrator files
!calibrator_template = L368144_SB388_uv.dppp.MS ## just pick a single MS of your calibrator files and put the name here
!target_pattern = L368146*.MS ## regular expression pattern of all your target files
!target_template = L368146_SB150_uv.dppp.MS ## just pick a single MS of your calibrator files and put the name here
!bad_stations = ;!CS031LBA*&&*;!RS210LBA*&&*;!RS310LBA*&&*;!RS409LBA*&&* ## filter list of bad stations (beginn with ;! and add ;! for every other station)
!reference_station = 'CS001LBA' ## pick a reference station for plotting/calibration
### Parameter setup -- computing performance
!max_per_node = input.output.max_per_node ## this is defined in the pipeline.cfg
!max_dppp_threads = input.output.max_per_node ## max number of threads NDPPP is using
!max_per_node_limit = 10 ## number of I/O intense jobs
!max_mem_per_img = 90 ## maximal percentage of memory used for imaging with wsclean
### Parameter setup -- processing variables
!average_timestep = 2 ## average down to 4sec
!average_freqstep = 4 ## average down to 4ch/SB
!timechunk = 1.05 ## length of a time chunk for the target field in hours
!chunks = 100 ## number of subbands to concatenate
!niter = 3 ## number of target selfcal iterations
!flag_elevation = 0deg..20deg ## range within data should be flagged
!truncate_last_SBs = False ## This means that excess subbands that don't make a full group get discarded (time_split pipeline)
!rfistrategy = LBAdefault ## we have LBA, see http://www.astron.nl/radio-observatory/observing-capabilities/depth-technical-information/system-notes/inaccurate-flaggin
!tables2export = phase000;clock000 ## choose tables to export (use phaseOrig000 if you want to export the full phase solutions)
!tables2apply = correctamp,correctclock ## choose which tables to apply (use correctamp only if you have exported phaseOrig000 above)
!error_tolerance = False ## set this to True if you want the pipeline run to continue if single bands fail
!job_name = input.output.job_name ## do not change this!
################################################################################################################################################################################################################################################################
################################################################################################################################################################################################################################################################
### Step: 01
### --- Running the calibrator pipeline
calibrator.control.kind = pipeline
calibrator.control.type = {{ local_directory }}/calibrator.parset
calibrator.argument.calibrator = {{ calibrator }}
calibrator.argument.job_directory = {{ job_directory }}
calibrator.argument.lofar_directory = {{ lofar_directory }}
calibrator.argument.losoto_directory = {{ losoto_directory }}
calibrator.argument.calibrator_directory = {{ calibrator_directory }}
calibrator.argument.skymodels = {{ skymodels }}
calibrator.argument.scripts = {{ scripts }}
calibrator.argument.calibrator_pattern = {{ calibrator_pattern }}
calibrator.argument.calibrator_template = {{ calibrator_template }}
calibrator.argument.bad_stations = {{ bad_stations }}
calibrator.argument.reference_station = {{ reference_station }}
calibrator.argument.max_per_node = {{ max_per_node }}
calibrator.argument.max_dppp_threads = {{ max_dppp_threads }}
calibrator.argument.max_per_node_limit = {{ max_per_node_limit }}
calibrator.argument.avg_timestep = {{ avg_timestep }}
calibrator.argument.avg_freqstep = {{ avg_freqstep }}
calibrator.argument.rfistrategy = {{ rfistrategy }}
calibrator.argument.tables2export = {{ tables2export }}
calibrator.argument.flag_elevation = {{ flag_elevation }}
calibrator.argument.error_tolerance = {{ error_tolerance }}
calibrator.argument.job_name = {{ job_name }}
### Step: 02
### --- Running the time_split pipeline
time_split.control.kind = pipeline
time_split.control.type = {{ local_directory }}/time_split.parset
time_split.argument.job_directory = {{ job_directory }}
time_split.argument.lofar_directory = {{ lofar_directory }}
time_split.argument.target_directory = {{ target_directory }}
time_split.argument.scripts = {{ scripts }}
time_split.argument.target_pattern = {{ target_pattern }}
time_split.argument.bad_stations = {{ bad_stations }}
time_split.argument.max_per_node = {{ max_per_node }}
time_split.argument.max_dppp_threads = {{ max_dppp_threads }}
time_split.argument.max_per_node_limit = {{ max_per_node_limit }}
time_split.argument.avg_timestep = {{ avg_timestep }}
time_split.argument.avg_freqstep = {{ avg_freqstep }}
time_split.argument.timechunk = {{ timechunk }}
time_split.argument.chunks = {{ chunks }}
time_split.argument.truncate_last_SBs = {{ truncate_last_SBs }}
time_split.argument.rfistrategy = {{ rfistrategy }}
time_split.argument.tables2apply = {{ tables2apply }}
time_split.argument.flag_elevation = {{ flag_elevation }}
time_split.argument.error_tolerance = {{ error_tolerance }}
time_split.argument.job_name = {{ job_name }}
### Step: 03
### --- Running the selfcal pipeline
selfcal.control.kind = pipeline
selfcal.control.type = {{ local_directory }}/selfcal.parset
selfcal.argument.target = {{ target }}
selfcal.argument.job_directory = {{ job_directory }}
selfcal.argument.lofar_directory = {{ lofar_directory }}
selfcal.argument.losoto_directory = {{ losoto_directory }}
selfcal.argument.wsclean_directory = {{ wsclean_directory }}
selfcal.argument.target_directory = {{ target_directory }}
selfcal.argument.scripts = {{ scripts }}
selfcal.argument.target_template = {{ target_template }}
selfcal.argument.reference_station = {{ reference_station }}
selfcal.argument.max_per_node = {{ max_per_node }}
selfcal.argument.max_dppp_threads = {{ max_dppp_threads }}
selfcal.argument.max_per_node_limit = {{ max_per_node_limit }}
selfcal.argument.max_mem_per_img = {{ max_mem_per_img }}
selfcal.argument.error_tolerance = {{ error_tolerance }}
selfcal.argument.niter = {{ niter }}
selfcal.argument.job_name = {{ job_name }}
################################################################################################################################################################################################################################################################
## ##
## LOFAR LBA calibration parset ##
## ##
################################################################################################################################################################################################################################################################