Control File Keyword Reference
This page documents every control file keyword recognized by fourfit4.
Keywords are grouped by their function in the processing pipeline.
Supported reflects current HOPS4 implementation status.
EHT / VGOS indicates which experiment type requires the keyword (EHT, VGOS, or BOTH).
Conditional Statements
Conditional blocks allow control file statements to be applied selectively based on baseline, station, source, or scan properties.
Keyword |
Format |
EHT / VGOS |
Supported |
Implementation Class |
Notes |
|---|---|---|---|---|---|
|
BOTH |
No |
Never implemented in the original fourfit |
||
|
list of strings |
BOTH |
Yes |
MHO_ControlConditionEvaluator and MHO_ControlFileParser |
Labeling Operators
Labeling operators assign identifiers (channel labels, sampler indices, polarization labels) to the data. They execute first in the operator pipeline, before any calibration is applied.
Keyword |
Format |
EHT / VGOS |
Supported |
Implementation Class |
Notes |
|---|---|---|---|---|---|
|
channel_names: string, channel_frequencies: list of floats |
BOTH |
Yes |
MHO_ChannelLabeler |
|
|
module_path: string, function_name: string, [override_priority: float] |
BOTH |
Yes |
MHO_PythonOperatorBuilder |
Requires build with HOPS_ENABLE_EMBEDDED_PYTHON=ON; priority 0.2 |
|
fixed-length list of strings |
BOTH (VGOS mainly) |
Yes |
MHO_SamplerLabeler |
|
|
pol1: string, pol2: string |
BOTH |
Yes |
MHO_PolarizationRelabeler / MHO_PolarizationRelabelerBuilder |
priority 0.1 |
Flagging and Selection
These keywords mark or exclude data based on quality criteria, spectral notches, passband limits, or time/frequency selection.
Keyword |
Format |
EHT / VGOS |
Supported |
Implementation Class |
Notes |
|---|---|---|---|---|---|
|
true | false |
BOTH |
Yes |
MHO_DCBlock |
Needs testing (check XP spectrum agains ff3) |
|
logical-intersection list of strings |
BOTH |
Yes |
MHO_DataSelectionBuilder and MHO_SelectRepack |
We need to debug the case where freqs selects down to just 1 channel |
|
float |
BOTH |
Yes |
Not fully tested, appears to be working |
|
|
offset: float, period: float, width: float |
BOTH |
Yes |
MHO_NotchComb / MHO_NotchCombBuilder |
priority 4.5 |
|
list of floats |
BOTH |
Yes |
MHO_Notches |
SNR agrees with fourfit3, more testing needed |
|
list of floats |
BOTH |
Yes |
MHO_Passband |
SNR agrees with fourfit3, more testing needed |
|
module_path: string, function_name: string, [override_priority: float] |
BOTH |
Yes |
MHO_PythonOperatorBuilder |
Requires build with HOPS_ENABLE_EMBEDDED_PYTHON=ON; priority 2.9 |
|
true | false |
BOTH |
Yes |
||
|
integer |
BOTH |
Yes |
MHO_DataSelectionBuilder and MHO_SelectRepack |
integer sec within scan selection enabled, minute-past-the-hour is not supported |
|
integer |
BOTH |
Yes |
MHO_DataSelectionBuilder and MHO_SelectRepack |
integer sec within scan selection enabled, minute-past-the-hour is not supported |
Calibration Operators
Calibration operators apply phase, delay, and amplitude corrections to the visibility data. Execution order within this category is determined by the operator priority value.
Keyword |
Format |
EHT / VGOS |
Supported |
Implementation Class |
Notes |
|---|---|---|---|---|---|
|
string |
EHT |
Yes |
MHO_AdhocPhaseCorrection |
Tested for USB |
|
string |
EHT |
Yes |
MHO_AdhocPhaseCorrection |
Tested for USB |
|
flag_file: string |
EHT |
Yes |
MHO_AdhocFlagging |
Tested for USB |
|
float |
EHT |
Yes |
MHO_AdhocPhaseCorrection |
Tested for USB |
|
algorithm_type: string |
EHT |
Yes |
MHO_AdhocPhaseCorrection |
Tested for USB |
|
list of floats |
EHT |
Yes |
MHO_AdhocPhaseCorrection |
Tested for USB |
|
float |
EHT |
Yes |
MHO_AdhocPhaseCorrection |
Tested for USB |
|
channel_names: string, pc_delays: list of floats |
BOTH |
Yes |
MHO_ManualChannelDelayCorrection |
|
|
channel_names: string, pc_delays: list of floats |
BOTH |
Yes |
MHO_ManualChannelDelayCorrection |
Needs further testing! – phase_shift compensation for VGOS not yet implemented |
|
channel_names: string, pc_delays: list of floats |
BOTH |
Yes |
MHO_ManualChannelDelayCorrection |
Needs further testing! – phase_shift compensation for VGOS not yet implemented |
|
channel_names: string, pc_delays: list of floats |
BOTH |
Yes |
MHO_ManualChannelDelayCorrection |
Needs further testing! – phase_shift compensation for VGOS not yet implemented |
|
channel_names: string, pc_delays: list of floats |
BOTH |
Yes |
MHO_ManualChannelDelayCorrection |
Needs further testing! – phase_shift compensation for VGOS not yet implemented |
|
string |
EHT |
Yes |
Supports apply field rotation to R/L pols for cassegrain, and nasmyth left/right telescopes, needs testing! |
|
|
float |
BOTH |
Yes |
MHO_ManualPolDelayCorrection |
Needs further testing! |
|
float |
BOTH |
Yes |
MHO_ManualPolDelayCorrection |
Needs further testing! |
|
float |
BOTH |
Yes |
MHO_ManualPolDelayCorrection |
Needs further testing! |
|
float |
BOTH |
Yes |
MHO_ManualPolDelayCorrection |
Needs further testing! |
|
string |
VGOS (multitone) BOTH (manual) |
Yes |
manual pc supported, multitone implemented (but only tested on LSB data!) |
|
|
integer |
BOTH |
Yes |
||
|
float |
BOTH |
Yes |
MHO_ManualPolPhaseCorrection |
Needs further testing! |
|
float |
BOTH |
Yes |
MHO_ManualPolPhaseCorrection |
Needs further testing! |
|
float |
BOTH |
Yes |
MHO_ManualPolPhaseCorrection |
Needs further testing! |
|
float |
BOTH |
Yes |
MHO_ManualPolPhaseCorrection |
Needs further testing! |
|
channel_names: string, pc_phases: list of floats |
BOTH |
Yes |
MHO_ManualPolPhaseCorrection |
|
|
channel_names: string, pc_phases: list of floats |
BOTH |
Yes |
MHO_ManualChannelPhaseCorrection |
Tested for LSB/USB but not DSB |
|
channel_names: string, pc_phases: list of floats |
BOTH |
Yes |
MHO_ManualChannelPhaseCorrection |
Tested for LSB/USB but not DSB |
|
channel_names: string, pc_phases: list of floats |
BOTH |
Yes |
MHO_ManualChannelPhaseCorrection |
Tested for LSB/USB but not DSB |
|
channel_names: string, pc_phases: list of floats |
BOTH |
Yes |
MHO_ManualChannelPhaseCorrection |
Tested for LSB/USB but not DSB |
|
module_path: string, function_name: string, [override_priority: float] |
BOTH |
Yes |
MHO_PythonOperatorBuilder |
Requires build with HOPS_ENABLE_EMBEDDED_PYTHON=ON; priority 3.9 |
|
module_path: string, function_name: string, [override_priority: float] |
BOTH |
Yes |
MHO_PythonOperatorBuilder |
Requires build with HOPS_ENABLE_EMBEDDED_PYTHON=ON; priority 9.9 |
|
float |
BOTH |
Yes |
MHO_StationDelayCorrection |
delay is applied directly to visibilities (note that the implementation is not the same as ff3, where it is applied during pc_delay amb resoluiton) |
Fringe Fitter Parameters
These parameters control the fringe-fitting search: delay and delay-rate windows, coherence time, reference frequency, phase calibration mode, and related station-specific settings.
Keyword |
Format |
EHT / VGOS |
Supported |
Implementation Class |
Notes |
|---|---|---|---|---|---|
|
list of floats |
BOTH |
Yes |
Needs testing |
|
|
integer |
BOTH |
Yes |
MHO_EstimatePCManual |
Needs additional testing (there may be a bug in the HOPS3 implmentation w.r.t to channel label mapping) |
|
true | false |
BOTH |
Yes |
always true (however we may want to allow the CF to be discarded too). AEN request – provide option to store CF with comments as well |
|
|
float |
BOTH |
Yes |
This is a double-side band data feature |
|
|
list of floats |
BOTH |
Yes |
Needs testing |
|
|
string |
BOTH |
Yes |
||
|
true | false |
BOTH |
Yes |
||
|
float |
BOTH |
Yes |
MHO_DelayRate, MHO_InterpolateFringePeak, MHO_ComputePlotData |
Need to document everywhere this field is used |
|
list of floats |
BOTH |
Yes |
Needs testing |
|
|
true | false |
EHT |
No, still in testing |
Read via /control/fit/spectral_line |
|
|
list of floats |
EHT |
No, still in testing |
Read via /control/fit/spectral_line_freq_win |
|
|
float |
EHT? |
Yes |
MBDelaySearch (and OpenMP/CUDA) extensions |
This is passed as a parameter, which triggers the associated behavior in MBDelaySearch, it is not a standalone operator |
|
float |
BOTH |
Yes |
VGOS-Only Parameters
These parameters are specific to VGOS (geodetic) broadband observations, including ionospheric correction, sampler delays, and tone masking.
Keyword |
Format |
EHT / VGOS |
Supported |
Implementation Class |
Notes |
|---|---|---|---|---|---|
|
integer |
VGOS |
Yes |
||
|
true | false |
VGOS |
Yes |
||
|
list of floats |
VGOS |
Yes |
||
|
float |
VGOS |
Yes |
value read in and mapped to station ID |
|
|
true | false |
VGOS/Mixedmode |
Yes |
||
|
float |
VGOS |
Yes |
||
|
channel_names: string, tone_masks: ? |
VGOS |
Yes |
Make sure this works with USB data too |
|
|
list of floats |
VGOS |
Yes |
||
|
list of floats |
VGOS |
Yes |
||
|
list of floats |
VGOS |
Yes |
||
|
list of floats |
VGOS |
Yes |
Global Configuration Parameters
Global configuration parameters affect overall pipeline behavior and are not specific to a single baseline or station.
Keyword |
Format |
EHT / VGOS |
Supported |
Implementation Class |
Notes |
|---|---|---|---|---|---|
|
float |
BOTH |
Yes |
||
|
string |
BOTH |
Yes |
||
|
module_path: string, function_name: string |
BOTH |
Yes |
MHO_PythonOperatorBuilder |
Requires build with HOPS_ENABLE_EMBEDDED_PYTHON=ON |
Python Extension Operators
Python extension operators invoke user-supplied Python functions at specific points in the pipeline (pre-fit, post-fit, calibration, flagging, labeling, finalization, and custom plotting). See the Python Plugin User Guide for details.
Keyword |
Format |
EHT / VGOS |
Supported |
Implementation Class |
Notes |
|---|---|---|---|---|---|
|
module_path: string, function_name: string, [override_priority: float] |
BOTH |
Yes |
MHO_PythonOperatorBuilder |
Requires build with HOPS_ENABLE_EMBEDDED_PYTHON=ON; priority 8.9 |
|
module_path: string, function_name: string, [override_priority: float] |
BOTH |
Yes |
MHO_PythonOperatorBuilder |
Requires build with HOPS_ENABLE_EMBEDDED_PYTHON=ON; priority 7.9 |
Deprecated / Not Supported
The following keywords are parsed for backward compatibility but are not implemented in HOPS4. They will be silently ignored or rejected.
Keyword |
Format |
EHT / VGOS |
Supported |
Implementation Class |
Notes |
|---|---|---|---|---|---|
|
No |
reserved, not implemented |
|||
|
No |
reserved, not implemented |
|||
|
deprecated |
BOTH |
No |
this keyword is parsed in c-lib, but does nothing |
|
|
BOTH |
No |
|||
|
deprecated |
BOTH |
No |
part of frequency switching mode feature |
|
|
deprecated |
No |
MK4 correlator specific |
||
|
BOTH |
deprecated |
MHO_InterpolateFringePeak |
‘simul’ only, iterate is not implemented |
|
|
No |
||||
|
BOTH |
No |
|||
|
deprecated |
BOTH |
No |
part of frequency switching mode feature |
|
|
BOTH |
No |
Generally speaking this operator is not needed in hops4 as the plot data is already fully output |
||
|
deprecated |
BOTH |
No |
this keyword is parsed in c-lib, but does nothing |
|
|
deprecated |
No |
part of frequency switching mode feature |
||
|
true | false |
BOTH |
No |
Normalizes data according to sampler statistics (This a mark4 correlator only feature) |
|
|
No |
reserved, not yet implemented |
|||
|
No |
reserved, not yet implemented |
|||
|
No |
reserved, not yet implemented |
|||
|
No |
reserved, not yet implemented |
|||
|
deprecated |
||||
|
`keep’ |
deprecated |
|||
|
deprecated |
||||
|
`keep’ |
deprecated |