Pipeline overview
The pipeline runs DSPSR to dedisperse LOFAR raw pulsar beamformed complex-voltage (XXYY) 32-bit or 8-bit HDF5 data and also beamformed Stokes I data, and fold it modulo pulsar period. DSPSR software package was developed by Willem van Straten (van Straten and Bailes, 2011).
The pipeline performs the following operations in order:
dedispersing and folding the data modulo pulsar period using
dspsrfrom DSPSR software package;combining output archive files
.arfrom different frequency parts together usingpsraddfrom PSRCHIVE software package;running RFI removal using
paz -rfrom PSRCHIVE (optional);running RFI removal using
clfdfrom CLFD (optional);creating diagnostic plots for data cleaned both with
pazandclfdor non-RFI-flagged data if RFI removal was skipped;running
pdmpfrom PSRCHIVE to optimise pulsar period and dispersion measure (optional);running
pamfrom PSRCHIVE to update data cube with new pulsar period and dispersion measure frompdmp(optional);creating new diagnostic plots for data updated with new pulsar period and dispersion measure (optional);
creating 1-page
quickviewdiagnostic plot;creating multi-page diagnostic summary pdf that combines all created diagnostic plots.
Input parameters
sasid: identifier of the SAS process (SASId) that called the pipeline. The SASId is used to name the output.h5and.rawHDF5 BF files, and replaces the Observation ID (ObsId) in their names. If not provided (e.g. when run locally and not being called by TMSS), then original ObsId’s will be re-used in the output filenames.h5in: input HDF5 LOFAR BF.h5files. Each of these files should have the corresponding.rawfile in the same directory. The workflow will then do the conversion on these.rawfiles and update the metadata in the.h5files.nthreads: use this number of CPU cores (integer) by DSPSR. Corresponds to-toption indspsr. Default is 8.maxram: upper limix on RAM usage by DSPSR. It is either the floating-point value in MB, or a multiple of the minimum possible block size specified asminXn, wherenis the integer multiplier. Corresponds to-Uoption indspsr. When specified in TMSS, this integer multiplier can only be0 < n < 10. If value ofn >= 10is given, it is considered to be a value in MB. This parameter is optional.use_pdmp: to runpdmpfrom the PSRCHIVE software package on the output full-band.arfile to search for the optimal pulsar period (P0) and dispersion measure (DM). Default istrue.use_paz: to runpaz -ron the output full-band.arfile frompsraddand zap RFI using median smoothed difference. Thepazandpsraddare programs from PSRCHIVE. Default istrue.use_clfd: to runclfd --no-reporton the output full-band.arfile frompsraddand remove RFI. Theclfdtool is from the CLFD project. Default istrue.nozap: to skip RFI zapping by any program, i.e. ifnozapistrueneitherpaznorclfdwill run even ifuse_pazoruse_clfdaretrue. Default isfalse.obsdur: to process only this amount of seconds (integer) by DSPSR. Corresponds to-Toption indspsr. This parameter is optional and by default whole observation will be processed.skip_from_start: to skip this amount of seconds (integer) from the start of observation to process by DSPSR. Corresponds to-Soption indspsr. This parameter is optional.tsubint: the length (in seconds) of sub-integrations in the output.arfile from DSPSR. Corresponds to-Loption indspsr. Default is 10.sp_subint: to create single-pulse sub-integrations indspsrwhen set totrue. Corresponds to-soption indspsr. Default isfalse. Iftruethe single-pulse sub-integrations will be created regardless of the value intsubintparameter. Usage of this parameter usually also requirestruefor theremove_dm_delaysparameter (below).remove_dm_delays: to remove inter-channel dispersion delays in the data cube(s) indspsrwhen set totrue. Corresponds to-Koption indspsr. Default isfalse. Usually is used together withsp_subintparameter.nbins: number of bins (integer) in the pulsar profile of the output.arfiles. Corresponds to-boption indspsr. Default is 1024.extra_channels_factor: indspsrcreate the filterbank with that many channels per subband. Corresponds to-Foption indspsr. Coherent dedispersion will also be performed during the filterbank operation (:Dflag for the-Foption indspsr). For example, if there are 20 subbands in the input file andextra_channels_factoris 6, then 120-channel filterbank will be created using the-F 120:Doption indspsr. Without this parameter the number of channels in the output.arfile is the same as number of subbands in the input.h5file.parfile: pulsar ephemeris file to fold the data. Corresponds to-Eoption indspsr. The example of how the value for this parameter should be specified is given below. This is one of the three ways to specify the ephemeris file in the workflow. Two other ways are using eitherparfile_stringorget_parfile_from_psrcatparameters (below). If neitherparfilenorparfile_stringare specified andget_parfile_from_psrcatisfalse, then pipeline will fail. For more detail, see Parfile section below.parfile_string: similar toparfilebut the content of the actual pulsar ephemeris file is given as string value in this parameter. This is the way how the pulsar ephemeris need to be specified in TMSS. For more detail, see Parfile section below.get_parfile_from_psrcat: boolean parameter to indicate whether parfile should be taken from the ATNF Pulsar CataloguePSRCAT. Iftruethe parfile will be created withpsrcat -e <PSRNAME>command, where<PSRNAME>is the pulsar name from the metadata of the input.h5file. However, bothparfileandparfile_stringparameters take precedence over this flag if they are given and are non-empty or non-null. Default isfalse. For more detail, see Parfile section below.
Output
The pipeline produces the following output in the directory specified by --outdir of cwltool or toil:
h5/: the directory with original.h5input files from an observation;cobalt/: the directory with the parset(s) of an observation and Cobalt log-file;input parfile
.par, or parfile created by PSRCAT (depending on the input parameters);dedispersed folded data cube
.arfrom all frequency parts added together;RFI-zapped data cube(s),
.paz.arand/or.clfd.ar(optional);output files from
pdmpfor the optimization of P0 and DM (optional):pdmp_snr.datpdmp.psnpdmp.per.pdmp.ps(diagnostic plot frompdmp) - part of the multi-page diagnostic summary pdf;
data cube
.pdmp.arwith improved P0 and DM (optional);A4-page
quickviewdiagnostic plot,.quickview.png(see examples below);multi-page diagnostic summary
.summary.pdfwhich includes:quickviewdiagnositc plot;diagnostic plot and noise/signal statistics output from
snr.py;summary diagnostic plots (profile, phase-freq, phase-time, dynspec) for RFI-zapped data cube from
paz -r(optional);summary diagnostic plots (profile, phase-freq, phase-time, dynspec) for RFI-zapped data cube from
clfd(optional);summary diagnostic plots (profile, phase-freq, phase-time, dynspec) for non-RFI zapped data cube if RFI zapping was skipped (optional);
diagnostic plot from
pdmp(optional);summary diagnostic plots (profile, phase-freq, phase-time, dynspec) for RFI-zapped data cube from
paz -rwith improved P0 and DM afterpdmp(optional);
pipeline.log: a concatenated log file capturing standard output and standard error for processing of all input.h5files.
Configuring the pipeline
The parameters of the pipeline are provided as a JSON file. Here is the example of an input JSON file:
{
"sasid": "1234567",
"use_pdmp": true,
"use_paz": true,
"use_clfd": true,
"nozap": false,
"obsdur": 10,
"skip_from_start": 100,
"tsubint": 10,
"sp_subint": true,
"remove_dm_delays": true,
"nbins": 128,
"parfile": { "class": "File", "path": "/data/kondratiev/pulp2-data/folding/parfile/0329+54.par"},
"get_parfile_from_psrcat": false,
"extra_channels_factor": 4,
"nthreads": 8,
"maxram": "minX2",
"h5in": [
{
"class": "File", "path": "/data/kondratiev/pulp2-data/folding/L2050196/cs/L2050196_SAP000_B000_S0_P000_bf.h5"
},
{
"class": "File", "path": "/data/kondratiev/pulp2-data/folding/L2050196/cs/L2050196_SAP000_B000_S1_P000_bf.h5"
},
{
"class": "File", "path": "/data/kondratiev/pulp2-data/folding/L2050196/cs/L2050196_SAP000_B000_S2_P000_bf.h5"
},
{
"class": "File", "path": "/data/kondratiev/pulp2-data/folding/L2050196/cs/L2050196_SAP000_B000_S3_P000_bf.h5"
},
{
"class": "File", "path": "/data/kondratiev/pulp2-data/folding/L2050196/cs/L2050196_SAP000_B000_S0_P001_bf.h5"
},
{
"class": "File", "path": "/data/kondratiev/pulp2-data/folding/L2050196/cs/L2050196_SAP000_B000_S1_P001_bf.h5"
},
{
"class": "File", "path": "/data/kondratiev/pulp2-data/folding/L2050196/cs/L2050196_SAP000_B000_S2_P001_bf.h5"
},
{
"class": "File", "path": "/data/kondratiev/pulp2-data/folding/L2050196/cs/L2050196_SAP000_B000_S3_P001_bf.h5"
}
]
}
Not all of the parameters need to be provided, some of them are optional, and if they are not specified either their default value is used, or some of the step in the workflow is skipped. The sasid parameter can be also omitted in the local run, otherwise it will be provided by TMSS.
Few examples of input JSON files can also be found in the tests/ directory of the repository. Also, in the scripts/ directory of the repository one can find the script create-input-json-pulp2-folding.sh that can be used to generate template JSON file for the input data of your choice. The script takes one input argument which is the directory where all the .h5 and .raw files are. There is also the optional second argument to perform an extra filtering on the input files. For example,
$ create-input-json-pulp2-folding.sh /data/kondratiev/pulp2-data/folding/L2050196/cs
will generate the input JSON file similar to the one above based on the same data. To run the workflow only for the 0th frequency part _P000_, you can make use of the 2nd filtering argument like this:
$ create-input-json-pulp2-folding.sh /data/kondratiev/pulp2-data/folding/L2050196/cs _P000_
and then h5in parameter of the input JSON file will only have input .h5 files for frequency part _P000_. Please double-check the input JSON file to make sure that it has parameters and their values as you want before running the workflow.
Parfile
Parfile (pulsar ephemeris file) can be provided via one of the three possible ways:
using
parfileinput parameter and providing the path on your local machine/cluster to the file, e.g. like this:
...
"parfile": { "class": "File", "path": "/data/kondratiev/pulp2-data/folding/parfile/0329+54.par"},
...
using
parfile_stringinput parameter with the content of the actual parfile. This is how the parfile needs to be provided within TMSS. When running workflow locally usage ofparfileparameter is easier. If bothparfileandparfile_stringare given, then parfile specified by theparfileparameter will be used. Here is the example of usage theparfile_stringparameter:
...
"parfile_string": "PSRJ J0332+5434 \nRAJ 03:32:59.4096 1.000e-04 \nDECJ +54:34:43.329 1.000e-03 \nDM 26.76410 1.000e-04 \nPEPOCH 46473.0 \nF0 1.399541538720 6.000e-12 \nF1 -4.011970E-15 1.400e-20 \nPMRA 16.97 3.000e-02 \nPMDEC -10.37 5.000e-02 \nPOSEPOCH 56000.0 \nF2 5.3E-28 1.500e-28 \nRM -64.33 6.000e-02 \nPX 0.59 2.000e-02 \nEPHVER 2 \nUNITS TDB",
...
3. using get_parfile_from_psrcat input parameter with the value of true. This will enable extracting the parfile from the
ATNF Pulsar Catalogue. The default value of this parameter is false, so if one wants to
use it, then this parameter should be explicitely set to true. If this parameter is set to false and neither of parfile nor parfile_string are specified then pipeline will fail.
Examples of quickview diagnostic plot
quickview diagnostic plot for pulsar beamformed complex-voltage data
Top-row (1st row):
Left: average pulse profile in total intensity (I, black), linear (L, red) and circular (V, blue) polarisation;
Right: information window about observing setup, observation, quality, others;
2nd row:
Pulse-phase vs. frequency plot for all four Stokes parameters, IQUV (from left to right);
3rd row:
Left: Pulse-phase vs. observing time plot;
Right: Average bandpass for both input polarisations;
4th row:
Left: Time vs. frequency plot calculated on the ON-pulse window, i.e. pulsar dynamic spectrum;
Right: same for the OFF-pulse window.
quickview diagnostic plot for pulsar beamformed Stokes I data
Top-row (1st row):
Left: average pulse profile in total intensity (I, black);
Right: information window about observing setup, observation, quality, others;
2nd row:
Left: Pulse-phase vs. frequency plot for total intensity (pulse spectrum);
Right: Data samples’ histogram together with the least-squared fit showing the mean and rms values;
3rd row:
Left: Pulse-phase vs. observing time plot;
Right: Average bandpass for the total intensity data;
4th row:
Left: Time vs. frequency plot calculated on the ON-pulse window, i.e. pulsar dynamic spectrum;
Right: same for the OFF-pulse window.
Workflow diagram
![digraph G {
bgcolor="#eeeeee";
clusterrank=local;
labeljust=right;
labelloc=bottom;
"psradd" [fillcolor=lightgoldenrodyellow, label="psradd", shape=record, style=filled];
"clfd" [fillcolor=lightgoldenrodyellow, label="clfd", shape=record, style=filled];
"psradd" -> "clfd";
"paz_zap_every_nth_chan" [fillcolor=lightgoldenrodyellow, label="paz_zap_every_nth_chan", shape=record, style=filled];
"clfd" [fillcolor=lightgoldenrodyellow, label="clfd", shape=record, style=filled];
"paz_zap_every_nth_chan" -> "clfd";
"get_nchan_per_sub" [fillcolor=lightgoldenrodyellow, label="get_nchan_per_sub", shape=record, style=filled];
"clfd_diagplots" [fillcolor=lightgoldenrodyellow, label="clfd_diagplots", shape=record, style=filled];
"get_nchan_per_sub" -> "clfd_diagplots";
"clfd" [fillcolor=lightgoldenrodyellow, label="clfd", shape=record, style=filled];
"clfd_diagplots" [fillcolor=lightgoldenrodyellow, label="clfd_diagplots", shape=record, style=filled];
"clfd" -> "clfd_diagplots";
"determine_profile_plot_type" [fillcolor=lightgoldenrodyellow, label="determine_profile_plot_type", shape=record, style=filled];
"clfd_diagplots" [fillcolor=lightgoldenrodyellow, label="clfd_diagplots", shape=record, style=filled];
"determine_profile_plot_type" -> "clfd_diagplots";
"clfd" [fillcolor=lightgoldenrodyellow, label="clfd", shape=record, style=filled];
"clfd_rfi_fraction" [fillcolor=lightgoldenrodyellow, label="clfd_rfi_fraction", shape=record, style=filled];
"clfd" -> "clfd_rfi_fraction";
"paz_zap_every_nth_chan" [fillcolor=lightgoldenrodyellow, label="paz_zap_every_nth_chan", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"paz_zap_every_nth_chan" -> "concat_logfiles";
"clfd_rfi_fraction" [fillcolor=lightgoldenrodyellow, label="clfd_rfi_fraction", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"clfd_rfi_fraction" -> "concat_logfiles";
"paz_diagplots" [fillcolor=lightgoldenrodyellow, label="paz_diagplots", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"paz_diagplots" -> "concat_logfiles";
"get_new_p0_dm" [fillcolor=lightgoldenrodyellow, label="get_new_p0_dm", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"get_new_p0_dm" -> "concat_logfiles";
"snrpy" [fillcolor=lightgoldenrodyellow, label="snrpy", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"snrpy" -> "concat_logfiles";
"rename_arfile" [fillcolor=lightgoldenrodyellow, label="rename_arfile", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"rename_arfile" -> "concat_logfiles";
"nsubs_in_file" [fillcolor=lightgoldenrodyellow, label="nsubs_in_file", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"nsubs_in_file" -> "concat_logfiles";
"copy_cobalt_files" [fillcolor=lightgoldenrodyellow, label="copy_cobalt_files", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"copy_cobalt_files" -> "concat_logfiles";
"pam_pdmp" [fillcolor=lightgoldenrodyellow, label="pam_pdmp", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"pam_pdmp" -> "concat_logfiles";
"psradd" [fillcolor=lightgoldenrodyellow, label="psradd", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"psradd" -> "concat_logfiles";
"mjd" [fillcolor=lightgoldenrodyellow, label="mjd", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"mjd" -> "concat_logfiles";
"keep_h5" [fillcolor=lightgoldenrodyellow, label="keep_h5", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"keep_h5" -> "concat_logfiles";
"is_dtype_complex_voltage" [fillcolor=lightgoldenrodyellow, label="is_dtype_complex_voltage", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"is_dtype_complex_voltage" -> "concat_logfiles";
"make_combined_summary_pdf" [fillcolor=lightgoldenrodyellow, label="make_combined_summary_pdf", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"make_combined_summary_pdf" -> "concat_logfiles";
"get_obs_nsubs" [fillcolor=lightgoldenrodyellow, label="get_obs_nsubs", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"get_obs_nsubs" -> "concat_logfiles";
"get_nchan_nbins" [fillcolor=lightgoldenrodyellow, label="get_nchan_nbins", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"get_nchan_nbins" -> "concat_logfiles";
"clfd" [fillcolor=lightgoldenrodyellow, label="clfd", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"clfd" -> "concat_logfiles";
"copy_parfile" [fillcolor=lightgoldenrodyellow, label="copy_parfile", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"copy_parfile" -> "concat_logfiles";
"create_sequence_of_chans_to_zap" [fillcolor=lightgoldenrodyellow, label="create_sequence_of_chans_to_zap", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"create_sequence_of_chans_to_zap" -> "concat_logfiles";
"get_file_nsubs" [fillcolor=lightgoldenrodyellow, label="get_file_nsubs", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"get_file_nsubs" -> "concat_logfiles";
"dspsr" [fillcolor=lightgoldenrodyellow, label="dspsr", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"dspsr" -> "concat_logfiles";
"diagplots_new" [fillcolor=lightgoldenrodyellow, label="diagplots_new", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"diagplots_new" -> "concat_logfiles";
"pdmp" [fillcolor=lightgoldenrodyellow, label="pdmp", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"pdmp" -> "concat_logfiles";
"clfd_diagplots" [fillcolor=lightgoldenrodyellow, label="clfd_diagplots", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"clfd_diagplots" -> "concat_logfiles";
"get_nchan_per_sub" [fillcolor=lightgoldenrodyellow, label="get_nchan_per_sub", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"get_nchan_per_sub" -> "concat_logfiles";
"make_parfile" [fillcolor=lightgoldenrodyellow, label="make_parfile", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"make_parfile" -> "concat_logfiles";
"diagplots" [fillcolor=lightgoldenrodyellow, label="diagplots", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"diagplots" -> "concat_logfiles";
"paz" [fillcolor=lightgoldenrodyellow, label="paz", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"paz" -> "concat_logfiles";
"paz_rfi_fraction" [fillcolor=lightgoldenrodyellow, label="paz_rfi_fraction", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"paz_rfi_fraction" -> "concat_logfiles";
"quickview" [fillcolor=lightgoldenrodyellow, label="quickview", shape=record, style=filled];
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"quickview" -> "concat_logfiles";
"get_nchan_per_sub" [fillcolor=lightgoldenrodyellow, label="get_nchan_per_sub", shape=record, style=filled];
"create_sequence_of_chans_to_zap" [fillcolor=lightgoldenrodyellow, label="create_sequence_of_chans_to_zap", shape=record, style=filled];
"get_nchan_per_sub" -> "create_sequence_of_chans_to_zap";
"get_nchan_nbins" [fillcolor=lightgoldenrodyellow, label="get_nchan_nbins", shape=record, style=filled];
"create_sequence_of_chans_to_zap" [fillcolor=lightgoldenrodyellow, label="create_sequence_of_chans_to_zap", shape=record, style=filled];
"get_nchan_nbins" -> "create_sequence_of_chans_to_zap";
"is_dtype_complex_voltage" [fillcolor=lightgoldenrodyellow, label="is_dtype_complex_voltage", shape=record, style=filled];
"determine_profile_plot_type" [fillcolor=lightgoldenrodyellow, label="determine_profile_plot_type", shape=record, style=filled];
"is_dtype_complex_voltage" -> "determine_profile_plot_type";
"paz_zap_every_nth_chan" [fillcolor=lightgoldenrodyellow, label="paz_zap_every_nth_chan", shape=record, style=filled];
"diagplots" [fillcolor=lightgoldenrodyellow, label="diagplots", shape=record, style=filled];
"paz_zap_every_nth_chan" -> "diagplots";
"rename_arfile" [fillcolor=lightgoldenrodyellow, label="rename_arfile", shape=record, style=filled];
"diagplots" [fillcolor=lightgoldenrodyellow, label="diagplots", shape=record, style=filled];
"rename_arfile" -> "diagplots";
"psradd" [fillcolor=lightgoldenrodyellow, label="psradd", shape=record, style=filled];
"diagplots" [fillcolor=lightgoldenrodyellow, label="diagplots", shape=record, style=filled];
"psradd" -> "diagplots";
"determine_profile_plot_type" [fillcolor=lightgoldenrodyellow, label="determine_profile_plot_type", shape=record, style=filled];
"diagplots" [fillcolor=lightgoldenrodyellow, label="diagplots", shape=record, style=filled];
"determine_profile_plot_type" -> "diagplots";
"get_nchan_per_sub" [fillcolor=lightgoldenrodyellow, label="get_nchan_per_sub", shape=record, style=filled];
"diagplots" [fillcolor=lightgoldenrodyellow, label="diagplots", shape=record, style=filled];
"get_nchan_per_sub" -> "diagplots";
"pam_pdmp" [fillcolor=lightgoldenrodyellow, label="pam_pdmp", shape=record, style=filled];
"diagplots_new" [fillcolor=lightgoldenrodyellow, label="diagplots_new", shape=record, style=filled];
"pam_pdmp" -> "diagplots_new";
"determine_profile_plot_type" [fillcolor=lightgoldenrodyellow, label="determine_profile_plot_type", shape=record, style=filled];
"diagplots_new" [fillcolor=lightgoldenrodyellow, label="diagplots_new", shape=record, style=filled];
"determine_profile_plot_type" -> "diagplots_new";
"get_nchan_per_sub" [fillcolor=lightgoldenrodyellow, label="get_nchan_per_sub", shape=record, style=filled];
"diagplots_new" [fillcolor=lightgoldenrodyellow, label="diagplots_new", shape=record, style=filled];
"get_nchan_per_sub" -> "diagplots_new";
"filter" [fillcolor=lightgoldenrodyellow, label="filter", shape=record, style=filled];
"dspsr" [fillcolor=lightgoldenrodyellow, label="dspsr", shape=record, style=filled];
"filter" -> "dspsr";
"make_parfile" [fillcolor=lightgoldenrodyellow, label="make_parfile", shape=record, style=filled];
"dspsr" [fillcolor=lightgoldenrodyellow, label="dspsr", shape=record, style=filled];
"make_parfile" -> "dspsr";
"nsubs_in_file" [fillcolor=lightgoldenrodyellow, label="nsubs_in_file", shape=record, style=filled];
"dspsr" [fillcolor=lightgoldenrodyellow, label="dspsr", shape=record, style=filled];
"nsubs_in_file" -> "dspsr";
"filter" [fillcolor=lightgoldenrodyellow, label="filter", shape=record, style=filled];
"dspsr" [fillcolor=lightgoldenrodyellow, label="dspsr", shape=record, style=filled];
"filter" -> "dspsr";
"mjd" [fillcolor=lightgoldenrodyellow, label="mjd", shape=record, style=filled];
"dspsr" [fillcolor=lightgoldenrodyellow, label="dspsr", shape=record, style=filled];
"mjd" -> "dspsr";
"filter" [fillcolor=lightgoldenrodyellow, label="filter", shape=record, style=filled];
"get_file_nsubs" [fillcolor=lightgoldenrodyellow, label="get_file_nsubs", shape=record, style=filled];
"filter" -> "get_file_nsubs";
"psradd" [fillcolor=lightgoldenrodyellow, label="psradd", shape=record, style=filled];
"get_nchan_nbins" [fillcolor=lightgoldenrodyellow, label="get_nchan_nbins", shape=record, style=filled];
"psradd" -> "get_nchan_nbins";
"rename_arfile" [fillcolor=lightgoldenrodyellow, label="rename_arfile", shape=record, style=filled];
"get_nchan_nbins" [fillcolor=lightgoldenrodyellow, label="get_nchan_nbins", shape=record, style=filled];
"rename_arfile" -> "get_nchan_nbins";
"filter" [fillcolor=lightgoldenrodyellow, label="filter", shape=record, style=filled];
"get_nchan_per_sub" [fillcolor=lightgoldenrodyellow, label="get_nchan_per_sub", shape=record, style=filled];
"filter" -> "get_nchan_per_sub";
"pdmp" [fillcolor=lightgoldenrodyellow, label="pdmp", shape=record, style=filled];
"get_new_p0_dm" [fillcolor=lightgoldenrodyellow, label="get_new_p0_dm", shape=record, style=filled];
"pdmp" -> "get_new_p0_dm";
"filter" [fillcolor=lightgoldenrodyellow, label="filter", shape=record, style=filled];
"is_dtype_complex_voltage" [fillcolor=lightgoldenrodyellow, label="is_dtype_complex_voltage", shape=record, style=filled];
"filter" -> "is_dtype_complex_voltage";
"pdmp" [fillcolor=lightgoldenrodyellow, label="pdmp", shape=record, style=filled];
"make_combined_summary_pdf" [fillcolor=lightgoldenrodyellow, label="make_combined_summary_pdf", shape=record, style=filled];
"pdmp" -> "make_combined_summary_pdf";
"snrpy" [fillcolor=lightgoldenrodyellow, label="snrpy", shape=record, style=filled];
"make_combined_summary_pdf" [fillcolor=lightgoldenrodyellow, label="make_combined_summary_pdf", shape=record, style=filled];
"snrpy" -> "make_combined_summary_pdf";
"clfd_diagplots" [fillcolor=lightgoldenrodyellow, label="clfd_diagplots", shape=record, style=filled];
"make_combined_summary_pdf" [fillcolor=lightgoldenrodyellow, label="make_combined_summary_pdf", shape=record, style=filled];
"clfd_diagplots" -> "make_combined_summary_pdf";
"paz_diagplots" [fillcolor=lightgoldenrodyellow, label="paz_diagplots", shape=record, style=filled];
"make_combined_summary_pdf" [fillcolor=lightgoldenrodyellow, label="make_combined_summary_pdf", shape=record, style=filled];
"paz_diagplots" -> "make_combined_summary_pdf";
"diagplots" [fillcolor=lightgoldenrodyellow, label="diagplots", shape=record, style=filled];
"make_combined_summary_pdf" [fillcolor=lightgoldenrodyellow, label="make_combined_summary_pdf", shape=record, style=filled];
"diagplots" -> "make_combined_summary_pdf";
"snrpy" [fillcolor=lightgoldenrodyellow, label="snrpy", shape=record, style=filled];
"make_combined_summary_pdf" [fillcolor=lightgoldenrodyellow, label="make_combined_summary_pdf", shape=record, style=filled];
"snrpy" -> "make_combined_summary_pdf";
"dspsr" [fillcolor=lightgoldenrodyellow, label="dspsr", shape=record, style=filled];
"make_combined_summary_pdf" [fillcolor=lightgoldenrodyellow, label="make_combined_summary_pdf", shape=record, style=filled];
"dspsr" -> "make_combined_summary_pdf";
"diagplots_new" [fillcolor=lightgoldenrodyellow, label="diagplots_new", shape=record, style=filled];
"make_combined_summary_pdf" [fillcolor=lightgoldenrodyellow, label="make_combined_summary_pdf", shape=record, style=filled];
"diagplots_new" -> "make_combined_summary_pdf";
"quickview" [fillcolor=lightgoldenrodyellow, label="quickview", shape=record, style=filled];
"make_combined_summary_pdf" [fillcolor=lightgoldenrodyellow, label="make_combined_summary_pdf", shape=record, style=filled];
"quickview" -> "make_combined_summary_pdf";
"paz" [fillcolor=lightgoldenrodyellow, label="paz", shape=record, style=filled];
"make_outdir" [fillcolor=lightgoldenrodyellow, label="make_outdir", shape=record, style=filled];
"paz" -> "make_outdir";
"rename_arfile" [fillcolor=lightgoldenrodyellow, label="rename_arfile", shape=record, style=filled];
"make_outdir" [fillcolor=lightgoldenrodyellow, label="make_outdir", shape=record, style=filled];
"rename_arfile" -> "make_outdir";
"quickview" [fillcolor=lightgoldenrodyellow, label="quickview", shape=record, style=filled];
"make_outdir" [fillcolor=lightgoldenrodyellow, label="make_outdir", shape=record, style=filled];
"quickview" -> "make_outdir";
"copy_parfile" [fillcolor=lightgoldenrodyellow, label="copy_parfile", shape=record, style=filled];
"make_outdir" [fillcolor=lightgoldenrodyellow, label="make_outdir", shape=record, style=filled];
"copy_parfile" -> "make_outdir";
"make_combined_summary_pdf" [fillcolor=lightgoldenrodyellow, label="make_combined_summary_pdf", shape=record, style=filled];
"make_outdir" [fillcolor=lightgoldenrodyellow, label="make_outdir", shape=record, style=filled];
"make_combined_summary_pdf" -> "make_outdir";
"concat_logfiles" [fillcolor=lightgoldenrodyellow, label="concat_logfiles", shape=record, style=filled];
"make_outdir" [fillcolor=lightgoldenrodyellow, label="make_outdir", shape=record, style=filled];
"concat_logfiles" -> "make_outdir";
"make_parfile" [fillcolor=lightgoldenrodyellow, label="make_parfile", shape=record, style=filled];
"make_outdir" [fillcolor=lightgoldenrodyellow, label="make_outdir", shape=record, style=filled];
"make_parfile" -> "make_outdir";
"clfd" [fillcolor=lightgoldenrodyellow, label="clfd", shape=record, style=filled];
"make_outdir" [fillcolor=lightgoldenrodyellow, label="make_outdir", shape=record, style=filled];
"clfd" -> "make_outdir";
"pdmp" [fillcolor=lightgoldenrodyellow, label="pdmp", shape=record, style=filled];
"make_outdir" [fillcolor=lightgoldenrodyellow, label="make_outdir", shape=record, style=filled];
"pdmp" -> "make_outdir";
"copy_cobalt_files" [fillcolor=lightgoldenrodyellow, label="copy_cobalt_files", shape=record, style=filled];
"make_outdir" [fillcolor=lightgoldenrodyellow, label="make_outdir", shape=record, style=filled];
"copy_cobalt_files" -> "make_outdir";
"keep_h5" [fillcolor=lightgoldenrodyellow, label="keep_h5", shape=record, style=filled];
"make_outdir" [fillcolor=lightgoldenrodyellow, label="make_outdir", shape=record, style=filled];
"keep_h5" -> "make_outdir";
"psradd" [fillcolor=lightgoldenrodyellow, label="psradd", shape=record, style=filled];
"make_outdir" [fillcolor=lightgoldenrodyellow, label="make_outdir", shape=record, style=filled];
"psradd" -> "make_outdir";
"pam_pdmp" [fillcolor=lightgoldenrodyellow, label="pam_pdmp", shape=record, style=filled];
"make_outdir" [fillcolor=lightgoldenrodyellow, label="make_outdir", shape=record, style=filled];
"pam_pdmp" -> "make_outdir";
"get_obs_nsubs" [fillcolor=lightgoldenrodyellow, label="get_obs_nsubs", shape=record, style=filled];
"minimum_of_two_numbers" [fillcolor=lightgoldenrodyellow, label="minimum_of_two_numbers", shape=record, style=filled];
"get_obs_nsubs" -> "minimum_of_two_numbers";
"get_nchan_nbins" [fillcolor=lightgoldenrodyellow, label="get_nchan_nbins", shape=record, style=filled];
"minimum_of_two_numbers" [fillcolor=lightgoldenrodyellow, label="minimum_of_two_numbers", shape=record, style=filled];
"get_nchan_nbins" -> "minimum_of_two_numbers";
"filter" [fillcolor=lightgoldenrodyellow, label="filter", shape=record, style=filled];
"nsubs_in_file" [fillcolor=lightgoldenrodyellow, label="nsubs_in_file", shape=record, style=filled];
"filter" -> "nsubs_in_file";
"psradd" [fillcolor=lightgoldenrodyellow, label="psradd", shape=record, style=filled];
"pam_pdmp" [fillcolor=lightgoldenrodyellow, label="pam_pdmp", shape=record, style=filled];
"psradd" -> "pam_pdmp";
"get_new_p0_dm" [fillcolor=lightgoldenrodyellow, label="get_new_p0_dm", shape=record, style=filled];
"pam_pdmp" [fillcolor=lightgoldenrodyellow, label="pam_pdmp", shape=record, style=filled];
"get_new_p0_dm" -> "pam_pdmp";
"rename_arfile" [fillcolor=lightgoldenrodyellow, label="rename_arfile", shape=record, style=filled];
"pam_pdmp" [fillcolor=lightgoldenrodyellow, label="pam_pdmp", shape=record, style=filled];
"rename_arfile" -> "pam_pdmp";
"get_new_p0_dm" [fillcolor=lightgoldenrodyellow, label="get_new_p0_dm", shape=record, style=filled];
"pam_pdmp" [fillcolor=lightgoldenrodyellow, label="pam_pdmp", shape=record, style=filled];
"get_new_p0_dm" -> "pam_pdmp";
"paz" [fillcolor=lightgoldenrodyellow, label="paz", shape=record, style=filled];
"pam_pdmp" [fillcolor=lightgoldenrodyellow, label="pam_pdmp", shape=record, style=filled];
"paz" -> "pam_pdmp";
"clfd" [fillcolor=lightgoldenrodyellow, label="clfd", shape=record, style=filled];
"pam_pdmp" [fillcolor=lightgoldenrodyellow, label="pam_pdmp", shape=record, style=filled];
"clfd" -> "pam_pdmp";
"paz_zap_every_nth_chan" [fillcolor=lightgoldenrodyellow, label="paz_zap_every_nth_chan", shape=record, style=filled];
"pam_pdmp" [fillcolor=lightgoldenrodyellow, label="pam_pdmp", shape=record, style=filled];
"paz_zap_every_nth_chan" -> "pam_pdmp";
"psradd" [fillcolor=lightgoldenrodyellow, label="psradd", shape=record, style=filled];
"paz" [fillcolor=lightgoldenrodyellow, label="paz", shape=record, style=filled];
"psradd" -> "paz";
"paz_zap_every_nth_chan" [fillcolor=lightgoldenrodyellow, label="paz_zap_every_nth_chan", shape=record, style=filled];
"paz" [fillcolor=lightgoldenrodyellow, label="paz", shape=record, style=filled];
"paz_zap_every_nth_chan" -> "paz";
"paz" [fillcolor=lightgoldenrodyellow, label="paz", shape=record, style=filled];
"paz_diagplots" [fillcolor=lightgoldenrodyellow, label="paz_diagplots", shape=record, style=filled];
"paz" -> "paz_diagplots";
"get_nchan_per_sub" [fillcolor=lightgoldenrodyellow, label="get_nchan_per_sub", shape=record, style=filled];
"paz_diagplots" [fillcolor=lightgoldenrodyellow, label="paz_diagplots", shape=record, style=filled];
"get_nchan_per_sub" -> "paz_diagplots";
"determine_profile_plot_type" [fillcolor=lightgoldenrodyellow, label="determine_profile_plot_type", shape=record, style=filled];
"paz_diagplots" [fillcolor=lightgoldenrodyellow, label="paz_diagplots", shape=record, style=filled];
"determine_profile_plot_type" -> "paz_diagplots";
"paz" [fillcolor=lightgoldenrodyellow, label="paz", shape=record, style=filled];
"paz_rfi_fraction" [fillcolor=lightgoldenrodyellow, label="paz_rfi_fraction", shape=record, style=filled];
"paz" -> "paz_rfi_fraction";
"psradd" [fillcolor=lightgoldenrodyellow, label="psradd", shape=record, style=filled];
"paz_zap_every_nth_chan" [fillcolor=lightgoldenrodyellow, label="paz_zap_every_nth_chan", shape=record, style=filled];
"psradd" -> "paz_zap_every_nth_chan";
"rename_arfile" [fillcolor=lightgoldenrodyellow, label="rename_arfile", shape=record, style=filled];
"paz_zap_every_nth_chan" [fillcolor=lightgoldenrodyellow, label="paz_zap_every_nth_chan", shape=record, style=filled];
"rename_arfile" -> "paz_zap_every_nth_chan";
"get_nchan_per_sub" [fillcolor=lightgoldenrodyellow, label="get_nchan_per_sub", shape=record, style=filled];
"paz_zap_every_nth_chan" [fillcolor=lightgoldenrodyellow, label="paz_zap_every_nth_chan", shape=record, style=filled];
"get_nchan_per_sub" -> "paz_zap_every_nth_chan";
"create_sequence_of_chans_to_zap" [fillcolor=lightgoldenrodyellow, label="create_sequence_of_chans_to_zap", shape=record, style=filled];
"paz_zap_every_nth_chan" [fillcolor=lightgoldenrodyellow, label="paz_zap_every_nth_chan", shape=record, style=filled];
"create_sequence_of_chans_to_zap" -> "paz_zap_every_nth_chan";
"get_nchan_nbins" [fillcolor=lightgoldenrodyellow, label="get_nchan_nbins", shape=record, style=filled];
"pdmp" [fillcolor=lightgoldenrodyellow, label="pdmp", shape=record, style=filled];
"get_nchan_nbins" -> "pdmp";
"psradd" [fillcolor=lightgoldenrodyellow, label="psradd", shape=record, style=filled];
"pdmp" [fillcolor=lightgoldenrodyellow, label="pdmp", shape=record, style=filled];
"psradd" -> "pdmp";
"minimum_of_two_numbers" [fillcolor=lightgoldenrodyellow, label="minimum_of_two_numbers", shape=record, style=filled];
"pdmp" [fillcolor=lightgoldenrodyellow, label="pdmp", shape=record, style=filled];
"minimum_of_two_numbers" -> "pdmp";
"rename_arfile" [fillcolor=lightgoldenrodyellow, label="rename_arfile", shape=record, style=filled];
"pdmp" [fillcolor=lightgoldenrodyellow, label="pdmp", shape=record, style=filled];
"rename_arfile" -> "pdmp";
"paz" [fillcolor=lightgoldenrodyellow, label="paz", shape=record, style=filled];
"pdmp" [fillcolor=lightgoldenrodyellow, label="pdmp", shape=record, style=filled];
"paz" -> "pdmp";
"clfd" [fillcolor=lightgoldenrodyellow, label="clfd", shape=record, style=filled];
"pdmp" [fillcolor=lightgoldenrodyellow, label="pdmp", shape=record, style=filled];
"clfd" -> "pdmp";
"paz_zap_every_nth_chan" [fillcolor=lightgoldenrodyellow, label="paz_zap_every_nth_chan", shape=record, style=filled];
"pdmp" [fillcolor=lightgoldenrodyellow, label="pdmp", shape=record, style=filled];
"paz_zap_every_nth_chan" -> "pdmp";
"dspsr" [fillcolor=lightgoldenrodyellow, label="dspsr", shape=record, style=filled];
"psradd" [fillcolor=lightgoldenrodyellow, label="psradd", shape=record, style=filled];
"dspsr" -> "psradd";
"get_obs_nsubs" [fillcolor=lightgoldenrodyellow, label="get_obs_nsubs", shape=record, style=filled];
"psradd" [fillcolor=lightgoldenrodyellow, label="psradd", shape=record, style=filled];
"get_obs_nsubs" -> "psradd";
"dspsr" [fillcolor=lightgoldenrodyellow, label="dspsr", shape=record, style=filled];
"psradd" [fillcolor=lightgoldenrodyellow, label="psradd", shape=record, style=filled];
"dspsr" -> "psradd";
"get_file_nsubs" [fillcolor=lightgoldenrodyellow, label="get_file_nsubs", shape=record, style=filled];
"psradd" [fillcolor=lightgoldenrodyellow, label="psradd", shape=record, style=filled];
"get_file_nsubs" -> "psradd";
"paz_zap_every_nth_chan" [fillcolor=lightgoldenrodyellow, label="paz_zap_every_nth_chan", shape=record, style=filled];
"quickview" [fillcolor=lightgoldenrodyellow, label="quickview", shape=record, style=filled];
"paz_zap_every_nth_chan" -> "quickview";
"clfd" [fillcolor=lightgoldenrodyellow, label="clfd", shape=record, style=filled];
"quickview" [fillcolor=lightgoldenrodyellow, label="quickview", shape=record, style=filled];
"clfd" -> "quickview";
"paz" [fillcolor=lightgoldenrodyellow, label="paz", shape=record, style=filled];
"quickview" [fillcolor=lightgoldenrodyellow, label="quickview", shape=record, style=filled];
"paz" -> "quickview";
"rename_arfile" [fillcolor=lightgoldenrodyellow, label="rename_arfile", shape=record, style=filled];
"quickview" [fillcolor=lightgoldenrodyellow, label="quickview", shape=record, style=filled];
"rename_arfile" -> "quickview";
"clfd_rfi_fraction" [fillcolor=lightgoldenrodyellow, label="clfd_rfi_fraction", shape=record, style=filled];
"quickview" [fillcolor=lightgoldenrodyellow, label="quickview", shape=record, style=filled];
"clfd_rfi_fraction" -> "quickview";
"psradd" [fillcolor=lightgoldenrodyellow, label="psradd", shape=record, style=filled];
"quickview" [fillcolor=lightgoldenrodyellow, label="quickview", shape=record, style=filled];
"psradd" -> "quickview";
"pam_pdmp" [fillcolor=lightgoldenrodyellow, label="pam_pdmp", shape=record, style=filled];
"quickview" [fillcolor=lightgoldenrodyellow, label="quickview", shape=record, style=filled];
"pam_pdmp" -> "quickview";
"dspsr" [fillcolor=lightgoldenrodyellow, label="dspsr", shape=record, style=filled];
"quickview" [fillcolor=lightgoldenrodyellow, label="quickview", shape=record, style=filled];
"dspsr" -> "quickview";
"paz_rfi_fraction" [fillcolor=lightgoldenrodyellow, label="paz_rfi_fraction", shape=record, style=filled];
"quickview" [fillcolor=lightgoldenrodyellow, label="quickview", shape=record, style=filled];
"paz_rfi_fraction" -> "quickview";
"get_file_nsubs" [fillcolor=lightgoldenrodyellow, label="get_file_nsubs", shape=record, style=filled];
"rename_arfile" [fillcolor=lightgoldenrodyellow, label="rename_arfile", shape=record, style=filled];
"get_file_nsubs" -> "rename_arfile";
"get_obs_nsubs" [fillcolor=lightgoldenrodyellow, label="get_obs_nsubs", shape=record, style=filled];
"rename_arfile" [fillcolor=lightgoldenrodyellow, label="rename_arfile", shape=record, style=filled];
"get_obs_nsubs" -> "rename_arfile";
"dspsr" [fillcolor=lightgoldenrodyellow, label="dspsr", shape=record, style=filled];
"rename_arfile" [fillcolor=lightgoldenrodyellow, label="rename_arfile", shape=record, style=filled];
"dspsr" -> "rename_arfile";
"dspsr" [fillcolor=lightgoldenrodyellow, label="dspsr", shape=record, style=filled];
"rename_arfile" [fillcolor=lightgoldenrodyellow, label="rename_arfile", shape=record, style=filled];
"dspsr" -> "rename_arfile";
"psradd" [fillcolor=lightgoldenrodyellow, label="psradd", shape=record, style=filled];
"snrpy" [fillcolor=lightgoldenrodyellow, label="snrpy", shape=record, style=filled];
"psradd" -> "snrpy";
"pam_pdmp" [fillcolor=lightgoldenrodyellow, label="pam_pdmp", shape=record, style=filled];
"snrpy" [fillcolor=lightgoldenrodyellow, label="snrpy", shape=record, style=filled];
"pam_pdmp" -> "snrpy";
"paz" [fillcolor=lightgoldenrodyellow, label="paz", shape=record, style=filled];
"snrpy" [fillcolor=lightgoldenrodyellow, label="snrpy", shape=record, style=filled];
"paz" -> "snrpy";
"rename_arfile" [fillcolor=lightgoldenrodyellow, label="rename_arfile", shape=record, style=filled];
"snrpy" [fillcolor=lightgoldenrodyellow, label="snrpy", shape=record, style=filled];
"rename_arfile" -> "snrpy";
"paz_zap_every_nth_chan" [fillcolor=lightgoldenrodyellow, label="paz_zap_every_nth_chan", shape=record, style=filled];
"snrpy" [fillcolor=lightgoldenrodyellow, label="snrpy", shape=record, style=filled];
"paz_zap_every_nth_chan" -> "snrpy";
"clfd" [fillcolor=lightgoldenrodyellow, label="clfd", shape=record, style=filled];
"snrpy" [fillcolor=lightgoldenrodyellow, label="snrpy", shape=record, style=filled];
"clfd" -> "snrpy";
subgraph cluster_inputs {
label="Workflow Inputs";
rank=same;
style=dashed;
"nozap" [fillcolor="#94DDF4", label=nozap, shape=record, style=filled];
"nozap" [fillcolor="#94DDF4", label=nozap, shape=record, style=filled];
"nozap" [fillcolor="#94DDF4", label=nozap, shape=record, style=filled];
"nozap" [fillcolor="#94DDF4", label=nozap, shape=record, style=filled];
"nozap" [fillcolor="#94DDF4", label=nozap, shape=record, style=filled];
"nozap" [fillcolor="#94DDF4", label=nozap, shape=record, style=filled];
"nozap" [fillcolor="#94DDF4", label=nozap, shape=record, style=filled];
"use_clfd" [fillcolor="#94DDF4", label=use_clfd, shape=record, style=filled];
"use_clfd" [fillcolor="#94DDF4", label=use_clfd, shape=record, style=filled];
"use_clfd" [fillcolor="#94DDF4", label=use_clfd, shape=record, style=filled];
"use_clfd" [fillcolor="#94DDF4", label=use_clfd, shape=record, style=filled];
"h5in" [fillcolor="#94DDF4", label=h5in, shape=record, style=filled];
"h5in" [fillcolor="#94DDF4", label=h5in, shape=record, style=filled];
"h5in" [fillcolor="#94DDF4", label=h5in, shape=record, style=filled];
"h5in" [fillcolor="#94DDF4", label=h5in, shape=record, style=filled];
"h5in" [fillcolor="#94DDF4", label=h5in, shape=record, style=filled];
"h5in" [fillcolor="#94DDF4", label=h5in, shape=record, style=filled];
"h5in" [fillcolor="#94DDF4", label=h5in, shape=record, style=filled];
"h5in" [fillcolor="#94DDF4", label=h5in, shape=record, style=filled];
"h5in" [fillcolor="#94DDF4", label=h5in, shape=record, style=filled];
"parfile" [fillcolor="#94DDF4", label=parfile, shape=record, style=filled];
"parfile" [fillcolor="#94DDF4", label=parfile, shape=record, style=filled];
"parfile" [fillcolor="#94DDF4", label=parfile, shape=record, style=filled];
"use_paz" [fillcolor="#94DDF4", label=use_paz, shape=record, style=filled];
"use_paz" [fillcolor="#94DDF4", label=use_paz, shape=record, style=filled];
"use_paz" [fillcolor="#94DDF4", label=use_paz, shape=record, style=filled];
"use_paz" [fillcolor="#94DDF4", label=use_paz, shape=record, style=filled];
"use_pdmp" [fillcolor="#94DDF4", label=use_pdmp, shape=record, style=filled];
"use_pdmp" [fillcolor="#94DDF4", label=use_pdmp, shape=record, style=filled];
"use_pdmp" [fillcolor="#94DDF4", label=use_pdmp, shape=record, style=filled];
"use_pdmp" [fillcolor="#94DDF4", label=use_pdmp, shape=record, style=filled];
"extra_channels_factor" [fillcolor="#94DDF4", label=extra_channels_factor, shape=record, style=filled];
"extra_channels_factor" [fillcolor="#94DDF4", label=extra_channels_factor, shape=record, style=filled];
"maxram" [fillcolor="#94DDF4", label=maxram, shape=record, style=filled];
"nbins" [fillcolor="#94DDF4", label=nbins, shape=record, style=filled];
"nthreads" [fillcolor="#94DDF4", label=nthreads, shape=record, style=filled];
"obsdur" [fillcolor="#94DDF4", label=obsdur, shape=record, style=filled];
"remove_dm_delays" [fillcolor="#94DDF4", label=remove_dm_delays, shape=record, style=filled];
"skip_from_start" [fillcolor="#94DDF4", label=skip_from_start, shape=record, style=filled];
"sp_subint" [fillcolor="#94DDF4", label=sp_subint, shape=record, style=filled];
"tsubint" [fillcolor="#94DDF4", label=tsubint, shape=record, style=filled];
"sasid" [fillcolor="#94DDF4", label=sasid, shape=record, style=filled];
"sasid" [fillcolor="#94DDF4", label=sasid, shape=record, style=filled];
"sasid" [fillcolor="#94DDF4", label=sasid, shape=record, style=filled];
"sasid" [fillcolor="#94DDF4", label=sasid, shape=record, style=filled];
"sasid" [fillcolor="#94DDF4", label=sasid, shape=record, style=filled];
"parfile_string" [fillcolor="#94DDF4", label=parfile_string, shape=record, style=filled];
"get_parfile_from_psrcat" [fillcolor="#94DDF4", label=get_parfile_from_psrcat, shape=record, style=filled];
}
"nozap" -> "clfd";
"nozap" -> "clfd_diagplots";
"nozap" -> "clfd_rfi_fraction";
"nozap" -> "diagplots";
"nozap" -> "paz";
"nozap" -> "paz_diagplots";
"nozap" -> "paz_rfi_fraction";
"use_clfd" -> "clfd";
"use_clfd" -> "clfd_diagplots";
"use_clfd" -> "clfd_rfi_fraction";
"use_clfd" -> "diagplots";
"h5in" -> "copy_cobalt_files";
"h5in" -> "copy_cobalt_files";
"h5in" -> "dspsr";
"h5in" -> "filter";
"h5in" -> "get_obs_nsubs";
"h5in" -> "keep_h5";
"h5in" -> "make_parfile";
"h5in" -> "mjd";
"h5in" -> "quickview";
"parfile" -> "copy_parfile";
"parfile" -> "dspsr";
"parfile" -> "make_parfile";
"use_paz" -> "diagplots";
"use_paz" -> "paz";
"use_paz" -> "paz_diagplots";
"use_paz" -> "paz_rfi_fraction";
"use_pdmp" -> "diagplots_new";
"use_pdmp" -> "get_new_p0_dm";
"use_pdmp" -> "pam_pdmp";
"use_pdmp" -> "pdmp";
"extra_channels_factor" -> "dspsr";
"extra_channels_factor" -> "minimum_of_two_numbers";
"maxram" -> "dspsr";
"nbins" -> "dspsr";
"nthreads" -> "dspsr";
"obsdur" -> "dspsr";
"remove_dm_delays" -> "dspsr";
"skip_from_start" -> "dspsr";
"sp_subint" -> "dspsr";
"tsubint" -> "dspsr";
"sasid" -> "make_combined_summary_pdf";
"sasid" -> "psradd";
"sasid" -> "quickview";
"sasid" -> "quickview";
"sasid" -> "rename_arfile";
"parfile_string" -> "make_parfile";
"get_parfile_from_psrcat" -> "make_parfile";
subgraph cluster_outputs {
label="Workflow Outputs";
labelloc=b;
rank=same;
style=dashed;
"workdir" [fillcolor="#94DDF4", label=workdir, shape=record, style=filled];
}
"make_outdir" -> "workdir";
}](../../../_images/graphviz-61575c13604fdafbe4d008eb443960996137ae55.png)
Workflow diagram