mirror of
https://github.com/thetechprepper/emcomm-tools-os-community.git
synced 2026-09-17 15:41:44 -04:00
voacap - Added validation for longitude values
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
# Date : 23 May 2023
|
||||
# Updated : 24 August 2025
|
||||
# Purpose : Offline HF prediction using voacapl
|
||||
#set -e
|
||||
set -e
|
||||
set -o pipefail
|
||||
trap 'last_command=$current_command; current_command=$BASH_COMMAND' DEBUG
|
||||
trap 'echo -e "${RED}\"${last_command}\" command failed with exit code $?.${NC}"' ERR
|
||||
@@ -81,6 +81,32 @@ validate_latitude() {
|
||||
fi
|
||||
}
|
||||
|
||||
validate_longitude() {
|
||||
local lon="$1"
|
||||
|
||||
if [[ -z "$lon" ]]; then
|
||||
echo -e "${RED}Longitude can't be an empty value${NC}" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
if ! [[ "$lon" =~ ^-?[0-9]+([.][0-9]+)?$ ]]; then
|
||||
echo -e "${RED}Longitude must be a number${NC}" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
local lonf
|
||||
lonf=$(printf "%.10f" "$lon" 2>/dev/null) || {
|
||||
echo -e "${RED}Error converting longitude ${NC}" >&2
|
||||
return 1
|
||||
}
|
||||
|
||||
# Check range: -180 <= lat <= 1800
|
||||
if (( $(echo "$lon < -180" | bc -l) )) || (( $(echo "$lon > 180" | bc -l) )); then
|
||||
echo -e "${RED}Longitude must be in range between -180 and 180 degrees${NC}" >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
ET_SSN="${HOME}/.local/share/emcomm-tools/voacap/ssn.txt"
|
||||
if [[ ! -e ${ET_SSN} ]]; then
|
||||
echo -e "${RED}Sunspot number file not available:${WHITE}${ET_SSN}${NC}"
|
||||
@@ -189,6 +215,7 @@ fi
|
||||
read TL TK <<< "$result"
|
||||
|
||||
validate_latitude "$TL" || exit 1
|
||||
validate_longitude "$TK" || exit 1
|
||||
|
||||
TL1=$( awk -v n1=$TL -v n2=90 -v n3=-90 'BEGIN {if (n1<n3 || n1>n2) printf ("%s", "a"); else printf ("%.2f", n1);}' )
|
||||
|
||||
@@ -216,6 +243,7 @@ fi
|
||||
read RL RK <<< "$result"
|
||||
|
||||
validate_latitude "$RL" || exit 1
|
||||
validate_longitude "$RK" || exit 1
|
||||
|
||||
RL1=$( awk -v n1=$RL -v n2=90 -v n3=-90 'BEGIN {if (n1<n3 || n1>n2) printf ("%s", "a"); else printf ("%.2f", n1);}' )
|
||||
|
||||
|
||||
Reference in New Issue
Block a user