-
Notifications
You must be signed in to change notification settings - Fork 1
Output Structure
This page describes the directory structure and files produced by ELDEN-RING.
ELDEN-RING creates two main output areas:
-
Shared Cache (
shared_cache/) - Reusable intermediate products -
Run Directory (
<runID>/) - Run-specific outputs
basedir/
├── shared_cache/ # Persistent, reusable files
│ └── <cluster>/
│ ├── FITS/ # DADA→FITS conversions
│ └── <beam_name>/
│ ├── RFIFILTER/ # RFI diagnostic plots
│ └── CLEANEDFIL/ # Cleaned filterbanks
│
├── <runID>/ # Run-specific outputs
│ ├── <beam_name>/
│ │ └── segment_<N>/
│ │ └── <seg_id>/
│ │ ├── BIRDIES/
│ │ ├── SEARCH/
│ │ ├── PARSEXML/
│ │ ├── FOLDING/
│ │ ├── ABG/
│ │ └── CLASSIFICATION/
│ │
│ ├── RIPTIDE_SEARCH/ # FFA search outputs (elden_presto branch)
│ ├── TARBALL_CSV/
│ ├── CANDIDATE_TARBALLS/
│ ├── DMFILES/
│ └── pipeline_summary_*.txt
│
└── .cumulative_runtime_*.txt
Contains reusable intermediate files that persist across runs.
DADA to FITS conversions (when using run_dada_search):
shared_cache/<cluster>/FITS/
├── <beam_name>_cdm47.0.sf
├── <beam_name>_cdm101.0.sf
└── ...
RFI diagnostic outputs:
shared_cache/<cluster>/<beam_name>/RFIFILTER/
├── <beam_name>_rfi_report.png # RFI diagnostic plot
├── <beam_name>_bandpass.png # Bandpass plot
├── <beam_name>_kurtosis.png # Spectral kurtosis plot
├── <beam_name>_filter_params.txt # Generated filter parameters
└── <beam_name>_masked_channels.txt # List of masked channels
RFI-cleaned filterbank files:
shared_cache/<cluster>/<beam_name>/CLEANEDFIL/
├── <beam_name>_cdm47.0_cleaned.fil
├── <beam_name>_cdm101.0_cleaned.fil
└── ...
Contains all outputs specific to a particular search run.
Each beam's outputs are organized by segmentation:
<runID>/<beam_name>/segment_<N>/<seg_id>/
Where:
-
<N>= segment factor (1=full, 2=half, 4=quarter) -
<seg_id>= segment identifier
RFI birdie detection outputs:
BIRDIES/
├── birdies.xml # Detected birdies in XML format
├── birdies_list.txt # Parsed birdie frequencies
└── birdie_candidates.png # Diagnostic plot
Peasoup search outputs:
SEARCH/
├── overview.xml # Search overview
├── candidates.xml # Raw candidate list
├── search_log.txt # Search log
└── search_params.txt # Parameters used
Parsed and filtered candidates:
PARSEXML/
├── XML/
│ ├── filtered_candidates.xml # Filtered candidates
│ └── candidate_summary.csv # Summary statistics
├── candidates_above_threshold.csv
└── duplicate_removed.csv
PulsarX folding outputs:
FOLDING/
├── PNG/ # Diagnostic plots
│ ├── candidate_001.png
│ ├── candidate_002.png
│ └── ...
├── AR/ # Archive files
│ ├── candidate_001.ar
│ ├── candidate_002.ar
│ └── ...
├── CANDS/ # Candidate metadata
│ ├── candidate_001.cands
│ └── ...
├── CSV/ # Merged CSV files
│ └── all_candidates.csv
└── PROVENANCE/ # Tracking files
└── fold_provenance.json
Alpha-Beta-Gamma scoring:
ABG/
├── abg_scores.csv # Candidate scores
└── abg_ranking.csv # Ranked candidates
ML classification outputs:
CLASSIFICATION/
├── pics_scores.csv # PICS classifier scores
├── ranked_candidates.csv # Final ranked list
└── classification_summary.txt
Riptide FFA search outputs (when using --riptide.run_ffa_search true or run_riptide workflow):
<runID>/RIPTIDE_SEARCH/
├── candidates.csv # Final FFA candidates
├── peaks.csv # All detected periodogram peaks
├── clusters.csv # Peaks grouped by frequency proximity
├── *.json # One JSON file per candidate
└── *.png # Diagnostic plot per candidate (if enabled)
| File | Description |
|---|---|
candidates.csv |
Final candidates after harmonic removal and filtering |
peaks.csv |
Raw peaks from FFA periodograms across all DM trials |
clusters.csv |
Peaks clustered by period proximity across DM |
*.json |
Candidate metadata (loadable with riptide.load_json) |
*.png |
Diagnostic plots showing profile, DM curve, periodogram |
CSV Format (candidates.csv):
period,dm,snr,width,cluster_id,harmonic_flag
0.5673,47.2,12.5,0.05,1,0
1.234,89.1,9.8,0.08,2,0Final CandyJar-compatible tarballs:
<runID>/CANDIDATE_TARBALLS/
├── <cluster>_<beam_name>_segment1_candidates.tar
├── <cluster>_<beam_name>_segment2_candidates.tar
└── ...
Each tarball contains:
candidates.tar/
├── candidates.csv # Candidate metadata
├── plots/ # PNG diagnostic plots
├── archives/ # Archive files
└── metadata.json # Run metadata
CSV files used for tarball creation:
<runID>/TARBALL_CSV/
├── segment1_candidates.csv
├── segment2_candidates.csv
└── merged_all_segments.csv
DM search parameter files:
<runID>/DMFILES/
├── dm_range_1.txt
├── dm_range_2.txt
└── ...
Generated after each run:
<runID>/pipeline_summary_<timestamp>.txt
Contains:
- Run parameters
- Processing statistics
- Candidate counts per stage
- Timing information
- Error summary
Tracks total processing time across resume runs:
basedir/.cumulative_runtime_<runID>.txt
id,dm,period,snr,acc,pics_score,alpha,beta,gamma,rank
1,47.123,0.00567,12.5,0.0,0.85,0.92,0.78,0.65,1
2,47.456,0.01234,10.2,-5.2,0.72,0.88,0.71,0.58,2| Column | Description |
|---|---|
id |
Candidate ID |
dm |
Dispersion measure (pc/cm³) |
period |
Period (seconds) |
snr |
Signal-to-noise ratio |
acc |
Acceleration (m/s²) |
pics_score |
ML classification score (0-1) |
alpha |
Alpha ranking metric |
beta |
Beta ranking metric |
gamma |
Gamma ranking metric |
rank |
Final ranking |
PulsarX archives (.ar files) are PSRFITS-compatible and can be viewed with:
# Using PSRCHIVE
pav -G your_candidate.ar
# Using PulsarX
pxview your_candidate.arrm -rf basedir/<runID>/Use the cleanup workflow:
nextflow run elden.nf -entry cleanup_cache --basedir /path/to/basedirOr manually:
rm -rf basedir/shared_cache/<cluster>/<beam_name>/rm -rf work/
nextflow clean -f