Skip to contents

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.

Usage

seasonder_exportRangeInfo(seasonder_cs_object)

Arguments

seasonder_cs_object

A SeaSondeRCS object containing MUSIC data and associated metadata.

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:

  1. Extracts key fields from the MUSIC data: range cell, range, and the retained solution type.

  2. Aggregates counts of detections classified as single versus dual solutions.

  3. Retrieves noise levels (in dB) for each antenna.

  4. Obtains FOR boundaries using a dedicated export function and adjusts them based on the Doppler interpolation factor.

  5. Merges the aggregated detection counts, noise levels, and FOR boundaries by range cell.

  6. 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
# }