Skip to content

Configuration

fazal-contra edited this page Jan 27, 2026 · 2 revisions

Configuration

This page provides a comprehensive reference for all ELDEN-RING configuration parameters.

Configuration Files

Hierarchy

Configuration is loaded in the following order (later overrides earlier):

  1. nextflow.config - Default pipeline settings
  2. conf/profiles/*.config - Cluster-specific profiles
  3. params.config - User parameters (in basedir)
  4. Command-line parameters (--param value)

Example Configuration

See example/params.config.example for a complete template.

Core Parameters

Required Parameters

Parameter Type Description
params.basedir String Base directory for all outputs
params.runID String Unique identifier for this run
params.files_list String Path to input CSV file
params.telescope String Telescope name (effelsberg or meerkat)
params {
    basedir = "/data/NGC6401_search"
    runID = "search_v1"
    files_list = "inputfile.txt"
    telescope = "effelsberg"
}

Dispersion Measure (DM) Parameters

params.ddplan {
    dm_start = 85       // Starting DM (relative to coherent DM)
    dm_end = 95         // Ending DM
    dm_step = 0.1       // DM step size
}

Note: DM values are typically specified relative to the coherent DM of the observation.

Peasoup Search Parameters

params.peasoup {
    // Segmentation
    segments = [1, 2, 4]           // 1=full, 2=half, 4=quarter segments

    // Acceleration search range (m/s²)
    acc_start = -50
    acc_end = 50

    // Signal-to-noise thresholds
    min_snr = 7.0                  // Minimum S/N for candidates
    birdies_min_snr = 11.0         // S/N for birdie detection

    // Harmonic summing
    nharmonics = 4                 // Number of harmonics to sum

    // Additional options
    extra_args = ""                // Extra peasoup arguments
}

RFI Filtering Parameters

filtool Settings

params.filtool {
    run_filtool = true             // Enable RFI filtering
    rfi_filter = ""                // Path to RFI filter file (or auto-generate)
    extra_args = ""                // Extra filtool arguments
}

RFI Filter Generation

params.generateRfiFilter {
    run_rfi_filter = true          // Generate dynamic RFI masks
    bandpass_sigma = 3.0           // Sigma threshold for bandpass
    spectral_kurtosis_sigma = 3.0  // Sigma for spectral kurtosis
    time_sigma = 3.0               // Sigma for time-domain RFI
}

Stacking and Splitting

params {
    // Coherent DM stacking
    stack_by_cdm = true            // Stack beams by coherent DM value

    // Frequency splitting
    split_fil = true               // Split filterbank by frequency
    split_freq = 1200.0            // Split frequency (MHz)
}

Folding Parameters

params.pulsarx {
    nsubint = 64                   // Number of sub-integrations
    nbin = 128                     // Number of phase bins
    extra_args = ""                // Extra PulsarX arguments
}

Classification Parameters

params.classification {
    pics_model = "MeerKAT_L_SBAND_COMBINED_Best_Recall.pkl"
    min_pics_score = 0.1           // Minimum PICS score threshold
}

Candidate Filtering

params.parsexml {
    // Candidate selection
    min_snr = 7.0                  // Minimum S/N
    max_dm = 1000.0                // Maximum DM
    min_period = 0.0005            // Minimum period (seconds)
    max_period = 30.0              // Maximum period (seconds)

    // Duplicate removal
    dm_tolerance = 0.5             // DM matching tolerance
    period_tolerance = 0.0001      // Period matching tolerance (seconds)
}

Cluster Profiles

Available Profiles

Profile System Description
local Local Single-machine execution
hercules SLURM Hercules HPC cluster
edgar SLURM Edgar cluster
contra SLURM Contra cluster
condor HTCondor HTCondor batch system

Using Profiles

# Single profile
nextflow run elden.nf -profile hercules

# Multiple profiles
nextflow run elden.nf -profile hercules,gpu

Profile Configuration Example (SLURM)

// conf/profiles/hercules.config.example
process {
    executor = 'slurm'
    queue = 'normal'

    withLabel: 'gpu' {
        queue = 'gpu'
        clusterOptions = '--gres=gpu:1'
    }

    withLabel: 'high_memory' {
        memory = '128 GB'
        cpus = 16
    }
}

singularity {
    enabled = true
    autoMounts = true
    cacheDir = '/scratch/singularity_cache'
}

Container Configuration

singularity {
    enabled = true
    autoMounts = true
    cacheDir = "${HOME}/.singularity_cache"
}

// Container paths
params.containers {
    peasoup = "/path/to/peasoup.sif"
    pulsarx = "/path/to/pulsarx.sif"
    presto = "/path/to/presto.sif"
    pics_classifier = "/path/to/pics.sif"
    rfi_mitigation = "/path/to/rfi.sif"
    filtools = "/path/to/filtools.sif"
    riptide = "/path/to/riptide.sif"   // For FFA search (elden_presto branch)
}

Email Notifications

params {
    email = "user@example.com"     // Notification email
    email_on_fail = true           // Email on failure
    email_on_complete = true       // Email on completion
}

Advanced Parameters

Caching and Performance

params {
    // Shared cache for reusable outputs
    use_shared_cache = true
    shared_cache_dir = "${params.basedir}/shared_cache"

    // Process-level settings
    max_retries = 3                // Retry failed processes
    error_strategy = 'retry'       // or 'ignore', 'terminate'
}

DADA Processing

params.dada {
    dada_files_list = "dada_input.csv"
    cdm_list = "47.0 101.0"        // Coherent DM values to process
}

params.digifits {
    extra_args = ""                // Extra digifits arguments
}

Riptide FFA Parameters (elden_presto branch)

Riptide FFA search configuration. Parameters in params.config:

params.riptide {
    run_ffa_search   = false           // Enable FFA search on dedispersed data
    config_file      = "riptide_config.yml"  // Path to YAML config
    backend          = 'presto'        // Backend for standalone: 'presto' or 'peasoup'
}

Riptide YAML Configuration

FFA search parameters are configured in riptide_config.yml (copied to basedir during setup_basedir). Edit this file directly to customize FFA search behavior.

Key Sections:

# Number of parallel processes
processes: 4

# DM selection range
dmselect:
  min: 0.0          # Minimum DM to search
  max: 1000.0       # Maximum DM to search

# Period search ranges
ranges:
  - name: 'short'
    ffa_search:
      period_min: 0.001     # Minimum period (seconds)
      period_max: 0.05      # Maximum period (seconds)
      bins_min: 64          # Minimum phase bins
      bins_max: 128         # Maximum phase bins
    find_peaks:
      smin: 6.0             # S/N threshold

  - name: 'medium'
    ffa_search:
      period_min: 0.05
      period_max: 1.0
    find_peaks:
      smin: 7.0

  - name: 'long'
    ffa_search:
      period_min: 1.0
      period_max: 10.0
    find_peaks:
      smin: 7.0

# Candidate filtering
candidate_filters:
  dm_min: 5.0                 # Minimum DM for real candidates
  snr_min: 8.0                # Minimum S/N threshold
  remove_harmonics: true      # Remove harmonic candidates
  max_number: 100             # Maximum candidates to output

# Output options
plot_candidates: true         # Generate PNG diagnostic plots

See riptide documentation for full parameter reference.

Command-Line Overrides

Any parameter can be overridden from the command line:

nextflow run elden.nf -entry full \
    --basedir /new/path \
    --runID "test_run" \
    --peasoup.min_snr 8.0 \
    --ddplan.dm_start 50 \
    --ddplan.dm_end 150

Environment Variables

Variable Description
NXF_WORK Override work directory location
NXF_SINGULARITY_CACHEDIR Singularity cache directory
NXF_TEMP Temporary directory for Nextflow
export NXF_WORK=/scratch/$USER/nextflow_work
export NXF_SINGULARITY_CACHEDIR=/scratch/singularity_cache