"readme.md" did not exist on "9320e1ebe36b787aef24aeb546e3d9df3ade91a6"
Select Git revision
Forked from
LOFAR2.0 / sdptr
Source project has a limited visibility.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
inspect_flagging_dataloss.cwl 5.20 KiB
class: CommandLineTool
cwlVersion: v1.1
id: inspect_flagging_dataloss
baseCommand:
- python3
- script.py
inputs:
- id: input
type: Directory
inputBinding:
position: 0
shellQuote: false
- id: uvw_sampling
type: int?
default: 100
inputBinding:
position: 1
outputs:
- id: output
type: 'File'
outputBinding:
glob: metrics.json
- id: flags_output
type: 'File'
outputBinding:
glob: flags.h5
label: inspect_flagging_dataloss
requirements:
- class: ShellCommandRequirement
- class: InitialWorkDirRequirement
listing:
- entryname: script.py
entry: |
import sys
from casacore.tables import table
import itertools
import json
import h5py
import numpy as np
import re
from scipy.constants import c as LIGHT_SPEED
input_ms_path = sys.argv[1]
sampling = int(sys.argv[2])
main_table = table(input_ms_path, 'r')
antennas = table(input_ms_path + '/ANTENNA', 'r')
spec_window = table(input_ms_path + '/SPECTRAL_WINDOW', 'r')
observation = table(input_ms_path + '/OBSERVATION', 'r')
sas_id, sap, sb = re.search('L(\d*).*SAP(\d{3}).*SB(\d{3}).*',
observation.getcell('LOFAR_FILENAME', 0)).groups()
antenna_names = antennas.getcol('NAME')
antenna_positions = antennas.getcol('POSITION')
ref_frequency = spec_window.getcell('REF_FREQUENCY', 0)
TO_UVW = ref_frequency / LIGHT_SPEED # 1 / (c/nu)
flags = np.array(main_table.getcol('FLAG'))
vis = np.array(main_table.getcol('DATA'))
uvw = np.array(main_table.getcol('UVW') * TO_UVW)
antenna1 = np.array(main_table.getcol('ANTENNA1'))
antenna2 = np.array(main_table.getcol('ANTENNA2'))
time = np.array(main_table.getcol('TIME'))
n_antennas = antennas.nrows()
n_baselines = int((n_antennas + 1) * n_antennas * .5)
n_times = flags.shape[0] // n_baselines
dataloss = np.array(vis == 0, dtype=np.int)