RNXCMP

Description

According to the page of RNXCMP, RNXCMP is software for compression/restoration of RINEX observation files, developed by Y. Hatanaka of the GSI (Geospatial Information Authority of Japan). It converts RINEX files to the CompactRINEX (Hatanaka) format and vice versa.

Available Versions

  • rnxcmp/4.0.7 (default)

Loading the Module

# Load RNXCMP
module load rnxcmp/4.0.7

# Verify installation
RNX2CRX -h

Job Submission

submit_rnxcmp.sh
#!/bin/bash
#SBATCH -J rnxcmp
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 24:00:00
#SBATCH --mem=4G

export INPUT="chpi0030.08o"
export OUTPUT="chpi0030.08d"

module load rnxcmp/4.0.7

# Convert RINEX to compact format
job-nanny RNX2CRX chpi0030.08o - > chpi0030.08d

Batch Processing

submit_rnxcmp_batch.sh
#!/bin/bash
#SBATCH -J rnxcmp_batch
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 48:00:00
#SBATCH --mem=8G

export INPUT="rinex_files/*.??o"
export OUTPUT="compressed/"

module load rnxcmp/4.0.7

mkdir -p compressed

# Process all RINEX files
for file in rinex_files/*.??o; do
    base=$(basename $file .${file##*.})
    job-nanny RNX2CRX $file - > compressed/${base}.d
    echo "Processed: $file"
done

Decompression

submit_rnxcmp_decompress.sh
#!/bin/bash
#SBATCH -J rnxcmp_decompress
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 12:00:00
#SBATCH --mem=4G

export INPUT="chpi0030.08d"
export OUTPUT="chpi0030.08o"

module load rnxcmp/4.0.7

# Convert compact format to RINEX
job-nanny CRX2RNX chpi0030.08d > chpi0030.08o

Job Array for Multiple Files

submit_rnxcmp_array.sh
#!/bin/bash
#SBATCH -J rnxcmp_array
#SBATCH --array=1-100
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 12:00:00
#SBATCH --mem=4G

FILES=($(ls rinex/*.??o))
FILE=${FILES[$SLURM_ARRAY_TASK_ID-1]}
BASE=$(basename $FILE .${FILE##*.})

export INPUT="$FILE"
export OUTPUT="compressed/${BASE}.d"

module load rnxcmp/4.0.7

mkdir -p compressed

job-nanny RNX2CRX $FILE - > compressed/${BASE}.d

Integrity Verification

verify_rnx.sh
#!/bin/bash
#SBATCH -J verify_rnx
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 04:00:00
#SBATCH --mem=4G

module load rnxcmp/4.0.7

# Check all compressed files
for file in compressed/*.d; do
    echo "Verifying $file"

    # Decompress and verify
    CRX2RNX $file > temp.obs 2> err.log

    if [ -s err.log ]; then
        echo "ERROR in $file" >> verification_errors.txt
        cat err.log >> verification_errors.txt
    else
        echo "OK: $file" >> verification_ok.txt
    fi

    rm -f temp.obs err.log
done

# Final report
echo "Verification summary:" > verification_report.txt
echo "OK files: $(wc -l < verification_ok.txt)" >> verification_report.txt
echo "Files with errors: $(wc -l < verification_errors.txt 2>/dev/null || echo 0)" >> verification_report.txt

References

See also