Export Range Information from a SeaSondeRCS Object
Source:R/SeaSondeRCS_MUSIC.R
seasonder_exportRangeInfo.Rd
This function computes and exports range-related information based on the MUSIC data stored in a SeaSondeRCS object. The output table includes range cell identifiers, range values, noise levels (for each antenna), first-order region (FOR) boundaries, and counts of detections classified as single or dual solutions.
Value
A data frame with the following columns:
- SPRC
Range cell identifier.
- RNGC
Range (in appropriate units).
- NF01
Noise level (in dB) for antenna 1.
- NF02
Noise level (in dB) for antenna 2.
- NF03
Noise level (in dB) for antenna 3.
- ALM1
Lower FOR boundary (after Doppler interpolation).
- ALM2
Upper FOR boundary (after Doppler interpolation) for the first boundary set.
- ALM3
Lower FOR boundary (after Doppler interpolation) for the second boundary set.
- ALM4
Upper FOR boundary (after Doppler interpolation) for the second boundary set.
- NVSC
Count of detections classified as "single".
- NVDC
Count of detections classified as "dual".
- NVAC
Total adjusted count (NVSC plus twice NVDC).
Details
The function performs the following operations:
Extracts key fields from the MUSIC data: range cell, range, and the retained solution type.
Aggregates counts of detections classified as single versus dual solutions.
Retrieves noise levels (in dB) for each antenna.
Obtains FOR boundaries using a dedicated export function and adjusts them based on the Doppler interpolation factor.
Merges the aggregated detection counts, noise levels, and FOR boundaries by range cell.
Selects and reorders the output columns.
Examples
# \donttest{
# Prepare a SeaSondeRCS object with MUSIC data
apm_file <- system.file("css_data/MeasPattern.txt", package = "SeaSondeR")
apm_obj <- seasonder_readSeaSondeRAPMFile(apm_file)
#> seasonder_createSeaSondeRAPM: APM object created successfully.
cs_file <- system.file("css_data/CSS_TORA_24_04_04_0700.cs", package = "SeaSondeR")
cs_obj <- seasonder_createSeaSondeRCS(cs_file, seasonder_apm_object = apm_obj)
#> new_SeaSondeRCS: SeaSondeRCS object created successfully.
FOR <- seasonder_getSeaSondeRCS_FOR(cs_obj)
cs_obj <- seasonder_setSeaSondeRCS_FOR(cs_obj,FOR[4:5])
# Run MUSIC algorithm to populate MUSIC data
cs_obj <- seasonder_runMUSICInFOR(cs_obj)
#> seasonder_runMUSIC: MUSIC algorithm started.
#> seasonder_runMUSIC: MUSIC algorithm finished.
range_info <- seasonder_exportRangeInfo(cs_obj)
head(range_info)
#> SPRC RNGC NF01 NF02 NF03 ALM1 ALM2 ALM3 ALM4 NVSC NVDC
#> 1 1 0.1870365 -138.6283 -140.4046 -135.2373 321 344 673 684 2 2
#> 2 2 0.3740731 -138.5116 -139.9964 -134.8205 317 349 668 698 1 0
#> NVAC
#> 1 6
#> 2 1
# }