Compare commits

..

24 commits

Author SHA1 Message Date
tiffanycmeyer13
f00e1365ce
Merge pull request #664 from tiffanycmeyer13/unidata_20.3.2-windows
Unidata 20.3.2 windows
2024-02-13 08:30:34 -06:00
ucar-tmeyer
cb5f57193e Needed to update the name of the .exe from CAVE to no_env to prevent confusion with users running the exectuable instead of the .bat file. 2024-02-13 08:28:19 -06:00
ucar-tmeyer
78e7642c3b Merge branch 'unidata_20.3.2-windows' of github.com:Unidata/awips2 into unidata_20.3.2-windows 2024-02-12 15:33:05 -06:00
tiffanycmeyer13
c544dcf489
Merge pull request #661 from srcarter3/unidata_20.3.2-windows
Unidata 20.3.2 windows
2024-02-09 16:13:05 -06:00
Shay Carter
adce9fa91e Merge branch 'unidata_20.3.2' into unidata_20.3.2-windows
Bring over all recent changes from main 20.3.2 branch into the windows branch
2024-02-08 12:51:33 -07:00
ucar-tmeyer
ab20d25c11 Merge branch 'unidata_20.3.2-windows' of github.com:Unidata/awips2 into unidata_20.3.2-windows 2024-02-07 12:24:18 -06:00
tiffanycmeyer13
59ffad96e3
Merge pull request #645 from srcarter3/unidata_20.3.2-windows
Remove GFE from perspective options
2024-01-09 14:33:02 -06:00
Shay Carter
258e1918c6 Remove GFE from perspective options 2024-01-09 12:28:58 -08:00
srcarter3
6e4195c7e0
Merge pull request #644 from srcarter3/unidata_20.3.2-windows
Bring over main branch changes into windows branch
2024-01-09 13:25:59 -07:00
Shay Carter
5c7d5886fc Merge branch 'unidata_20.3.2' of github.com:Unidata/awips2 into unidata_20.3.2-windows
Bring in latest 20.3.2 branch changes into windows specific branch
2024-01-09 12:03:34 -08:00
ucar-tmeyer
5d75062015 Merge branch 'unidata_20.3.2' of github.com:Unidata/awips2 into unidata_20.3.2-windows 2023-12-12 09:46:56 -06:00
ucar-tmeyer
f4f4677e24 Merge remote-tracking branch 'unidata/unidata_20.3.2' into unidata_20.3.2-windows 2023-12-05 15:47:28 -06:00
ucar-tmeyer
7f5d1c530e Merge remote-tracking branch 'unidata/unidata_20.3.2' into unidata_20.3.2-windows 2023-12-05 15:10:06 -06:00
srcarter3
cfdabb1efa
Merge pull request #573 from tiffanycmeyer13/unidata_20.3.2-windows
Merge unidata_20.3.2 changes into unidata_20.3.2-windows branch
2023-07-07 11:11:52 -06:00
Tiffany Meyer
c59f867f93 Merge branch 'unidata_20.3.2-windows' of github.com:Unidata/awips2 into unidata_20.3.2-windows 2023-07-07 09:54:23 -05:00
Tiffany Meyer
779da31a37 Merge branch 'unidata_20.3.2' of github.com:Unidata/awips2 into unidata_20.3.2-windows 2023-07-07 09:52:05 -05:00
Tiffany Meyer
d29597cb55 Merge branch 'unidata_20.3.2' of github.com:Unidata/awips2 into unidata_20.3.2-windows 2023-07-06 11:08:07 -05:00
srcarter3
94839a5b86
Merge pull request #567 from tiffanycmeyer13/unidata_20.3.2-windows
Merge unidata_20.3.2 branch into unidata_20.3.2-windows
2023-07-05 15:42:43 -06:00
Tiffany Meyer
8eb349561d Merge branch 'unidata_20.3.2' of github.com:Unidata/awips2 into unidata_20.3.2-windows 2023-07-05 16:03:00 -05:00
Tiffany Meyer
300f583fbc Merge branch 'unidata_20.3.2' of github.com:Unidata/awips2 into unidata_20.3.2-windows 2023-04-24 19:51:25 -05:00
Tiffany Meyer
cc21e5bd9f Merge branch 'unidata_20.3.2' of github.com:Unidata/awips2 into unidata_20.3.2-windows 2023-04-17 16:18:17 -05:00
Tiffany Meyer
944bc331be Merge branch 'unidata_20.3.2' of github.com:Unidata/awips2 into unidata_20.3.2-windows 2023-04-05 14:17:11 -05:00
Tiffany Meyer
cf38c53a7c Merge branch 'unidata_20.3.2' of github.com:Unidata/awips2 into unidata_20.3.2-windows 2023-03-24 14:57:27 -05:00
Tiffany Meyer
c6f795a622 Fix to add alertview to the Windows CAVE Menu. 2023-03-21 11:32:55 -05:00
88 changed files with 778 additions and 2501 deletions

View file

@ -27,8 +27,8 @@ jobs:
- name: Create mkdocs_requirements.txt
run: |
echo "markdown==3.3.4" >> mkdocs_requirements.txt
echo "mkdocs==1.3.0" >> mkdocs_requirements.txt
echo "markdown==3.3.7" >> mkdocs_requirements.txt
echo "mkdocs" >> mkdocs_requirements.txt
echo "mkdocs-unidata" >> mkdocs_requirements.txt
echo "fontawesome_markdown" >> mkdocs_requirements.txt

View file

@ -3,7 +3,7 @@ name: update station info v20
on:
workflow_dispatch:
schedule:
- cron: "0 7 * * *"
- cron: "0 6 * * *"
jobs:
update_ndm:
@ -11,11 +11,6 @@ jobs:
environment:
name: VLAB
steps:
# Install svn since it is no longer included by default in ubuntu-latest (ubuntu-24.04 image)
- name: Install svn package
run: |
sudo apt-get update
sudo apt-get install subversion
# Checkout this repo
# this gets the latest code (and is run on the default branch)
- name: Checkout awips2

View file

@ -1,7 +0,0 @@
[awips2repo]
name=AWIPS II Repository
baseurl=https://downloads.unidata.ucar.edu/awips2/current/linux/rpms/el7/
enabled=1
protect=0
gpgcheck=0
proxy=_none_

View file

@ -1,461 +0,0 @@
#!/bin/bash
# about: AWIPS install manager
# devorg: Unidata Program Center
# author: Michael James, Tiffany Meyer
# maintainer: <support-awips@unidata.ucar.edu>
# Date Updated: 7/5/2023
# use: ./awips_install.sh (--cave|--edex|--database|--ingest|--help)
dir="$( cd "$(dirname "$0")" ; pwd -P )"
usage="$(basename "$0") [-h] (--cave|--edex|--database|--ingest) #script to install Unidata AWIPS components.\n
-h, --help show this help text\n
--cave install CAVE for x86_64 Linux\n
--edex, --server install EDEX Standaone Server x86_64 Linux\n
--database install EDEX Request/Database x86_64 Linux\n
--ingest install EDEX Ingest Node Server x86_64 Linux\n"
function stop_edex_services {
for srvc in edex_ldm edex_camel qpidd httpd-pypies edex_postgres ; do
if [ -f /etc/init.d/$srvc ]; then
service $srvc stop
fi
done
}
function check_yumfile {
if [[ $(grep "release 7" /etc/redhat-release) ]]; then
repofile=awips2.repo
else
echo "You need to be running CentOS7 or RedHat7"
exit
fi
if [ -f /etc/yum.repos.d/awips2.repo ]; then
date=$(date +%Y%m%d-%H:%M:%S)
cp /etc/yum.repos.d/awips2.repo /etc/yum.repos.d/awips2.repo-${date}
fi
wget_url="https://downloads.unidata.ucar.edu/awips2/20.3.2/linux/${repofile}"
echo "wget -O /etc/yum.repos.d/awips2.repo ${wget_url}"
wget -O /etc/yum.repos.d/awips2.repo ${wget_url}
sed -i 's/enabled=0/enabled=1/' /etc/yum.repos.d/awips2.repo
yum clean all --enablerepo=awips2repo --disablerepo="*" 1>> /dev/null 2>&1
yum --enablerepo=awips2repo clean metadata
}
function check_limits {
if [[ ! $(grep awips /etc/security/limits.conf) ]]; then
echo "Checking /etc/security/limits.conf for awips: Not found. Adding..."
printf "awips soft nproc 65536\nawips soft nofile 65536\n" >> /etc/security/limits.conf
fi
}
function check_epel {
if [[ ! $(rpm -qa | grep epel-release) ]]; then
yum install epel-release -y
yum clean all
fi
}
function check_wget {
if ! [[ $(rpm -qa | grep ^wget) ]]; then
# install wget if not installed
yum install wget -y
fi
}
function check_rsync {
if ! [[ $(rpm -qa | grep ^rsync) ]]; then
# install rsync if not installed
yum install rsync -y
fi
}
function check_netcdf {
if [[ $(rpm -qa | grep netcdf-AWIPS) ]]; then
# replaced by epel netcdf(-devel) pkgs in 17.1.1-5 so force remove
yum remove netcdf-AWIPS netcdf netcdf-devel -y
fi
}
function check_git {
if ! [[ $(rpm -qa | grep ^git-[12]) ]]; then
# install git if not installed
yum install git -y
fi
}
function check_cave {
if [[ $(rpm -qa | grep awips2-cave-20) ]]; then
echo $'\n'CAVE is currently installed and needs to be removed before installing.
pkill cave.sh
pkill -f 'cave/cave.sh'
remove_cave
fi
check_edex
if [[ $(rpm -qa | grep awips2-cave-18) ]]; then
while true; do
read -p "Version 18.* of CAVE is currently installed and needs to be removed before installing the Beta Version 20.* of CAVE. Do you wish to remove CAVE? (Please type yes or no) `echo $'\n> '`" yn
case $yn in
[Yy]* ) remove_cave; break;;
[Nn]* ) echo "Exiting..."; exit;;
* ) echo "Please answer yes or no"
esac
done
fi
}
function check_cave {
if [[ $(rpm -qa | grep awips2-cave) ]]; then
echo $'\n'CAVE is currently installed and needs to be removed before installing.
pkill cave.sh
pkill -f 'cave/run.sh'
remove_cave
fi
}
function remove_cave {
yum groupremove awips2-cave -y
if [[ $(rpm -qa | grep awips2-cave) ]]; then
echo "
=================== FAILED ===========================
Something went wrong with the un-install of CAVE
and packages are still installed. Once the CAVE
group has been successfully uninstalled, you can try
running this script again.
Try running a \"yum grouplist\" to see if the AWIPS
CAVE group is still installed and then do a
\"yum groupremove [GROUP NAME]\".
ex. yum groupremove 'AWIPS EDEX Server'
You may also need to run \"yum groups mark
remove [GROUP NAME]\"
ex. yum groups mark remove 'AWIPS CAVE'"
exit
else
dir=cave
echo "Removing /awips2/$dir"
rm -rf /awips2/$dir
rm -rf /home/awips/caveData
fi
}
function check_edex {
if [[ $(rpm -qa | grep awips2-edex) ]]; then
echo "found EDEX RPMs installed. The current EDEX needs to be removed before installing."
check_remove_edex
else
if [ -d /awips2/database/data/ ]; then
echo "cleaning up /awips2/database/data/ for new install..."
rm -rf /awips2/database/data/
fi
fi
for dir in /awips2/tmp /awips2/data_store ; do
if [ ! -d $dir ]; then
echo "creating $dir"
mkdir -p $dir
chown awips:fxalpha $dir
fi
done
if getent passwd awips &>/dev/null; then
echo -n ''
else
echo
echo "--- user awips does not exist"
echo "--- installation will continue but EDEX services may not run as intended"
fi
}
function check_remove_edex {
while true; do
read -p "Do you wish to remove EDEX? (Please type yes or no) `echo $'\n> '`" yn
case $yn in
[Yy]* ) remove_edex; break;;
[Nn]* ) echo "Exiting..."; exit;;
* ) echo "Please answer yes or no"
esac
done
}
function calcLogSpace {
a=("$@")
logDiskspace=0
for path in "${a[@]}" ; do
if [ -d $path ] || [ -f $path ]; then
out=`du -sk $path | cut -f1`
logDiskspace=$((logDiskspace + $out))
fi
done
logDiskspace=$(echo "scale=8;$logDiskspace*.000000953674316" | bc)
}
function calcConfigSpace {
a=("$@")
configDiskspace=0
for path in "${a[@]}" ; do
if [ -d $path ] || [ -f $path ]; then
out=`du -sk $path | cut -f1`
configDiskspace=$((configDiskspace + $out))
fi
done
configDiskspace=$(echo "scale=8;$configDiskspace*.000000953674316" | bc)
}
function backupLogs {
a=("$@")
log_backup_dir=${backup_dir}/awips2_backup_${ver}_${date}/logs
if [[ ! -d ${log_backup_dir} ]]; then
mkdir -p ${log_backup_dir}
fi
echo "Backing up to $log_backup_dir"
for path in "${a[@]}" ; do
if [ -d $path ] || [ -f $path ]; then
rsync -apR $path $log_backup_dir
fi
done
}
function backupConfigs {
a=("$@")
config_backup_dir=${backup_dir}/awips2_backup_${ver}_${date}/configs
if [[ ! -d $config_backup_dir ]]; then
mkdir -p $config_backup_dir
fi
echo "Backing up to $config_backup_dir"
for path in "${a[@]}" ; do
if [ -d $path ] || [ -f $path ]; then
rsync -apR $path $config_backup_dir
fi
done
}
function remove_edex {
logPaths=("/awips2/edex/logs" "/awips2/httpd_pypies/var/log/httpd/" "/awips2/database/data/pg_log/" "/awips2/qpid/log/" "/awips2/ldm/logs/")
configPaths=("/awips2/database/data/pg_hba*conf" "/awips2/edex/data/utility" "/awips2/edex/bin" "/awips2/ldm/etc" "/awips2/ldm/dev" "/awips2/edex/conf" "/awips2/edex/etc" "/usr/bin/edex" "/etc/init*d/edexServiceList" "/var/spool/cron/awips")
while true; do
read -p "`echo $'\n'`Please make a selction for what you would like backed up. If you choose not to back up files you will lose all your configurations:
1. logs
2. configs
3. both logs and configs
4. none
`echo $'\n> '`" backup_ans
#User chooses to back of files
if [[ $backup_ans =~ [1-3] ]]; then
echo "ANSWER: $backup_ans"
while true; do
read -p "`echo $'\n'`What location do you want your files backed up to? `echo $'\n> '`" backup_dir
if [ ! -d $backup_dir ]; then
echo "$backup_dir does not exist, enter a path that exists"
else
#Check to see if user has enough space to backup
backupspace=`df -k --output=avail "$backup_dir" | tail -n1`
backupspace=$(echo "scale=8;$backupspace*.000000953674316" | bc)
date=$(date +'%Y%m%d-%H:%M:%S')
echo "Checking to see which version of AWIPS is installed..."
rpm=`rpm -qa | grep awips2-[12]`
IFS='-' str=(${rpm})
IFS=. str2=(${str[2]})
vers="${str[1]}-${str2[0]}"
ver="${vers//[.]/-}"
if [ $backup_ans = 1 ]; then
calcLogSpace "${logPaths[@]}"
#Don't let user backup data if there isn't enough space
if (( $(echo "$logDiskspace > $backupspace" | bc ) )); then
printf "You do not have enough disk space to backup this data to $backup_dir. You only have %.2f GB free and need %.2f GB.\n" $backupspace $logDiskspace
#Backup logs
else
backupLogs "${logPaths[@]}"
printf "%.2f GB of logs were backed up to $backup_dir \n" "$logDiskspace"
fi
elif [ $backup_ans = 2 ]; then
calcConfigSpace "${configPaths[@]}"
#Don't let user backup data if there isn't enough space
if (( $(echo "$configDiskspace > $backupspace" | bc ) )); then
printf "You do not have enough disk space to backup this data to $backup_dir. You only have %.2f GB free and need %.2f GB.\n" $backupspace $configDiskspace
#Backup logs
else
backupConfigs "${configPaths[@]}"
printf "%.2f GB of configs were backed up to $backup_dir \n" "$configDiskspace"
fi
elif [ $backup_ans = 3 ]; then
calcLogSpace "${logPaths[@]}"
calcConfigSpace "${configPaths[@]}"
configLogDiskspace=$( echo "$logDiskspace+$configDiskspace" | bc)
#Don't let user backup data if there isn't enough space
if (( $(echo "$configLogDiskspace > $backupspace" | bc ) )); then
printf "You do not have enough disk space to backup this data to $backup_dir . You only have %.2f GB free and need %.2f GB.\n" $backupspace $configLogDiskspace
#Backup logs
else
backupLogs "${logPaths[@]}"
backupConfigs "${configPaths[@]}"
printf "%.2f GB of logs and configs were backed up to $backup_dir \n" "$configLogDiskspace"
fi
fi
break
fi
done
break
#User chooses not to back up any files
elif [ $backup_ans = 4 ]; then
while true; do
read -p "`echo $'\n'`Are you sure you don't want to back up any AWIPS configuration or log files? Type \"yes\" to confirm, \"no\" to select a different backup option, or \"quit\" to exit` echo $'\n> '`" answer
answer=$(echo $answer | tr '[:upper:]' '[:lower:]')
if [ $answer = yes ] || [ $answer = y ]; then
break 2 ;
elif [ $answer = quit ] || [ $answer = q ]; then
exit;
elif [ $answer = no ] || [ $answer = n ]; then
break
fi
done
#User did not make a valid selection
else
echo "Please make a valid selection (1, 2, 3, or 4)"
fi
done
FILE="/opt/bin/logarchival/edex_upgrade.pl"
if test -f "$FILE"; then
echo "Running /opt/bin/logarchival/edex_upgrade.pl and logging to /home/awips/crons/logarchival/general"
/opt/bin/logarchival/edex_upgrade.pl >> /home/awips/crons/logarchival/general
fi
if [[ $(rpm -qa | grep awips2-cave) ]]; then
echo "CAVE is also installed, now removing EDEX and CAVE"
pkill cave.sh
pkill -f 'cave/run.sh'
rm -rf /home/awips/caveData
else
echo "Now removing EDEX"
fi
yum groupremove awips2-server awips2-database awips2-ingest awips2-cave -y
yum remove awips2-* -y
if [[ $(rpm -qa | grep awips2 | grep -v cave) ]]; then
echo "
=================== FAILED ===========================
Something went wrong with the un-install of EDEX
and packages are still installed. Once the EDEX
groups have been successfully uninstalled, you can try
running this script again.
Try running a \"yum grouplist\" to see which AWIPS
group is still installed and then do a
\"yum groupremove [GROUP NAME]\".
ex. yum groupremove 'AWIPS EDEX Server'
You may also need to run \"yum groups mark
remove [GROUP NAME]\"
ex. yum groups mark remove 'AWIPS EDEX Server'"
exit
else
awips2_dirs=("cave" "data" "database" "data_store" "edex" "hdf5" "httpd_pypies" "java" "ldm" "postgres" "psql" "pypies" "python" "qpid" "tmp" "tools" "yajsw")
for dir in ${awips2_dirs[@]}; do
if [ $dir != dev ] ; then
echo "Removing /awips2/$dir"
rm -rf /awips2/$dir
fi
done
fi
}
function check_users {
if ! getent group "fxalpha" >/dev/null 2>&1; then
groupadd fxalpha
fi
if ! id "awips" >/dev/null 2>&1; then
useradd -G fxalpha awips
fi
}
function server_prep {
check_users
check_yumfile
stop_edex_services
check_limits
check_netcdf
check_wget
check_rsync
check_edex
check_git
check_epel
}
function disable_ndm_update {
crontab -u awips -l >cron_backup
crontab -u awips -r
sed -i -e 's/30 3 \* \* \* \/bin\/perl \/awips2\/dev\/updateNDM.pl/#30 3 \* \* \* \/bin\/perl \/awips2\/dev\/updateNDM.pl/' cron_backup
crontab -u awips cron_backup
rm cron_backup
}
function cave_prep {
check_users
check_yumfile
check_cave
check_netcdf
check_wget
check_epel
rm -rf /home/awips/caveData
}
if [ $# -eq 0 ]; then
key="-h"
else
key="$1"
fi
case $key in
--cave)
cave_prep
yum groupinstall awips2-cave -y 2>&1 | tee -a /tmp/awips-install.log
sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/awips2.repo
echo "CAVE has finished installing, the install log can be found in /tmp/awips-install.log"
;;
--server|--edex)
server_prep
yum groupinstall awips2-server -y 2>&1 | tee -a /tmp/awips-install.log
sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/awips2.repo
sed -i 's/@LDM_PORT@/388/' /awips2/ldm/etc/registry.xml
echo "EDEX server has finished installing, the install log can be found in /tmp/awips-install.log"
;;
--database)
server_prep
yum groupinstall awips2-database -y 2>&1 | tee -a /tmp/awips-install.log
disable_ndm_update
sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/awips2.repo
sed -i 's/@LDM_PORT@/388/' /awips2/ldm/etc/registry.xml
echo "EDEX database has finished installing, the install log can be found in /tmp/awips-install.log"
;;
--ingest)
server_prep
yum groupinstall awips2-ingest -y 2>&1 | tee -a /tmp/awips-install.log
disable_ndm_update
sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/awips2.repo
sed -i 's/@LDM_PORT@/388/' /awips2/ldm/etc/registry.xml
echo "EDEX ingest has finished installing, the install log can be found in /tmp/awips-install.log"
;;
-h|--help)
echo -e $usage
exit
;;
esac
PATH=$PATH:/awips2/edex/bin/
exit

View file

@ -3,8 +3,8 @@
# devorg: Unidata Program Center
# author: Michael James, Tiffany Meyer
# maintainer: <support-awips@unidata.ucar.edu>
# Date Updated: 2/16/2024
# use: ./awips_install.sh (--cave|--edex|--database|--ingest|--help)
# Date Updated: 11/22/2023
# use: ./awips_install-v20.sh (--cave|--edex|--database|--ingest|--help)
dir="$( cd "$(dirname "$0")" ; pwd -P )"
@ -35,14 +35,14 @@ function check_yumfile {
cp /etc/yum.repos.d/awips2.repo /etc/yum.repos.d/awips2.repo-${date}
fi
wget_url="https://downloads.unidata.ucar.edu/awips2/current/linux/${repofile}"
#echo "wget -O /etc/yum.repos.d/awips2.repo ${wget_url}"
#wget -O /etc/yum.repos.d/awips2.repo ${wget_url}
wget_url="https://downloads.unidata.ucar.edu/awips2/20.3.2/linux/${repofile}"
echo "wget -O /etc/yum.repos.d/awips2.repo ${wget_url}"
wget -O /etc/yum.repos.d/awips2.repo ${wget_url}
sed -i 's/enabled=0/enabled=1/' /etc/yum.repos.d/awips2.repo
yum --enablerepo=awips2repo --disablerepo="*" --disableexcludes=main clean all 1>> /dev/null 2>&1
yum --enablerepo=awips2repo --disableexcludes=main clean metadata
yum clean all --enablerepo=awips2repo --disablerepo="*" 1>> /dev/null 2>&1
yum --enablerepo=awips2repo clean metadata
}
function check_limits {
@ -119,7 +119,7 @@ function check_cave {
}
function remove_cave {
yum --disableexcludes=main groupremove awips2-cave -y
yum groupremove awips2-cave -y
#yum remove awips2-* -y
if [[ $(rpm -qa | grep awips2-cave) ]]; then
@ -345,8 +345,8 @@ function remove_edex {
echo "Now removing EDEX"
fi
yum --disableexcludes=main groupremove awips2-server awips2-database awips2-ingest awips2-cave -y
yum --disableexcludes=main remove awips2-* -y
yum groupremove awips2-server awips2-database awips2-ingest awips2-cave -y
yum remove awips2-* -y
if [[ $(rpm -qa | grep awips2 | grep -v cave) ]]; then
echo "
@ -425,32 +425,38 @@ fi
case $key in
--cave)
cave_prep
yum --disableexcludes=main groupinstall awips2-cave -y 2>&1 | tee -a /tmp/awips-install.log
yum groupinstall awips2-cave -y 2>&1 | tee -a /tmp/awips-install.log
sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/awips2.repo
echo "CAVE has finished installing, the install log can be found in /tmp/awips-install.log"
;;
--server|--edex)
server_prep
yum --disableexcludes=main install awips2-*post* -y
yum --disableexcludes=main groupinstall awips2-server -y 2>&1 | tee -a /tmp/awips-install.log
yum install awips2-*post* -y
yum groupinstall awips2-server -y 2>&1 | tee -a /tmp/awips-install.log
sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/awips2.repo
sed -i 's/@LDM_PORT@/388/' /awips2/ldm/etc/registry.xml
sed -i 's/HDS ANY/ANY/' /awips2/ldm/etc/pqact*
sed -i 's/TI\[A-T\]/TI\[A-Q\]/' /awips2/ldm/etc/pqact*
echo "EDEX server has finished installing, the install log can be found in /tmp/awips-install.log"
;;
--database)
server_prep
yum --disableexcludes=main groupinstall awips2-database -y 2>&1 | tee -a /tmp/awips-install.log
yum groupinstall awips2-database -y 2>&1 | tee -a /tmp/awips-install.log
disable_ndm_update
sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/awips2.repo
sed -i 's/@LDM_PORT@/388/' /awips2/ldm/etc/registry.xml
sed -i 's/HDS ANY/ANY/' /awips2/ldm/etc/pqact*
sed -i 's/TI\[A-T\]/TI\[A-Q\]/' /awips2/ldm/etc/pqact*
echo "EDEX database has finished installing, the install log can be found in /tmp/awips-install.log"
;;
--ingest)
server_prep
yum --disableexcludes=main groupinstall awips2-ingest -y 2>&1 | tee -a /tmp/awips-install.log
yum groupinstall awips2-ingest -y 2>&1 | tee -a /tmp/awips-install.log
disable_ndm_update
sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/awips2.repo
sed -i 's/@LDM_PORT@/388/' /awips2/ldm/etc/registry.xml
sed -i 's/HDS ANY/ANY/' /awips2/ldm/etc/pqact*
sed -i 's/TI\[A-T\]/TI\[A-Q\]/' /awips2/ldm/etc/pqact*
echo "EDEX ingest has finished installing, the install log can be found in /tmp/awips-install.log"
;;
-h|--help)

View file

@ -1,7 +1,7 @@
#!/bin/bash
# Version
export AWIPSII_VERSION="20.3.2"
export AWIPSII_RELEASE="2"
export AWIPSII_RELEASE="1"
export AWIPSII_BUILD_DATE=`date`
export AWIPSII_BUILD_SYS=`cat /etc/system-release`
# Author

View file

@ -70,8 +70,8 @@ else
su - awips -c "/bin/bash $buildsh -server"
su - awips -c "/bin/bash $buildsh -database"
su - awips -c "/bin/bash $buildsh -edex"
su - awips -c "/bin/bash $buildsh -httpd"
su - awips -c "/bin/bash $buildsh -cave"
#su - awips -c "/bin/bash $buildsh -pypies"
#su - awips -c "/bin/bash $buildsh -localization"
fi

View file

@ -1,9 +1,9 @@
**************************************************
* Unidata AWIPS EDEX ESB Platform *
* Version: 20.3.2-2 *
* UCAR NSF Unidata Program Center *
* AWIPS II EDEX ESB Platform *
* Version: SOTE 11.X *
* Raytheon Company *
*------------------------------------------------*
* NON-OPERATIONAL *
* DEVELOPMENT *
* *
* *
**************************************************

View file

@ -70,14 +70,14 @@
<includeMode>goesrExclude</includeMode>
<exclude>.*(airmet|atcf|aww|convsigmet|gfe|grid|hydro|intlsigmet|modis|ncpafm|ncuair|profiler|netcdf-grid).*</exclude>
<exclude>.*(nonconvsigmet|satellite|sgwh|ssha|stats|stormtrack|textlightning_ep|useradmin|wcp).*</exclude>
<exclude>purge-spring.*</exclude>
<exclude>purge.*</exclude>
</mode>
<mode name="ingestGoesR">
<includeMode>ingest</includeMode>
<includeMode>pluginExclude</includeMode>
<includeMode>radarExclude</includeMode>
<exclude>purge-spring.*</exclude>
<exclude>purge.*</exclude>
</mode>
<mode name="ingestGrids">
@ -85,7 +85,7 @@
<includeMode>pluginModelSoundingExclude</includeMode>
<includeMode>radarExclude</includeMode>
<includeMode>goesrExclude</includeMode>
<exclude>purge-spring.*</exclude>
<exclude>purge.*</exclude>
</mode>
<mode name="pluginExclude">

View file

@ -80,7 +80,7 @@ if [[ $(whoami) == "awips" ]]; then # local build
echo "rsync -aP dist/${os_version}-dev-${date} tiffanym@fserv:/share/awips2/${AWIPSII_VERSION}/linux/"
rsync -aP dist/${os_version}-dev-${date} tiffanym@fserv:/share/awips2/${AWIPSII_VERSION}/linux/
cmd="cd /share/awips2/${AWIPSII_VERSION}/linux ; find ${os_version}-dev-${date} -type f | ../../git_nexus_tool/nexus-tools/bash/nexus-upload.sh -t downloads -u tiffanym -o awips2 -v ${AWIPSII_VERSION}/linux/rpms/"
echo "Need to run ssh tiffanym@fserv '${cmd}' and provide -p [password]"
echo "Need to run ssh@tiffanym '${cmd}' and provide -p [password]"
#rsync -aP dist/${os_version}-dev-${date} awips@edex3:/awips2/dev
#rsync -aP dist/${os_version}-dev-${date} awips@hardy:/awips2/dev

View file

@ -20,9 +20,6 @@
commandId="com.raytheon.uf.viz.alertview.openAlertView"
label="Open AlertView"
style="push">
<visibleWhen>
<systemTest property="alertview.enabled" value="true" />
</visibleWhen>
</command>
</menuContribution>
</extension>

View file

@ -1911,21 +1911,6 @@
name="GFEPerspectiveManager">
</perspectiveManager>
</extension>
<extension point="org.eclipse.ui.perspectives">
<perspective class="com.raytheon.viz.gfe.perspective.GFEPerspective"
icon="icons/gfe.gif" id="com.raytheon.viz.ui.GFEPerspective" name="GFE">
</perspective>
</extension>
<extension point="org.eclipse.ui.perspectiveExtensions">
<perspectiveExtension targetID="com.raytheon.viz.ui.GFEPerspective">
<actionSet id="com.raytheon.viz.gfe.GFEActionSet">
</actionSet>
</perspectiveExtension>
<perspectiveExtension targetID="*">
<perspectiveShortcut id="com.raytheon.viz.ui.GFEPerspective">
</perspectiveShortcut>
</perspectiveExtension>
</extension>
<extension
point="com.raytheon.uf.viz.core.component">
<component key="gfeclient" class="com.raytheon.viz.gfe.gfeclient.GfeClient"/>

View file

@ -52,7 +52,7 @@
startupProgressRect="3,234,413,13"
startupMessageRect="7,252,445,20"
startupForegroundColor="000000" />
<launcher name="cave">
<launcher name="no_env">
<win useIco="false">
<bmp/>
</win>

View file

@ -92,22 +92,16 @@ Known datasets this can affect (this is not a comprehensive list):
- METAR Station Plot
- GFS Precip Type
#### Windows
To correct this issue on Windows:
- Make sure you only have the latest version of [CAVE installed](https://unidata.github.io/awips2/install/install-cave/#method-1-direct-windows-install) (which now fully bundles the proper version of Python with the application)
- If you have ever previously added `PYTHONHOME`, `PYTHONPATH`, or `JAVA_HOME` to your user or system variables, please delete those.
- Open the Environment Variables window by typing "env" in the start bar
#### Mac
To correct this issue on Mac:
- Make sure you have the latest verison of [CAVE installed](https://unidata.github.io/awips2/install/install-cave/#macos) (which now fully bundles the proper version of Python with the application)
#### Linux
To correct this issue on Linux:
- When running `which python` from a terminal, make sure `/awips2/python/` is returned, if not, reset that environment variable, or re-run the [**awips_install.sh** script from our installation instructions](install-cave.md#download-and-installation-instructions)
@ -124,8 +118,8 @@ If you start up CAVE in Windows and notice the map is showing up only in the bot
Try following these steps to fix your issue:
- Right-click on the no_env.exe, select Properties
!!! note "This is not the batch file (CAVE.bat) that gets installed as the CAVE shortcut on the Desktop, the no_env.exe is located in `C:\Users\[your_username]\AppData\Roaming\UCAR Unidata\AWIPS CAVE\no_env.exe`."
- Right-click on the CAVE.exe, select Properties
!!! note "This is not the batch file (CAVE.bat) that gets installed as the CAVE shortcut on the Desktop, the CAVE.exe is located in `C:\Users\[your_username]\AppData\Roaming\UCAR Unidata\AWIPS CAVE\CAVE.exe`."
- Select the Compatibility tab
- Click "Change High DPI Settings"
- At the bottom enable "Override High DPI scaling behavior"
@ -250,36 +244,6 @@ If you still experience issues, please let us know at support-awips@unidata.ucar
## Linux
### Issue Starting CAVE (Rocky/RHEL8)
If you are running CAVE on RHEL or Rocky 8 and are getting an error when CAVE starts up: `Error instantiating workbench` or if you look in `~/caveData/cave_*_console.log` and see an error: `org.eclipse.swt.SWTException: Unsupported color depth` then you may need to change your display from "Wayland" to "X11".
![](../images/caveError.png)
To change your default display, you can edit the `/etc/gdm/custom.conf` and uncomment the `WaylandEnable` line like below and reboot.
```
# GDM configuration storage
[daemon]
# Uncomment the line below to force the login screen to use Xorg
WaylandEnable=false
[security]
[xdmcp]
[chooser]
[debug]
# Uncomment the line below to turn on debugging
#Enable=true
```
To temporarily change your display, logout of your user. Before logging in, select your user and click on the gear/settings icon and select an `X11 display`.
![](../images/displayType.png)
### Troubleshooting Uninstalling EDEX
Sometimes yum can get in a weird state and not know what AWIPS groups have been installed. For example if you are trying to remove AWIPS you may see an error:

View file

@ -181,11 +181,6 @@ A full list of all released blogs can be found below:
- [AWIPS 20.3.2-1 Production AWIPS Release](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-unidata-awips-203)
- [Changes Related to v20.3.2 AWIPS Release](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-changes-related-to)
- [AMS 2024 Highlight](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-ams-2024-highlight)
- [AWIPS 20.3.2-2 AWIPS Software Release](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-awips-20-3)
- [Upcoming CentOS7 End of Life](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-upcoming-centos7-end)
- [AWIPS 23.4.1-0.2 Beta CAVE Software Release](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-unidata-awips-23)
- [AWIPS 23.4.1-0.3 Full Beta Software Release](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-awips-full-beta)
- [AWIPS 23.4.1-0.4 Full Beta Software Release](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-awips-full-beta1)
#### CAVE
@ -217,10 +212,6 @@ A full list of all released blogs can be found below:
- [Maps Database Constraints](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-maps-database-constraints)
- [Measuring Up - Distance Tools in CAVE](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-measuring-up-distance)
- [New RAWS Data](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-new-raws-data)
- [Customized Contours](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-customized-contours)
- [Using the Text Workstation](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-using-the-text)
- [Saving User Configurations Locally](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-saving-user-configurations)
- [Using Hotkeys in CAVE](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-using-hotkeys-in)
#### Python-AWIPS
@ -238,8 +229,6 @@ A full list of all released blogs can be found below:
- [Compare Model Sounding Data in Python](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-compare-model-sounding)
- [Beta Python-AWIPS Release](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-beta-python-awips)
- [Creating New Products with Python-AWIPS](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-creating-new-products)
- [Exploring Satellite Imagery using Python-AWIPS](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-exploring-satellite-imagery)
- [Plotting NEXRAD Data in Python](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-plotting-nexrad-data)
#### EDEX
@ -254,5 +243,4 @@ A full list of all released blogs can be found below:
- [Removing Model Data from EDEX](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-removing-model-data)
- [LDM Usage in AWIPS](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-ldm-usage-in)
- [All About EDEX Modes](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-all-about-edex)
- [Distributed EDEX Architecture](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-distributed-edex-architecture)
- [Inserting Data into EDEX with Python](https://www.unidata.ucar.edu/blogs/news/entry/awips-tips-inserting-data-into)
- [Distributed EDEX Architecture](https://unidata.github.io/awips2/appendix/educational-resources/#edex)

File diff suppressed because it is too large Load diff

View file

@ -40,7 +40,7 @@ Exporrt KML | Ctrl+K
| Increase Loop Speed | Page Up |
| Decrease Loop Speed | Page Down |
| Toggle Time Options | Ctrl + Shift + T |
| Toggle Image Combination | Ctrl + Shift + I |
| Toggle Image Combination | Ctrl + Shift + L |
| Open Loop Properties | Ctrl + L |
| Open Image Properties | Ctrl + I |
| Show Print Dialog | Ctrl + P |

View file

@ -120,7 +120,7 @@ will switch between the single page (default) view and the 5-panel WFO view (cen
## Options Menu
There are several toggle options and options dialogs that are available under the **Options** menu found at the top of the application.
### Time Options (Ctrl + Shift + T)
### Time Options (Ctrl + T)
This check button enables/disables the ability to select the time interval between frames of real-time or model data. This feature has the added benefit of allowing you to view extended amounts of data (temporally) but stay within the limits of 64 frames. For example, METAR surface plots, which typically display every hour, can be set to display every three hours via the Select Valid Time and Time Resolution Dialog Box.

View file

@ -1,36 +1,24 @@
# GOES East/West Satellite Products
# GOES 16/17
The ***goesr*** EDEX plugin decoder supports the ingest of GOES products coming over NOAAPort and NSF Unidata's IDD. These products include:
- [single channel imagery](#individual-channels)
- [derived products](#derived-products) (Level 2b netCDF files)
- [CIRA created RGB](#cira-geocolor) specific products
- [vertical temperature/moisture profiles](#vertical-temperature-and-moisture-profile).
- Using derived parameters, additional [RGB](#rgb-composites) and [channel difference](#channel-differences) products can be loaded.
The ***dmw*** EDEX plugin decoder supports the ingest of GOES:
- [derived motion winds](#derived-motion-winds)
- [Geostationary Lightning Mapper](#geostationary-lightning-mapper-glm) (GLM) gridded products
- GLM Parallax corrected Flash Points
The ***goesr*** EDEX decoder supports the ingest of GOES products coming over NOAAPort and Unidata's IDD. These include [**single channel imagery**](#individual-channels), [**derived products**](#derived-products) (Level 2b netCDF files), gridded [**Geostationary Lightning Mapper**](#geostationary-lightning-mapper-glm) (GLM) products (produced by Eric Bruning at Texas Tech), [**CIRA created RGB**](#cira-geocolor) specific products, and [**vertical temperature/moisture profiles**](#vertical-temperature-and-moisture-profile). Using derived parameters, additional [**RGB**](#rgb-composites) and [**channel difference**](#channel-differences) products can be loaded. The ***dmw*** EDEX decoder supports the ingest of GOES [**derived motion winds**](#derived-motion-winds).
![](../images/GOESEW.png)
GOES East and West products are accessible from the **Satellite** menu. The menu is broken into sections starting with common CONUS GOES East/West Combo products. There are submenus for each of the separate geospatial sectors:
GOES East and West products are accessible in the **Satellite** menu. The menu is broken into sections starting with common CONUS GOES East/West Combo products. There are submenus for each of the separate geospatial sectors:
* East CONUS
* East Full Disk
* East CONUS
* East Mesoscale Sectors (x2)
* West CONUS
* West Full Disk
* West CONUS
* West Mesoscale Sectors (x2)
* GOES OCONUS
* Alaska
* Puerto Rico
* Hawaii
* Alaska
* Puerto Rico
Each sector submenu has products for individual channels and vertical profiles, as well as submenus for derived products, channel differences, RGB Composites, GLM data, and derived motion winds where applicable. Additional documentation on specific products and quick guides can be found:
- [CIMSS Quick Guides](https://cimss.ssec.wisc.edu/goes/GOESR_QuickGuides.html)
- [CIRA Reference Material](https://rammb2.cira.colostate.edu/training/visit/quick_reference/#tab17)
Each sector submenu has products for individual channels and vertical profiles, as well as submenus for derived products, channel differences, RGB Composites, GLM data, and derived motion winds. GLM data can also be found with its own submenu option a little lower down the menu and under the **Surface** menu.
!!! warning "The RGB products are not available on MacOS or in a Virtual Machine running CAVE."
![](../images/satelliteMenuNew.png)
@ -38,17 +26,21 @@ Each sector submenu has products for individual channels and vertical profiles,
## LDM Pattern Actions
NSF Unidata's IDD redistributes both the NOAAPort/SBN GOES tiled products as well as stitched together GOES products. While our AWIPS can decode and ingest both, it's important to only be requesting from one or the other so you aren't creating duplicate processing. The entries that should be used for GOES data are shown below which is found in the LDM's pqact.conf.priority file, located in `/awips2/ldm/etc`. (For the full list of pqact entries, you can view [this](https://github.com/Unidata/awips2/blob/unidata_20.3.2/rpms/awips2.upc/Installer.ldm/patch/etc/pqact.goesr) file).
The Unidata IDD redistributes both the NOAAPort/SBN GOES tiled products as well as stitched together GOES products. While AWIPS can decode and ingest both, it's important to only be requesting from one or the other so you aren't creating duplicate processing. The entries that should be used for GOES data are shown below which is found in the LDM's pqact.conf file, located in `/awips2/ldm/etc`. (For the full list of pqact entries, you can view [this](https://github.com/Unidata/awips2/blob/unidata_18.2.1/rpms/awips2.upc/Installer.ldm/patch/etc/pqact.goesr) file).
# GOES 16/17 Single Channel (ABI) via Unidata IDD
NIMAGE ^/data/ldm/pub/native/satellite/GOES/([^/]*)/Products/CloudAndMoistureImagery/([^/]*)/([^/]*)/([0-9]{8})/([^/]*)(c[0-9]{7})(..)(.....).nc
FILE -close -edex /awips2/data_store/GOES/\4/\7/CMI-IDD/\5\6\7\8.nc4
FILE -close -edex /awips2/data_store/GOES/\4/\7/CMI-IDD/\5\6\7\8.nc4
# GOES 16/17 derived products + derived motion wind via SBN
HDS ^(IXT.[8-9]9) (KNES) (..)(..)(..)
FILE -close -edex /awips2/data_store/GOES/(\3:yyyy)(\3:mm)\3/\4/derived-SBN/\1_KNES_\2\3\4\5-(seq)
FILE -close -edex /awips2/data_store/GOES/(\3:yyyy)(\3:mm)\3/\4/derivedProducts-SBN/\1_KNES_\2\3\4\5-(seq)
NOTHER ^(IXT[WXY]01) (KNES) (..)(..)(..)
FILE -close -edex /awips2/data_store/GOES/(\3:yyyy)(\3:mm)\3/\4/derived-SBN/\1_KNES_\2\3\4\5-(seq)
FILE -close -edex /awips2/data_store/GOES/(\3:yyyy)(\3:mm)\3/\4/derivedProducts-SBN/\1_KNES_\2\3\4\5-(seq)
# GOES 16 GLM Gridded Products via Texas Tech-->Unidata IDD
NIMAGE ^/data/ldm/pub/native/satellite/GOES/([^/]*)/Products/GeostationaryLightningMapper/([^/]*)/([0-9]{8})/([^/]*)(c[0-9]{7})(..)(.....).nc
FILE -close -edex /awips2/data_store/GOES/\3/\6/GLM-IDD/\4\5\6\7.nc4
# GOES CIRA derived products
NIMAGE ^/data/ldm/pub/native/satellite/GOES/([^/]*)/Products/GeoColor/([^/]*)/([^/]*)/([0-9]{8})/([^/]*)(c[0-9]{7})(..)(.....).nc
@ -58,36 +50,17 @@ NSF Unidata's IDD redistributes both the NOAAPort/SBN GOES tiled products as wel
NIMAGE ^/data/ldm/pub/native/satellite/GOES/([^/]*)/Products/CloudSnow/([^/]*)/([^/]*)/([0-9]{8})/([^/]*)(c[0-9]{7})(..)(.....).nc
FILE -close -edex /awips2/data_store/GOES/\4/\7/CIRA/CloudSnow/\5\6\7\8.nc4
#GOES GLM Stitched gridded products via ISatSS
SPARE|NIMAGE ^/data/ldm/pub/native/satellite/GOES/([^/]*)/Products/GLMISatSS/Level[23]/([^/]*)/([0-9]{8})/(OR_GLM-L[23]-GLMF-M6_G(..)_s(.......)(..).*)
FILE -close -edex /awips2/data_store/GOES/\3/\7/GLMISatSS-Stitched/\4
---
## Individual Channels
All geospatial sectors have 16 individual channel products that can be viewed. Below are samples of Channel 14 (11.20&mu;m) for each of the sectors.
- Channel 1 (0.47&mu;m)
- Channel 2 (0.64&mu;m)
- Channel 3 (0.86&mu;m)
- Channel 4 (1.38&mu;m)
- Channel 5 (1.61&mu;m)
- Channel 6 (2.25&mu;m)
- Channel 7 (3.90&mu;m)
- Channel 8 (6.19&mu;m)
- Channel 9 (6.95&mu;m)
- Channel 10 (7.34&mu;m)
- Channel 11 (8.50&mu;m)
- Channel 12 (9.61&mu;m)
- Channel 13 (10.35&mu;m)
- Channel 14 (11.20&mu;m)
- Channel 15 (12.30&mu;m)
- Channel 16 (13.30&mu;m)
### East CONUS
### East CONUS 1km
![](../images/goes-econus.png)
### East Full Disk
### East Full Disk 6km
![](../images/goes-efd.png)
@ -97,7 +70,7 @@ Two floating mesoscale sectors (location will vary day to day from image shown)
![](../images/goes-emeso12.png)
### West CONUS
### West CONUS 1km
![](../images/goes-wconus.png)
@ -115,6 +88,10 @@ Two floating mesoscale sectors (location will vary day to day from image shown)
![](../images/goes-ak.png)
### Hawaii
![](../images/goes-hi.png)
### Puerto Rico (PRREGI)
![](../images/goes-pr.png)
@ -123,20 +100,16 @@ Two floating mesoscale sectors (location will vary day to day from image shown)
## RGB Composites
RGB Composites are made by combining 3 channels (including derived parameter calculated channels) and are available for each sector. RGB products are always being added and updated. These products are generated **on the fly in AWIPS** and typically take a little bit of extra time to load.
RGB Composites are made by combining 3 channels and are available for each sector. Quite a few new RGB products have been added in Unidata's 18.2.1 release. These products are generated **on the fly in AWIPS** using the existing channel products from EDEX.
!!! warning "GOES RGB Imagery is NOT SUPPORTED on macOS or within a Virtual Machine"
OpenGL Shading Language limitations prevent multi-channel imagery from displaying correctly on Mac or in a Virtual Machine. Please use the Linux or Windows installs to view RGB products.
### Day Cloud Phase Distinction
### Day Cloud Phase
![](../images/RGB-01-DayCloudPhase.png)
### Day Cloud Type
![](../images/RGB-DayCloudType.png)
### Fire Temperature
![](../images/RGB-02-FireTemperature.png)
@ -153,10 +126,6 @@ RGB Composites are made by combining 3 channels (including derived parameter cal
![](../images/RGB-05-DayLandCloudFires.png)
### Day Fire
![](../images/RGB-DayFire.png)
### VIS/IR Sandwich
![](../images/RGB-06-VISIRSandwich.png)
@ -165,14 +134,6 @@ RGB Composites are made by combining 3 channels (including derived parameter cal
![](../images/RGB-07-SimpleWaterVapor.png)
### Day Rocket Plume
![](../images/RGB-DayRocketPlume.png)
### Night Rocket Plume
![](../images/RGB-NightRocketPlume.png)
### Air Mass
![](../images/RGB-08-AirMass.png)
@ -229,21 +190,17 @@ RGB Composites are made by combining 3 channels (including derived parameter cal
![](../images/RGB-21-DaytimeComp5.png)
>Note: Additionally there is a submenu for RGB products with Derived Products (DP) readouts
---
## Channel Differences
Channel differences are the result of subtracting one channel from another to produce a new product. These products are generated **on the fly in AWIPS** using the existing channel products from EDEX.
These are the channel differences currently available in CAVE:
There currently 10 channel differences that are offered in CAVE:
* Split Window (10.3 - 12.3 &mu;m)
* Split Cloud Top Phase (11.2 - 8.4 &mu;m)
* Night Fog (10.3 - 2.9 &mu;m)
* Night Fog (11.2 - 2.9 &mu;m)
* Day Fog (3.9 - 10.3 &mu;m)
* Split Fire (2.2 - 1.6 &mu;m)
* Split Ozone (9.6 - 10.3 &mu;m)
@ -252,84 +209,69 @@ These are the channel differences currently available in CAVE:
* Vegetation (0.64 - 0.87 &mu;m)
* Upper Level Info (11.2 - 6.19 &mu;m)
!!! note "The rendering of these products uses the **Jep** package in Python, which has specific [install instructions](http://127.0.0.1:8000/install/install-cave/#method-1-direct-windows-install) for Windows."
---
## Derived Products
Derived products are also known as **Level 2+** products. Not all sectors have the same set of products available. To find out some more information on some of the products visit the [**Quick Guides**](http://rammb.cira.colostate.edu/training/visit/quick_guides/) compiled by CIRA.
Derived products are also known as **Level 2+** products. Currently there are only derived products from GOES East available in AWIPS. Each sector has a different set of products available. To find out some more information on some of the products please the [**Quick Guides**](http://rammb.cira.colostate.edu/training/visit/quick_guides/) compiled by CIRA.
The current products offered in CAVE are listed below and to the right is which GOES East/West sector they are available for (F=Full Disk, C=CONUS, M=Mesoscale):
!!! note "These may not all be available for each sector."
|Derived Product|East|West|
| ------------- | ---- | ---- |
|Aerosol Dust Detection High |F,C,M|F,C,M|
|Aerosol Dust Detection Low|F,C,M|F,C,M|
|Aerosol Dust Detection Med|F,C,M|F,C,M|
|Aerosol Optical Depth|F,C|F,C|
|Aerosol Smoke Detection (High)|F,C,M|F,C,M|
|Aerosol Smoke Detection (Low)|F,C,M|F,C,M|
|Aerosol Smoke Detection (Med)|F,C,M|F,C,M|
|All Cloud Layers|F,C,M|F,C,M|
|Clear Sky Mask|F,C,M|F,C,M|
|Cloud Layer Fraction (050-100)|F,C,M|F,C,M|
|Cloud Layer Fraction (100-180)|F,C,M|F,C,M|
|Cloud Layer Fraction (180-240)|F,C,M|F,C,M|
|Cloud Layer Fraction (>=240)|F,C,M|F,C,M|
|Cloud Layer Fraction (Sfc-050)|F,C,M|F,C,M|
|Cloud Optical Depth|F,C||
|Cloud Thickness|C|C|
|Cloud Top Height|F,C,M|F,C,M|
|Cloud Top Phase|F,C,M|F,C,M|
|Cloud Top Pressure|F,C||
|Cloud Top Temperature|F,M|F,M|
|Clout Particle Size|F,C,M||
|Derived CAPE|F,C,M|F,C,M|
|Derived K-Index|F,C,M|F,C,M|
|Derived Lifted Index|F,C,M|F,C,M|
|Derived Showalter Index|F,C,M|F,C,M|
|Derived Total Totals|F,C,M|F,C,M|
|Fire Area|F,C,M|F,C,M|
|Fire Mask|F,C,M|F,C,M|
|Fire Power|F,C,M|F,C,M|
|Fire Temp|F,C,M|F,C,M|
|Fog an Low Stratus (Instrument Flight Rules) |C|C|
|Fog and Low Stratus (Low Instrument Flight Rules) |C|C|
|Fog and Low Stratus (Marginal Visual Flight Rules) |C|C|
|Ice Age Category 3|F|F|
|Ice Age Category 8|F|F|
|Ice Concentration|F|F|
|Ice Mask (Day/Night)|F|F|
|Ice Surface Temp|F|F|
|Ice Thickness|F|F|
|Land Surface Temp|F,C,M|F,C,M|
|Rainfall Rate/QPE|F|F|
|Sea Surface Temp (F)|F|F|
|Sea Surface Temp|F|F|
|Snow Cover|F|F|
|Total Cloud Fraction|F,C,M|F,C,M|
|Total Precip Water|F,C,M|F,C,M|
The current products offered in CAVE are listed below and to the right is which GOES East sector they are available for (F=Full Disk, C=CONUS, M=Mesoscale):
* Aerosol Detection - F,C,M
* Aerosol Optical Depth - F,C
* Clear Sky Mask - F,C,M
* Cloud Optical Depth - F,C
* Cloud Particle Size -F,C,M
* Cloud Top Height -F,C,M
* Cloud Top Phase -F,C,M
* Cloud Top Pressure -F,C
* Cloud Top Temperature - F,M
* Derived CAPE - F,C,M
* Derived K-Index - F,C,M
* Derived Lifted Index - F,C,M
* Derived Showalter Index - F,C,M
* Derived Total Totals - F,C,M
* Fire Area - F,C
* Fire Power - F,C
* Fire Temperature - F,C
* Instrument Flight Rule (IFR) Probability - C
* Low IFR Probability - C
* Marginal Visual Flight Rules (MVFR) Probability - C
* Cloud Thickness - C
* Land Skin Temperature - F,C,M
* RR/QPE - F
* Sea Surface Temperature - F
* Total Precip Water - F,C,M
---
## Geostationary Lightning Mapper (GLM)
Currently, the 1-min GLM gridded products are coming over the SBN and operational sites are calculating the 5-min GLM gridded products locally. At NSF Unidata, we are receiving the 1 and 5-min gridded tiles from ISatSS (NWS) on the GOES East and West Full Disk scale, and we're stitching the tiles together locally before redistributing the full domain over our IDD/LDM feed. Current gridded products are available on the GOES East and West Full Disk Sectors:
Dr. Eric Bruning at Texas Tech has taken the raw GLM data and coded up some new gridded products that can be ingested and displayed in AWIPS.
* Minimum Flash Area
* Average Flash Area
* Flash Extent Density
* Group Extent Density
* Total Optical Energy
Additionally GLM flash points are available to plot as well. These are parallax corrected locations instead of the raw locations.
GLM data are located in the menu structure: **Satellite** > **GOES-[East/West] Full Disk** > **GLM Products**.
GLM data are located in the menu structure: **Satellite** > **[SECTOR]** > **GLM Products**. You can also access the data from **Surface** > **GLM - Geostationary Lightning Mapper** submenus.
![Satellite GLM Menu](../images/goes-GLMMenu.png)
![Surface GLM Menu](../images/goes-GLMMenu2.png)
![Satellite GLM Products](../images/GOES-GLMProducts.png)
---
## Derived Motion Winds
Derived Motion Wind Vectors are produced using sequential CONUS sector goesABI images and can provide information about winds at different levels. The wind vectors are computed using both visible and infrared imagery. Winds can be plotted by different pressure layers or individual channels. More information can be found [here](http://cimss.ssec.wisc.edu/goes/OCLOFactSheetPDFs/ABIQuickGuide_BaselineDerivedMotionWinds.pdf). Below is an image of the winds at different pressure layers.
Derived Motion Wind Vectors are produced using sequential ABI images and can provide information about winds at different levels. The wind vectors are computed using both visible and infrared imagery. Winds can be plotted by different pressure layers or individual channels. More information can be found [here](http://cimss.ssec.wisc.edu/goes/OCLOFactSheetPDFs/ABIQuickGuide_BaselineDerivedMotionWinds.pdf). Below is an image of the winds at different pressure layers.
![](../images/dmw.png)
@ -337,8 +279,33 @@ Derived Motion Wind Vectors are produced using sequential CONUS sector goesABI i
## Vertical Temperature and Moisture Profile
Vertical Temperature and Moisture profiles are available in AWIPS for the CONUS sectors. Similar to NUCAPS, when loaded in CAVE, a circle is displayed for each location that has a vertical profile available. When clicking on the circle, NSHARP will open with the vertical temperature and moisture profile. These profiles are GFS data that have been adjusted based on the satellite observations. More information can be found [here](https://rammb.cira.colostate.edu/training/visit/quick_guides/QuickGuide_GOES-R_Legacy_Temperature_Moisture%20Profiles.pdf).
Vertical Temperature and Moisture profiles are available in AWIPS. Similar to NUCAPS, when loaded in CAVE, a circle is displayed for each location that has a vertical profile available. When clicking on the circle, NSHARP will open with the vertical temperature and moisture profile. These profiles are GFS data that have been adjusted based on the satellite observations. More information can be found [here](https://rammb.cira.colostate.edu/training/visit/quick_guides/QuickGuide_GOES-R_Legacy_Temperature_Moisture%20Profiles.pdf).
![](../images/goes-VertProfileMap.png)
![](../images/goes-VertProfileSounding.png)
---
## HDF5 Data Store
Decoded GOES satellite data are stored in `/awips2/edex/data/hdf5/satellite/` under sector subdirectories:
drwxr-xr-x awips fxalpha 4096 AKREGI
drwxr-xr-x awips fxalpha 4096 Antarctic
drwxr-xr-x awips fxalpha 4096 Arctic
drwxr-xr-x awips fxalpha 4096 AREA0600
drwxr-xr-x awips fxalpha 4096 AREA0700
drwxr-xr-x awips fxalpha 4096 AREA3100
drwxr-xr-x awips fxalpha 4096 AREA3101
drwxr-xr-x awips fxalpha 12288 ECONUS
drwxr-xr-x awips fxalpha 4096 EFD
drwxr-xr-x awips fxalpha 4096 EMESO-1
drwxr-xr-x awips fxalpha 4096 EMESO-2
drwxr-xr-x awips fxalpha 4096 HIREGI
drwxr-xr-x awips fxalpha 4096 NEXRCOMP
drwxr-xr-x awips fxalpha 4096 PRREGI
drwxr-xr-x awips fxalpha 4096 WCONUS
drwxr-xr-x awips fxalpha 4096 WFD
drwxr-xr-x awips fxalpha 4096 WMESO-1
drwxr-xr-x awips fxalpha 4096 WMESO-2

View file

@ -37,7 +37,7 @@ Default projections and areas available in the menu
### Adding a New Map Editor
This can be done in a few ways: using the **file menu**, **right clicking** on the tab bar, or using the **Ctrl+T** keyboard shortcut.
This can be done in two ways: using the **file menu** and **right clicking** on the tab bar.
Using the file menu, simply go to: **File > New Map**.

View file

@ -19,10 +19,6 @@ Check to make sure all rpms have been removed:
rpm -qa | grep awips2
Remove any lingering awips2 rpms
yum remove awips2-*
Remove the awips2 directory:
rm -rf /awips2
@ -51,7 +47,7 @@ proxy=_none_
## 3. Install the ADE
Install the AWIPS Development Environment (ADE) using yum. This will install Eclipse (4.17), Java (11), Ant, Python 3.8.2 and its modules (Numpy, Matplotlib, Shapely, Jep, and others).
Install the AWIPS Development Environment (ADE) using yum. This will install Eclipse (4.6.1), Java (1.8), Ant (1.9.6), Python 2.7 and its modules (Numpy, Matplotlib, Shapely, Jep, and others).
yum clean all
yum groupinstall awips2-ade
@ -72,12 +68,12 @@ Next clone all of the required repositories for AWIPS:
git clone https://github.com/Unidata/awips2-cimss.git
git clone https://github.com/Unidata/awips2-core.git
git clone https://github.com/Unidata/awips2-core-foss.git
git clone https://github.com/Unidata/awips2-drawing.git
git clone https://github.com/Unidata/awips2-foss.git
git clone https://github.com/Unidata/awips2-goesr.git
git clone https://github.com/Unidata/awips2-gsd.git
git clone https://github.com/Unidata/awips2-ncep.git
git clone https://github.com/Unidata/awips2-nws.git
git clone https://github.com/Unidata/awips2-ogc.git
!!! note "Make sure to run `git checkout` in each repo if you'd wish to develop from a branch different from the default. It's best to do this before importing the repos into eclipse."
@ -170,5 +166,5 @@ Select **Debug** > **Eclipse Application**
## Troubleshooting
* If you are getting a lot of errors, try changing your Java Compiler to 1.8, build the project, then change back to 11 and rebuild.
* If you are getting a lot of errors, try changing your Java Compiler to 1.7, build the project, then change back to 1.8 and rebuild.
* **Window** > Preferences > Java > Compiler > **Compiler compliance level** setting

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 512 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 796 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1,007 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 788 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 833 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 457 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 578 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 374 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 549 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 513 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 286 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 336 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 509 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 KiB

View file

@ -21,14 +21,10 @@
The Advanced Weather Interactive Processing System (AWIPS) is a meteorological software package. It is used for decoding, displaying, and analyzing data, and was originally developed for the National Weather Service (NWS) by Raytheon. There is a division here at UCAR called the NSF Unidata Program Center (UPC) which develops and supports a modified non-operational version of AWIPS for use in research and education by [UCAR member institutions](http://president.ucar.edu/governance/members/universities-representatives). This is released as open source software, free to download and use by anyone.
AWIPS takes a unified approach to data ingest, where most data ingested into the system comes through the [LDM](#ldm) client pulling data feeds from the [NSF Unidata IDD](https://www.unidata.ucar.edu/projects/#idd)*. Various raw data and product files (netCDF, grib, BUFR, ASCII text, gini, AREA) are decoded and stored as HDF5 files and Postgres metadata by [EDEX](install/install-edex), which serves products and data over http.
> ***Note**: Access to Unidata's IDD data feed is accessible by the University community but is not available to the public freely.
AWIPS takes a unified approach to data ingest, where most data ingested into the system comes through the [LDM](#ldm) client pulling data feeds from the [NSF Unidata IDD](https://www.unidata.ucar.edu/projects/#idd). Various raw data and product files (netCDF, grib, BUFR, ASCII text, gini, AREA) are decoded and stored as HDF5 files and Postgres metadata by [EDEX](install/install-edex), which serves products and data over http.
We support two data visualization frameworks: [CAVE](install/install-cave) (an Eclipse-built Java application which runs on Linux, Mac, and Windows), and [python-awips](python/overview) (a python package).
> **Note**: Our version of CAVE is a **non-operational** version. It does not support some features of NWS AWIPS. Warnings and alerts cannot be issued from our builds of CAVE. Additional functionality may not be available as well.
![CAVE](images/Unidata_AWIPS2_CAVE.png)
---

View file

@ -1,26 +1,24 @@
# Install CAVE - BETA Version
# Install CAVE
CAVE is the **C**ommon **A**WIPS **V**isualization **E**nvironment that is used for rendering and analyzing data for AWIPS. The installer may require administrator priviledges to install and may require other system changes (environment variables, etc) as well.
!!! Note: This release is still in beta since the National Weather Service (NWS) is still working on their 23.4.1 release to operations. In the interim, we are waiting on final clearance from the NWS before releasing a production (non-beta) version and source code.
---
## Latest CAVE Versions
- [**Linux: 23.4.1-0.4**](#linux)
- [**Windows: 23.4.1-0.4**](#windows)
- [**Mac: 23.4.1-0.4**](#macos)
- [**Linux: 20.3.2-1**](#linux)
- [**Windows: 20.3.2-1**](#windows)
- [**Mac: 20.3.2-1**](#macos)
[**View release notes**](https://www.unidata.ucar.edu/blogs/news/tags/awips-release)
!!! note "Version 23.\* of CAVE is not compatible with Version 20.\* EDEX and vice versa, Version 20.\* of CAVE is not compatible with Version 23.\* EDEX."
!!! note "Version 20.\* of CAVE is not compatible with Version 18.\* EDEX and vice versa, Version 18.\* of CAVE is not compatible with Version 20.\* EDEX."
---
## Functionality/Reporting
If you come across issues/bugs/missing functionality, we encourage you to <a href="https://docs.google.com/forms/d/e/1FAIpQLScqWZho98cI8ByYTe99YRidfiYK_VeHvjsAculZmiVdWGwUnw/viewform?usp=sf_link" target="_blank">report it using this short form</a> or emailing at support-awips@unidata.ucar.edu.
If you come across issues/bugs/missing functionality, we also encourage you to <a href="https://docs.google.com/forms/d/e/1FAIpQLSf6jyZtbh49g-GCBoAQYzTVwAIf_aKz0QOeAr7gDVFhPrjAmw/viewform?usp=sf_link" target="_blank">report it using this short form</a>.
---
@ -30,7 +28,7 @@ Regardless of what Operating System CAVE is running on, these general requiremen
- Local machine
!!! error "Running CAVE via X11 forwarding or ssh tunneling is **not** supported. Using a [remote desktop connection like VNC is the only remote option(../appendix/common-problems.md#remotely-connecting-to-cave), but may result in worse performance than running locally."
!!! error "Running CAVE via X11 forwarding or ssh tunneling is **not** supported. Using a [VNC connection is the only remote option](../appendix/common-problems.md#remotely-connecting-to-cave), and may result in worse performance than running locally."
- OpenGL 2.0 Compatible Devices
- At least 4GB RAM
@ -44,19 +42,27 @@ Regardless of what Operating System CAVE is running on, these general requiremen
## Linux <i class="fa fa-linux"></i>
**Latest Version: 23.4.1-0.4**
**Latest Version: 20.3.2-1**
### System Requirements
- 64 bit Rocky/Red Hat 8
- 64 bit CentOS/Red Hat 7
- Bash shell environment
!!! note "While CentOS8 has reach End of Life as of Dec. 31, 2021, CentOS7 End of Life isn't until June 30, 2024."
### Upgrade Existing Installation
Whether you have CAVE currently installed or not, you can follow the [Download and Installation Instructions](#download-and-installation-instructions) below. The script will remove the old version of CAVE if needed, and install the latest version.
If you would like to completely remove CAVE, please see the [uninstall instructions further down this page](#linux_1).
### Download and Installation Instructions
1. Download the following installer: [**awips_install-v23.sh** <i class="fa fa-download"></i>](https://downloads.unidata.ucar.edu/awips2/23.4.1/linux/awips_install-v23.sh)
1. Download the following installer: [**awips_install.sh** <i class="fa fa-download"></i>](https://downloads.unidata.ucar.edu/awips2/current/linux/awips_install.sh)
2. In a terminal, go to the download directory
3. Make the installer an executable by running: `chmod 755 awips_install-v23.sh`
4. Run the installer: `sudo ./awips_install-v23.sh --cave`
3. Make the installer an executable by running: `chmod 755 awips_install.sh`
4. Run the installer: `sudo ./awips_install.sh --cave`
- This will install the application in `/awips2/cave/` and set the local cache to `~/caveData/`
### Run CAVE
@ -65,7 +71,6 @@ To run CAVE either:
- Use the terminal and type the command `cave`
- Find the application in the Linux Desktop menu: Applications > Internet > AWIPS CAVE
- Double click on the Desktop icon labeled "AWIPS CAVE"
Additionally users can choose to run a [virtual machine (VM)](#linux-virtual-machine) on Linux.
@ -73,7 +78,7 @@ Additionally users can choose to run a [virtual machine (VM)](#linux-virtual-mac
## Windows <i class="fa fa-windows"></i>
**Latest Version: 23.4.1-0.4**
**Latest Version: 20.3.2-1**
For Windows, we offer two installation options: a [**Direct Windows Installation**](#method-1-direct-windows-install), or a [**Linux Virtual Machine**](#method-2-linux-virtual-machine).
@ -96,7 +101,7 @@ If you already have CAVE installed:
#### Download and Installation Instructions
1. Download and install: [**awips-cave.msi** <i class="fa fa-download"></i>](https://downloads.unidata.ucar.edu/awips2/23.4.1/windows/awips-cave-23.4.1-0.4.msi)
1. Download and install: [**awips-cave.msi** <i class="fa fa-download"></i>](https://downloads.unidata.ucar.edu/awips2/current/windows/awips-cave.msi)
#### Run CAVE
@ -108,28 +113,25 @@ To run CAVE, either:
#### System-Level Installation
If you need a system-level installation of CAVE, please fill out [this brief access form](https://docs.google.com/forms/d/e/1FAIpQLSfQ0ZBf-zq-S50nXV1R3spa6nEnZ7VTEHO8r1iW604QF-vHbA/viewform?usp=sf_link) for the .msi, and then proceed with installation similar to that described above.
If you need a system-level installation of CAVE, please fill out [this brief access form](https://docs.google.com/forms/d/e/1FAIpQLScLLR1JGh_DHESBSc6W0TVlslhNojT5OJF3WiTCajXg7CjWTA/viewform?usp=sf_link) for the .msi, and then proceed with installation similar to that described above.
---
### Method 2: Virtual Machine running Rocky8
### Method 2: Linux Virtual Machine
This virtual machine can be installed on Windows or Linux. Please note, running CAVE in a Virtual Machine does have reduced functionality than running CAVE directly on hardware (ex: rendering RGB satellite images).
Please note, running CAVE in a Virtual Machine does have reduced functionality than running CAVE directly on hardware (ex: rendering RGB satellite images).
#### System Requirements
- VMWare Workstation Pro (Free for personal use, but requires [creating an account](https://profile.broadcom.com/web/registration) with Broadcom) For more information on how to download click [here](vmware.md).
OR
- VMWare Workstation Player - [Version 17.5.2](https://downloads.unidata.ucar.edu/awips2/current/windows/VMware-player-17.5.2-23775571.exe) (this is an older version)
- [VMWare Workstation Player](https://www.vmware.com/products/workstation-player/workstation-player-evaluation.html) must be installed (free software):
- For high definition monitors (4k), you will want to enable the high DPI setting for VMWare Workstation Player
1. Create a desktop shortcut for VMWare Workstation Player
1. Right-click the shortcut and select Properties
1. Open the Compatibility Tab
1. Open the Compatability Tab
1. Select the "Change high DPI settings" button
1. Check the "High DPI scaling override" checkbox and choose "Application" in the enabled dropdown
1. Check the "High DPI scaling ovveride" checkbox and choose "Application" in the enabled dropdown
![VMWare Workstation Player DPI Setting](../images/vmware-update-dpi.png)
![VMWare Workstation Player DPI Setting](../images/vmwareplayer-update-dpi.png)
#### Upgrade Existing Installation
@ -137,21 +139,20 @@ If you do not currently have CAVE installed, please go directly to the [Download
If you already have CAVE installed you can either:
- Download a new Virtual Machine Image ([as described below](#download-and-installation-instructions_2))
OR
- Download the new Virtual Machine ([as described below](#download-and-installation-instructions_2)) and you will see the new VM in VMware, similar to this screenshot:
![](../images/workstationPlayer.png)
- Upgrade the version of CAVE within the Virtual Machine by following the [Linux instructions](#upgrade-existing-installation)
#### Download and Installation Instructions
1. Download the zipped file containing the virtual machine: [**Rocky8-NSFUnidata-CAVE-23.4.1-0.4** <i class="fa fa-download"></i>](https://downloads.unidata.ucar.edu/awips2/23.4.1/windows/Rocky8-NSFUnidata-CAVE-23.4.1-0.4.zip)
1. Download the zipped file containing the virtual machine: [**CentOS7-Unidata-CAVE-20.3.2-1** <i class="fa fa-download"></i>](https://downloads.unidata.ucar.edu/awips2/current/windows/unidata_cave.zip)
2. Unzip the folder.
3. Open VMWare Workstation and go to **File...** > **Open** and locate the folder that was created from the downloaded unzipped file. Select the file called **Rocky8-NSFUnidata-CAVE-23.4.1-0.4.vmx"**.
4. This will open a new tab in VMWare Workstation, click "Power on this virtual machine". If it asks if it's been moved or copied, select **"I Copied It"**.
![alt text](../images/newVM.png)
5. There will be a user on the Linux machine named "awips" and the password is "awips" with sudo access
3. Open VMWare Player and go to **Player** > **File...** > **Open** and locate the folder that was created from the downloaded zipped file. Select the file called **"CentOS 7 - Unidata CAVE 20.3.2-1.vmx"**.
4. Run this new VM option. If it asks if it's been moved or copied, select **"I Copied It"**.
- There will be a user in the Linux machine named "awips" and the password is "awips"
- The root password is "unidataAWIPS" if ever needed
#### Run CAVE
@ -165,7 +166,7 @@ Once inside the VM, to run CAVE either:
## macOS <i class="fa fa-apple"></i>
**Latest Version: 23.4.1-0.4**
**Latest Version: 20.3.2-1**
### System Requirements
@ -183,7 +184,7 @@ If you already have CAVE installed:
### Download and Installation Instructions
1. Download and install CAVE: [awips-cave.dmg](https://downloads.unidata.ucar.edu/awips2/23.4.1/mac/awips-cave-23.4.1-0.4.dmg)
1. Download and install CAVE: [awips-cave.dmg](https://downloads.unidata.ucar.edu/awips2/current/mac/awips-cave.dmg)
![Cave System Install](../images/mac-install.png)
- You can click and drag the CAVE icon into the Applications Directory to install at the System Application level -- this may require Administrator Privileges
- You can drag that icon to any other location (Desktop, local user's Applications directory, etc) to install CAVE at that location -- this will not require Administrator Privileges
@ -202,9 +203,9 @@ To run CAVE either:
## EDEX Connection
Unidata and Jetstream2 have partnered to offer a EDEX data server in the cloud, open to the public. Select the server in the Connectivity Preferences dialog, or enter **edex-beta.unidata.ucar.edu**.
NSF Unidata and Jetstream2 have partnered to offer a EDEX data server in the cloud, open to the public. Select the server in the Connectivity Preferences dialog, or enter **edex-cloud.unidata.ucar.edu**.
<center>![EDEX in the cloud](../images/edex-beta-connection.png)</center>
![EDEX in the cloud](../images/connectWindow.png)
---
@ -215,11 +216,16 @@ After connecting to an EDEX server, you will have a local directory named **cave
You can reset CAVE by removing the **caveData** directory and reconnecting to an EDEX server. Your local files have been removed, but if you are re-connecting to an EDEX server you have used before, the remote files will sync again to your local **~/caveData** (bundles, colormaps, etc.).
- Linux: `/home/<user>/caveData/`
- macOS: `/Users/<user>/Library/caveData/`
- Windows: `C:\Users\<user>\caveData\`
---
## Uninstalling CAVE (Linux)
These are instructions to manually uninstall CAVE manually. However, the [`awips_install-v23.sh`](#download-and-installation-instructions) script will do these steps for you if you are installing a newer version of CAVE.
## Uninstalling CAVE
### Linux
These are instructions to manually uninstall CAVE. However, the [`awips_install.sh`](#download-and-installation-instructions) script will do these steps for you if you are installing a newer version of CAVE.
**1. Make sure you have exited out of any CAVE sessions**
@ -249,3 +255,17 @@ sudo yum remove awips2-*
rm -rf /awips2/cave
rm -rf ~/caveData
```
### Windows
To completely remove CAVE:
1. Type "remove" in the search bar and select **Add or remove programs**. This will open the Applications settings.
2. From here, find **AWIPS CAVE** and select "Uninstall".
### macOS
To completely remove CAVE:
1. Find where it is installed (might be the **Applications** folder) and drag into the trash.
2. Then <a href="/awips2/appendix/common-problems#mac" target="_blank">remove caveData</a>.

View file

@ -1,4 +1,4 @@
# Install EDEX - BETA Version
# Install EDEX
EDEX is the **E**nvironmental **D**ata **Ex**change system that represents the backend server for AWIPS. EDEX is only supported for Linux systems: CentOS and RHEL, and ideally, it should be on its own dedicated machine. It requires administrator priviledges to make root-level changes. EDEX can run on a single machine or be spread across multiple machines. To learn more about that please look at [Distributed EDEX, Installing Across Multiple Machines](../../edex/distributed-computing/)
@ -6,33 +6,38 @@ EDEX is the **E**nvironmental **D**ata **Ex**change system that represents the b
## Latest Version
>Note: This release is still in beta since the National Weather Service (NWS) is still working on their 23.4.1 release to operations. In the interim, we are waiting on final clearance from the NWS before releasing a production (non-beta) version and source code.
- **23.4.1-0.4**
!!! warning "We are aware of an issue with pqact.conf.priority file in 20.3.2-1 and are working on an updated release, in the meantime, please replace the file (/awips2/ldm/etc/) with this file located at https://github.com/Unidata/awips2/raw/unidata_20.3.2/rpms/awips2.upc/Installer.ldm/patch/etc/pqact.conf.priority"
**20.3.2-1**
[**View release notes**](https://www.unidata.ucar.edu/blogs/news/tags/awips-release)
!!! note "Version 23.\* of CAVE is not compatible with Version 20.\* EDEX and vice versa, Version 20.\* of CAVE is not compatible with Version 23.\* EDEX."
!!! note "Version 20.\* of CAVE is not compatible with Version 18.\* EDEX and vice versa, Version 18.\* of CAVE is not compatible with Version 20.\* EDEX."
---
## Functionality/Reporting
If you come across issues/bugs/missing functionality, we encourage you to <a href="https://docs.google.com/forms/d/e/1FAIpQLScqWZho98cI8ByYTe99YRidfiYK_VeHvjsAculZmiVdWGwUnw/viewform?usp=sf_link" target="_blank">report it using this short form</a> or emailing at support-awips@unidata.ucar.edu.
If you come across issues/bugs/missing functionality, we also encourage you to <a href="https://docs.google.com/forms/d/e/1FAIpQLSf6jyZtbh49g-GCBoAQYzTVwAIf_aKz0QOeAr7gDVFhPrjAmw/viewform?usp=sf_link">report it using this short form</a>.
---
## System requirements
- 64-bit Rocky/RHEL 8
- 64-bit CentOS/RHEL 7
!!! note "While CentOS8 has reach End of Life as of Dec. 31, 2021, CentOS7 End of Life isn't until June 30, 2024."
- Bash shell environment
- 16+ CPU cores (each CPU core can run a decoder in parallel)
- 16+ CPU cores (each CPU core can run a decorder in parallel)
- 24GB RAM
- 700GB+ Disk Space
- gcc-c++ package
- A **Solid State Drive (SSD)** is recommended
- A SSD should be mounted either to `/awips2` (to contain the entire EDEX system) or to `/awips2/edex/data/hdf5` (to contain the large files in the decoded data store). EDEX can scale to any system by adjusting the incoming LDM data feeds or adjusting the resources (CPU threads) allocated to each data type.
!!! note "EDEX is only supported for 64-bit Rocky and RHEL 8 Operating Systems."
!!! note "EDEX is only supported for 64-bit CentOS and RHEL 7 Operating Systems."
!!! warning "EDEX is **not** supported in Debian, Ubuntu, SUSE, Solaris, macOS, or Windows. You may have luck with Fedora Core 12 to 14 and Scientific Linux, but we will not provide support."
@ -44,16 +49,16 @@ The first 3 steps should all be run as **root**
### 1. Install EDEX
Download and run the installer: [**awips_install-v23.sh** <i class="fa fa-download"></i>](https://downloads.unidata.ucar.edu/awips2/23.4.1/linux/awips_install-v23.sh)
Download and run the installer: [**awips_install.sh** <i class="fa fa-download"></i>](https://downloads.unidata.ucar.edu/awips2/current/linux/awips_install.sh)
```
wget https://downloads.unidata.ucar.edu/awips2/23.4.1/linux/awips_install-v23.sh
chmod 755 awips_install-v23.sh
sudo ./awips_install-v23.sh --edex
wget https://downloads.unidata.ucar.edu/awips2/current/linux/awips_install.sh
chmod 755 awips_install.sh
sudo ./awips_install.sh --edex
```
!!! note "**awips_install-v23.sh --edex** will perform the following steps (it's always a good idea to review downloaded shell scripts):"
!!! note "**awips_install.sh --edex** will perform the following steps (it's always a good idea to review downloaded shell scripts):"
1. Checks to see if EDEX is currently running, if so stops the processes with the `edex stop` command
2. If EDEX is installed, asks the user if it can be removed and where to backup the data to and does a `yum groupremove awips2-server`
@ -168,12 +173,10 @@ edex start
```
To manually start, stop, and restart:
```
systemctl start postgres@awips
systemctl start httpd-pypies
systemctl start qpidd
systemctl start edex_camel@ingest
systemctl start edex_camel@ingestGrib
systemctl start edex_camel@request
service edex_postgres start
service httpd-pypies start
service qpidd start
service edex_camel start
```
The fifth service, **edex_ldm**, does **not run at boot** to prevent filling up disk space if EDEX is not running. Start ldm manually:
```

View file

@ -16,19 +16,14 @@ To stop all EDEX services:
## Service and Boot Settings
The main EDEX services are now stopped/started using systemd (`systemctl`). The services that used to be **/etc/init.d/**, have been removed starting in v23.4.1 (Redhat/Rocky8). Additionally, the each edex_camel service needs to be started manually. The services below are set to start up on boot.
These commands will start and stop five EDEX service files installed into **/etc/init.d/**, four of which are run on boot:
To manually start, stop, and restart:
```
systemctl start postgres@awips
systemctl start httpd-pypies
systemctl start qpidd
systemctl start edex_camel@ingest
systemctl start edex_camel@ingestGrib
systemctl start edex_camel@request
```
service postgres start
service httpd-pypies start
service qpidd start
service edex_camel start
The last service, `edex_ldm`, does **not run at boot** to prevent filling up disk space if EDEX is not running:
The fifth, `edex_ldm`, does **not run at boot** to prevent filling up disk space if EDEX is not running:
service edex_ldm start
@ -181,13 +176,11 @@ To see a list of clients connecting to your EDEX server, use the `edex users [YY
edex users
-- EDEX Users 20241022 --
angel@192.168.1.158
awips@192.168.1.1
WeatherCenter@10.196.1.34
----------
3 users today!
-- EDEX Users 20160826 --
user@101.253.20.225
user@192.168.1.67
awips@0.0.0.0
awips@sdsmt.edu
---

View file

@ -1,21 +0,0 @@
# VMWare Workstation Pro - Available
In 2024, Broadcom bought VMware and since then the download process of the free VMWare Workstation application has changed and become slightly more difficult. **VMWare Workstation Player** is no longer available, but the **VMWare Workstation Pro** version is now avialable for free personal use. Below will describe how to register for an account and download the latest release.
1. First you must [register](https://profile.broadcom.com/web/registration) and create an account with broadcom.
![alt text](../images/register.png)
2. After entering in your email, you will receive an email from Broadcom with a verification code to continue with the account creation.
3. Complete your registration by entering in your information, password, and accepting the terms of use.
4. Once registered, [login](https://support.broadcom.com/web/ecx/home) into Broadcom's webpage
5. Go to the [VMWare Workstation Pro Downloads page](https://support.broadcom.com/group/ecx/productdownloads?subfamily=VMware+Workstation+Pro)
6. Select the arrow next to the "VMware Workstation Pro for Personal Use" and select the version you want to download.
![alt text](../images/downloadVersion.png)
7. At this point, if this is your first time, you won't be able to actually download the product until you go through the very simple screening process. Start by checking the "I agree to Terms and Conditions" and then the Download button.
![alt text](../images/screening.png)
8. Complete the rest of the verification and then you'll be able to download the installer.

View file

@ -42,7 +42,7 @@ nav:
# - NCP Perspective: cave/ncp-perspective.md
- NSHARP: cave/nsharp.md
- WarnGen Walkthrough: cave/warngen.md
- GOES East/West: cave/goes-16-17-satellite.md
# - GOES 16/17: cave/goes-16-17-satellite.md
- GIS and Shapefiles: cave/d2d-gis-shapefiles.md
- Volume Browser: cave/d2d-gridded-models.md
- Tools: cave/d2d-all-tools.md
@ -105,4 +105,4 @@ markdown_extensions:
permalink:
- admonition:
copyright: Copyright &copy; 2025 NSF Unidata Program Center.
copyright: Copyright &copy; 2023 NSF Unidata Program Center.

View file

@ -424,7 +424,6 @@
0 K0V4 37.1417 -79.0164 182 2500
0 K0VG 36.65408 -83.21783 430 500
0 K10G 40.53670 -81.95594 374 500
0 K10U 41.95361 -116.18194 1639 500
0 K11R 30.219 -96.374 94 500
0 K12N 41.01 -74.74 178 15000
0 K13K 37.85161 -96.29203 368 500
@ -498,7 +497,6 @@
0 K1R8 30.87033 -87.81933 76 500
0 K1S3 46.27115 -106.62390 832 500
0 K1S5 46.3271 -119.9704 234 2500
0 K1U7 42.24976 -111.34163 1808 500
72614 K1V4 44.4200 -72.0200 217 16939
0 K1V6 38.4284 -105.106 1659 500
0 K2G2 40.36061 -80.70169 365 500
@ -549,7 +547,6 @@
0 K3HT 46.4400 -109.8400 1268 843
0 K3I2 38.9146 -82.0986 196 500
0 K3K3 37.922 -101.746 1013 500
0 K3K7 38.45649 -101.35263 1007 500
0 K3K8 37.22333 -99.33167 636 500
0 K3L4 29.79968 -92.80354 2 500
0 K3LF 39.163 -89.675 210 500
@ -568,7 +565,6 @@
0 K48A 32.40066 -83.27841 115 500
0 K48I 38.6870 -80.6518 387 500
0 K49A 34.6282 -84.5266 453 2500
0 K49B 44.41868 -103.37772 992 500
0 K49T 32.77172 -96.80206 146 500
0 K49Y 43.68 -92.18 389 500
0 K4A6 34.6887 -86.0059 198 2500
@ -592,7 +588,6 @@
0 K4U6 47.41833 -105.56089 744 500
0 K4V0 40.09397 -108.76306 1608 500
0 K4V1 37.69652 -104.78479 1846 500
0 K4V9 42.11225 -98.03978 541 500
0 K54A 26.85374 -82.25260 2 500
0 K54J 30.731 -86.1538 88 500
0 K55J 30.6118 -81.4612 5 500
@ -1209,7 +1204,6 @@
0 KDRI 30.8317 -93.3399 62 500
0 KDRM 46.0093 -83.7439 204 500
0 KDRO 37.1600 -107.7500 2037 12421
0 KDRP 35.12005 -90.82650 73 500
72261 KDRT 29.3800 -100.9200 313 27920
0 KDSF 28.343 -88.165 130 500
72546 KDSM 41.53395 -93.65311 294 28091
@ -1358,7 +1352,6 @@
0 KF45 26.84592 -80.22233 7 500
0 KF46 32.9306 -96.435 175 500
0 KF70 33.5742 -117.1285 412 500
0 KF95 30.48703 -85.11379 37 500
0 KFAF 37.1400 -76.6200 4 1514
0 KFAM 37.7600 -90.4300 288 11679
72753 KFAR 46.9100 -96.8000 277 27638
@ -1389,7 +1382,6 @@
0 KFGN 49.3200 -94.8800 328 4859
0 KFGX 38.5418 -83.7434 278 500
72376 KFGZ 35.23 -111.82 2180 500
0 KFHM 34.06778 -118.24167 126 500
0 KFHR 48.5200 -123.0200 33 14947
72273 KFHU 31.5800 -110.3300 1422 5454
0 KFIG 41.047 -78.412 462 500
@ -1687,13 +1679,12 @@
0 KHZL 40.9868 -75.9949 489 500
0 KHZR 30.7183 -91.4787 12 500
0 KHZX 46.619 -93.310 374 500
0 KHZY 41.77778 -80.69678 282 500
0 KHZY 41.779 -80.697 277 500
0 KI16 37.600 -81.559 544 500
0 KI18 38.92978 -81.81947 231 500
0 KI19 39.69103 -83.99199 289 500
0 KI23 39.57040 -83.42052 299 500
0 KI35 36.8593 -83.35847 473 500
0 KI40 40.31017 -81.85242 298 500
0 KI63 39.988 -90.804 223 500
0 KI67 39.2593 -84.7743 178 500
0 KI69 39.0784 -84.2102 257 500
@ -2081,7 +2072,6 @@
0 KMOR 36.1794 -83.3754 400 500
0 KMOT 48.2800 -101.2800 523 9792
0 KMOX 45.5700 -95.9700 344 13462
0 KMPE 32.79921 -89.12610 140 500
0 KMPO 41.14 -75.38 577 500
0 KMPR 38.35244 -97.69131 457 500
0 KMPV 44.2100 -72.5700 343 20470
@ -2221,7 +2211,7 @@
0 KOCH 31.5700 -94.7000 108 7491
0 KOCQ 44.87401 -87.90977 184 500
0 KOCW 35.57 -77.05 12 500
0 KODO 31.92142 -102.38713 915 500
0 KODO 31.921 -102.392 915 500
0 KODX 41.6200 -98.9500 629 8241
0 KOEB 41.9300 -85.0500 292 5886
0 KOEL 39.112 -100.817 928 500
@ -2606,7 +2596,7 @@
72260 KSEP 32.215 -98.178 403 500
0 KSEQ 29.56579 -97.90834 160 500
0 KSER 38.9247 -85.9084 178 500
0 KSET 38.92969 -90.42997 133 8500
0 KSET 38.931 -90.433 134 8500
0 KSEZ 34.8486 -111.7885 1472 500
0 KSFB 28.77952 -81.24355 17 8356
0 KSFF 47.6800 -117.3200 595 6918
@ -2670,7 +2660,6 @@
72561 KSNY 41.1100 -102.9800 1307 7068
0 KSOA 30.5857 -100.6486 652 500
0 KSOP 35.2400 -79.4100 141 7284
0 KSOU 43.25846 -100.85949 830 500
0 KSOW 34.2655 -110.0057 1955 2742
0 KSPA 34.9157 -81.9565 244 500
0 KSPB 45.7690 -122.8620 15 500
@ -2794,7 +2783,6 @@
0 KTQE 41.7600 -96.1800 313 9745
0 KTQH 35.93 -95.00 266 500
0 KTQK 38.47503 -100.88444 905 500
0 KTQS 34.633 -120.617 34 500
0 KTQV 36.00704 -78.93733 157 500
0 KTRI 36.4800 -82.4000 474 22134
0 KTRK 39.3200 -120.13956 1798 2487
@ -2842,7 +2830,6 @@
0 KUBE 45.50597 -91.981087 378 500
0 KUCP 41.0253 -80.4134 327 500
0 KUCY 36.37974 -88.9857 105 500
0 KUDG 34.44749 -79.88642 59 500
0 KUES 43.04103 -88.23706 278 3964
0 KUGN 42.4200 -87.8700 222 4560
72797 KUIL 47.9600 -124.5500 62 26051
@ -2866,7 +2853,6 @@
0 KUUU 41.5400 -71.2800 52 21897
0 KUUV 38.23347 -91.16428 284 500
0 KUVA 29.211 -99.744 287 500
0 KUWL 39.87672 -85.32527 332 500
0 KUXL 30.13144 -93.37617 3 500
0 KUYF 39.9327 -83.462 330 500
0 KUZA 34.9836 -81.0566 202 500
@ -2887,7 +2873,6 @@
0 KVER 38.9467 -92.68267 218 500
0 KVES 40.2044 -84.5319 307 500
0 KVGC 42.84344 -75.56119 347 500
0 KVGN 34.8494 -120.6 93 500
0 KVGT 36.21 -115.20 671 500
0 KVHN 31.05783 -104.78381 1206 500
0 KVIH 38.1400 -91.7700 350 8530

File diff suppressed because it is too large Load diff

View file

@ -386,9 +386,11 @@ ACRRVSAK
ACRRVSANC
ACRSTQACR
@@@ADANES
@@@ADASDM
@@@ADMNES
@@@ADMNFD
@@@ADMNMC
@@@ADMSDM
@@@ADMSPC
@@@ADMWOH
AFCAAGAAK
@ -3537,11 +3539,9 @@ BOIDMOID
BOIDMOPIH
BOIDSMBNO
BOIDSMBOI
BOIDSMLLJ
BOIDSMLWS
BOIDSMMYL
BOIDSMPIH
BOIDSMSNT
BOIDSTBOI
BOIDSTPIH
BOIDSWBOI
@ -3614,7 +3614,6 @@ BOIMSMBOI
BOIMSMLWS
BOIMSMMYL
BOIMSMPIH
BOIMTR1U7
BOIMTR2UZ
BOIMTR65S
BOIMTR77M
@ -3689,18 +3688,15 @@ BOIRR5PIH
BOIRR62UZ
BOIRR6BOI
BOIRR6JER
BOIRR6LLJ
BOIRR6LWS
BOIRR6MYL
BOIRR6P69
BOIRR6PIH
BOIRR6RXE
BOIRR6LLJ
BOIRR6U15
BOIRR72UZ
BOIRR7BOI
BOIRR7JER
BOIRR7LLJ
BOIRR7LWS
BOIRR7MYL
BOIRR7P69
@ -6520,7 +6516,6 @@ CYSDSMLND
CYSDSMP60
CYSDSMRIW
CYSDSMRKS
CYSDSMSHR
CYSDSMWRL
CYSDSTSHR
CYSDSWCYS
@ -6592,7 +6587,6 @@ CYSMSMGCC
CYSMSMLND
CYSMSMP60
CYSMSMRIW
CYSMSMSHR
CYSMTR1AW
CYSMTR1BW
CYSMTR46U
@ -6691,6 +6685,7 @@ CYSOSOCYS
CYSOSOODF
CYSOSORIW
CYSPFMCYS
CYSPFMLND
CYSPFMRIW
CYSPNSCYS
CYSPNSRIW
@ -6740,7 +6735,6 @@ CYSRR7GCC
CYSRR7LND
CYSRR7P60
CYSRR7RIW
CYSRR7SHR
CYSRR8CYS
CYSRR8RIW
CYSRR9CYS
@ -6946,7 +6940,6 @@ DENCF6CCU
DENCF6CEZ
DENCF6CNY
DENCF6COS
DENCF6DCP
DENCF6DEN
DENCF6DRO
DENCF6EEO
@ -6976,7 +6969,6 @@ DENCLACAG
DENCLACEZ
DENCLACNY
DENCLACOS
DENCLADCP
DENCLADEN
DENCLADRO
DENCLAEEO
@ -7004,7 +6996,6 @@ DENCLICCU
DENCLICEZ
DENCLICNY
DENCLICOS
DENCLIDCP
DENCLIDEN
DENCLIDRO
DENCLIEEO
@ -7036,7 +7027,6 @@ DENCLMCAG
DENCLMCEZ
DENCLMCNY
DENCLMCOS
DENCLMDCP
DENCLMDEN
DENCLMDRO
DENCLMEEO
@ -7067,7 +7057,6 @@ DENCLSCAG
DENCLSCEZ
DENCLSCNY
DENCLSCOS
DENCLSDCP
DENCLSDEN
DENCLSDRO
DENCLSEEO
@ -7336,7 +7325,6 @@ DENRERAPA
DENRERBDU
DENRERBOU
DENRERCOS
DENRERDCP
DENRERDEN
DENRERGJT
DENRERGRJ
@ -8069,10 +8057,7 @@ FAIFRWOME
FAIFRWOTZ
FAIFTMAPD
FAIFWFAFG
FAIFWFCIA
FAIFWFEIA
FAIFWFNSB
FAIFWFWIA
FAIFWFWCZ
FAIFWSAFG
FAIFWSNSB
@ -8225,10 +8210,7 @@ FAIRERMCG
FAIREROME
FAIREROTZ
FAIRFWAFG
FAIRFWCIA
FAIRFWEIA
FAIRFWNSB
FAIRFWWIA
FAIRFWWCZ
FAIRHWAFG
FAIRHWBRW
@ -8697,7 +8679,6 @@ FSDMTR1D1
FSDMTR1D7
FSDMTR1D8
FSDMTR2WX
FSDMTR49B
FSDMTR8D3
FSDMTR9V9
FSDMTRABR
@ -8719,7 +8700,6 @@ FSDMTRPHP
FSDMTRPIR
FSDMTRRAP
FSDMTRRCA
FSDMTRSOU
FSDMTRSPF
FSDMTRUNR
FSDMTRYKN
@ -9405,7 +9385,6 @@ GTFAFMGGW
GTFAFMMSO
GTFAFMTFX
GTFAFPGGW
GTFAFPTFX
GTFAQABYZ
GTFAQAGGW
GTFAQAMSO
@ -10108,15 +10087,6 @@ GUMFTMGUA
GUMFWFGUM
GUMFWFMY
GUMFWFPQ
GUMFWMGUM
GUMFWMPQ1
GUMFWMPQ2
GUMFWNGUM
GUMFWNPQ1
GUMFWNPQ2
GUMFWOGUM
GUMFWOPQ1
GUMFWOPQ2
GUMFWSGUM
GUMFZLGUM
GUMFZLKMR
@ -10517,12 +10487,6 @@ HFOFTMHKM
HFOFTMHMO
HFOFTMHWA
HFOFWFHFO
HFOFWMHFO
HFOFWMPPG
HFOFWNHFO
HFOFWNPPG
HFOFWOHFO
HFOFWOPPG
HFOFWSHFO
HFOFZLITO
HFOFZLLIH
@ -11841,7 +11805,6 @@ INDLAEIN
INDLAEIND
INDLAEIWX
INDLCOIND
INDLCOIWX
INDLEWIN
INDLEWIND
INDLEWIWX
@ -11903,7 +11866,6 @@ INDMTRSBN
INDMTRSER
INDMTRTYQ
INDMTRUMP
INDMTRUWL
INDMTRVPZ
INDMWSIWX
INDMWWIWX
@ -12358,7 +12320,6 @@ JANMTRMBO
JANMTRMCB
JANMTRMEI
JANMTRMJD
JANMTRMPE
JANMTRNJW
JANMTRNMM
JANMTRPIB
@ -14337,7 +14298,6 @@ LAXCF6CNO
LAXCF6CQT
LAXCF6CRQ
LAXCF6CZZ
LAXCF6FHM
LAXCF6FUL
LAXCF6HHR
LAXCF6LAX
@ -14375,7 +14335,6 @@ LAXCLACNO
LAXCLACQT
LAXCLACRQ
LAXCLACZZ
LAXCLAFHM
LAXCLAFUL
LAXCLALAX
LAXCLAMYF
@ -14401,7 +14360,6 @@ LAXCLICNO
LAXCLICQT
LAXCLICRQ
LAXCLICZZ
LAXCLIFHM
LAXCLIFUL
LAXCLIHHR
LAXCLILAX
@ -14433,7 +14391,6 @@ LAXCLMCNO
LAXCLMCQT
LAXCLMCRQ
LAXCLMCZZ
LAXCLMFHM
LAXCLMFUL
LAXCLMHHR
LAXCLMLAX
@ -14460,7 +14417,6 @@ LAXCLMVNY
LAXCLMWJF
LAXCLSCNO
LAXCLSCRQ
LAXCLSFHM
LAXCLSPVL
LAXCWFLOX
LAXCWFSGX
@ -14473,7 +14429,6 @@ LAXDSMAVX
LAXDSMBIH
LAXDSMBLH
LAXDSMCQT
LAXDSMFHM
LAXDSMHHR
LAXDSMLAX
LAXDSMLGB
@ -14555,7 +14510,6 @@ LAXMANNKX
LAXMISSGX
LAXMSMBIH
LAXMSMBLH
LAXMSMFHM
LAXMSMHHR
LAXMSMLAX
LAXMSMLGB
@ -14590,7 +14544,6 @@ LAXMTREDW
LAXMTREED
LAXMTREMT
LAXMTRF70
LAXMTRFHM
LAXMTRFUL
LAXMTRGXA
LAXMTRHES
@ -14641,10 +14594,8 @@ LAXMTRSMO
LAXMTRSMX
LAXMTRSNA
LAXMTRTOA
LAXMTRTQS
LAXMTRTRM
LAXMTRVCV
LAXMTRVGN
LAXMTRVNY
LAXMTRWHP
LAXMTRWJF
@ -14689,7 +14640,6 @@ LAXRCMVBX
LAXRCMVTX
LAXRECLOX
LAXRECSGX
LAXRERFHM
LAXRERLOX
LAXRERSGX
LAXRFDLOX
@ -14713,7 +14663,6 @@ LAXRR5SGX
LAXRR5SMX
LAXRR6A06
LAXRR6CZZ
LAXRR6FHM
LAXRR6L39
LAXRR6LCC
LAXRR6LGB
@ -14734,7 +14683,6 @@ LAXRR7BIH
LAXRR7BLH
LAXRR7CQT
LAXRR7CZZ
LAXRR7FHM
LAXRR7L39
LAXRR7LCC
LAXRR7LGB
@ -15247,7 +15195,6 @@ LBBOSOAMA
LBBOSOEPZ
LBBOSOLUB
LBBOSOMAF
LBBOSOSJT
LBBPFMAMA
LBBPFMEPZ
LBBPFMLUB
@ -19347,7 +19294,6 @@ MEMCF6CKV
MEMCF6CSV
MEMCF6HKA
MEMCF6JBR
MEMCF6MEG
MEMCF6MEM
MEMCF6MKL
MEMCF6OQT
@ -19371,7 +19317,6 @@ MEMCLICKV
MEMCLICSV
MEMCLIDYR
MEMCLIJBR
MEMCLIMEG
MEMCLIMEM
MEMCLIMKL
MEMCLIOQT
@ -19384,7 +19329,6 @@ MEMCLMCKV
MEMCLMCSV
MEMCLMDYR
MEMCLMJBR
MEMCLMMEG
MEMCLMMEM
MEMCLMMKL
MEMCLMOQT
@ -19551,7 +19495,6 @@ MEMMTRCKV
MEMMTRCRX
MEMMTRCSV
MEMMTRDKX
MEMMTRDRP
MEMMTRDYR
MEMMTRFYE
MEMMTRFYM
@ -24012,7 +23955,6 @@ MIAMTRDED
MIAMTRECP
MIAMTREYW
MIAMTRF45
MIAMTRF95
MIAMTRFHB
MIAMTRFIN
MIAMTRFLL
@ -24936,19 +24878,6 @@ MKCRVFUSH
MKCRVFYEL
MKCRVMKRF
MKCSFPMO
MKCSIGA0A
MKCSIGA0B
MKCSIGA0C
MKCSIGA0D
MKCSIGA0E
MKCSIGA0F
MKCSIGA0G
MKCSIGA0H
MKCSIGA0I
MKCSIGA0J
MKCSIGA0K
MKCSIGA0L
MKCSIGA0M
MKCSPSMKC
MKCSTQKRF
MKCSVSMKC
@ -25646,67 +25575,86 @@ MSPCEMDLH
MSPCEMMN
MSPCEMMPX
MSPCF6ASX
MSPCF6AXN
MSPCF6BDE
MSPCF6BRD
MSPCF6DLH
MSPCF6FCM
MSPCF6GNA
MSPCF6HIB
MSPCF6HYR
MSPCF6INL
MSPCF6MKT
MSPCF6MIC
MSPCF6MSP
MSPCF6PKD
MSPCF6RWF
MSPCF6STC
MSPCF6STP
MSPCFWDLH
MSPCLAASX
MSPCLAAXN
MSPCLABRD
MSPCLADLH
MSPCLAEAU
MSPCLAFCM
MSPCLAGNA
MSPCLAHIB
MSPCLAHYR
MSPCLAINL
MSPCLAMIC
MSPCLAMSP
MSPCLARWF
MSPCLASTC
MSPCLASTP
MSPCLIASX
MSPCLIAXN
MSPCLIBRD
MSPCLIDLH
MSPCLIDUL
MSPCLIEAU
MSPCLIFCM
MSPCLIGNA
MSPCLIHIB
MSPCLIHYR
MSPCLIINL
MSPCLIMIC
MSPCLIMPX
MSPCLIMSP
MSPCLIRWF
MSPCLISTC
MSPCLISTP
MSPCLMASX
MSPCLMAXN
MSPCLMBRD
MSPCLMDLH
MSPCLMDUL
MSPCLMEAU
MSPCLMFCM
MSPCLMGNA
MSPCLMHIB
MSPCLMHYR
MSPCLMINL
MSPCLMMIC
MSPCLMMPX
MSPCLMMSP
MSPCLMRWF
MSPCLMSTC
MSPCLMSTP
MSPCLSASX
MSPCLSAXN
MSPCLSBRD
MSPCLSDLH
MSPCLSEAU
MSPCLSFCM
MSPCLSGNA
MSPCLSHIB
MSPCLSHYR
MSPCLSINL
MSPCLSMIC
MSPCLSMSP
MSPCLSRWF
MSPCLSSTC
MSPCLSSTP
MSPCMMDLH
MSPCMMLOT
MSPCRFCAL
@ -26158,7 +26106,6 @@ MSPRRMASF
MSPRRMASP
MSPRRMASW
MSPRRMDLH
MSPRRMMPX
MSPRRMMSP
MSPRRMMSR
MSPRRSDLH
@ -33250,8 +33197,8 @@ NEWFOPLM
NEWFRWLA
NEWFRWLIX
NEWFRWSHV
NEWFTMHDC
NEWFTMLCH
NEWFTMLIX
NEWFTMMSY
NEWFTMPOE
NEWFTMSHV
@ -35076,7 +35023,6 @@ OMAMTR1GW
OMAMTR1HW
OMAMTR1IW
OMAMTR1KW
OMAMTR4V9
OMAMTRAFK
OMAMTRAHQ
OMAMTRAIA
@ -37404,7 +37350,6 @@ PITMTRDUJ
PITMTRFKL
PITMTRFWQ
PITMTRHLG
PITMTRI40
PITMTRIDI
PITMTRLBE
PITMTRMGW
@ -38934,7 +38879,6 @@ RNOMSMNFL
RNOMSMRNO
RNOMSMWMC
RNOMTR05U
RNOMTR10U
RNOMTR9BB
RNOMTRAWH
RNOMTRB23
@ -40418,7 +40362,6 @@ SDFRERJAK
SDFRERJKL
SDFRERLEX
SDFRERLMK
SDFRERLOZ
SDFRERLVL
SDFRERMDH
SDFRERPAA
@ -41795,7 +41738,6 @@ SFOTAFBFL
SFOTAFCCR
SFOTAFCEC
SFOTAFFAT
SFOTAFHAF
SFOTAFLVK
SFOTAFMCC
SFOTAFMCE
@ -41957,6 +41899,19 @@ SFOZFPSTO
@@@SHPSG2
@@@SHPTD1
@@@SHPYYZ
@@@SIGA0A
@@@SIGA0B
@@@SIGA0C
@@@SIGA0D
@@@SIGA0E
@@@SIGA0F
@@@SIGA0G
@@@SIGA0H
@@@SIGA0I
@@@SIGA0J
@@@SIGA0K
@@@SIGA0L
@@@SIGA0M
@@@SIGAK1
@@@SIGAK2
@@@SIGAK3
@ -42274,7 +42229,6 @@ SLCCF6CDC
SLCCF6EVW
SLCCF6SLC
SLCCLASLC
SLCCLICDC
SLCCLIEVW
SLCCLISLC
SLCCLMEVW
@ -42300,7 +42254,6 @@ SLCCWSZLC
SLCDGTSLC
SLCDMOSLC
SLCDMOUT
SLCDSMLGU
SLCDSMSLC
SLCDSTSLC
SLCDSWSLC
@ -42346,7 +42299,6 @@ SLCFOPCB
SLCFRWSLC
SLCFRWUT
SLCFTMICX
SLCFTMMTX
SLCFTMSLC
SLCFWFSLC
SLCFWLSLC
@ -42383,7 +42335,6 @@ SLCMISSLC
SLCMISSTO
SLCMISSTR
SLCMISZLC
SLCMSMLGU
SLCMSMSLC
SLCMTR41U
SLCMTR4BL
@ -42413,7 +42364,6 @@ SLCMTRSGU
SLCMTRSLC
SLCMTRSPK
SLCMTRSTR
SLCMTRSVR
SLCMTRTVY
SLCMTRU14
SLCMTRU24
@ -42451,9 +42401,7 @@ SLCRR3SLC
SLCRR4SLC
SLCRR5SLC
SLCRR5STR
SLCRR6LGU
SLCRR6SLC
SLCRR7LGU
SLCRR7SLC
SLCRR7STR
SLCRR8SLC
@ -42516,7 +42464,6 @@ SLCTAFOGD
SLCTAFPVU
SLCTAFSGU
SLCTAFSLC
SLCTAFSVR
SLCTAFVEL
SLCTOESLC
SLCTOEUT
@ -43812,7 +43759,6 @@ TOPMTR1K1
TOPMTR36K
TOPMTR3AU
TOPMTR3K3
TOPMTR3K7
TOPMTR3K8
TOPMTR5K2
TOPMTR8K2
@ -45399,7 +45345,6 @@ WSHADMWSH
WSHADRNMC
WSHADRWSH
WSHFLNNMC
WSHMTRJTX
WSHNIMNAT
WSHPNSDMG
WSHPNSFOS

View file

@ -452,7 +452,7 @@
0000000000|ANVC1| 38.91 |-123.71 | -0|Arena Cove, CA |US|BOY
0000000000|APAM2| 38.983| -76.48 | -0|8575512 Annapolis, MD NOS |US|BOY
0000000000|APCF1| 29.73 | -84.98 | -0|Apalachicola, FL NOS |US|BOY
0000000000|APMA2| 61.238|-149.888| 6|Anchorage Port, AK Marine Exchange |US|BOY
0000000000|APMA2| 61.239|-149.889| 6|Anchorage Port, AK Marine Exchange |US|BOY
0000000000|APNM4| 45.05 | -83.45 | 179|Alpena, MI Water Plant (GLERL) |US|BOY
0000000000|APRP7| 13.442| 144.653| -0|NWLON Apra Harbor, Guam 1630000 |US|BOY
0000000000|APXF1| 29.79 | -84.88 | -0|Apalachicola NERR, FL |US|BOY
@ -548,7 +548,6 @@
0000000000|CNDO1| 41.540| -81.635| -0|NWLON Cleveland, OH |US|BOY
0000000000|CNII2| 41.856| -87.609| 180|Northerly Island, IL GLOS |US|BOY
0000000000|COVM2| 38.432| -76.387| -0|Cove Point, MD 8577018 NOS |US|BOY
0000000000|COXA2| 60.542|-145.766| 8|Cordova, AK Marine Exchange |US|BOY
0000000000|CPMW1| 48.860|-122.756| 5|Cherry Point South Dock, WA |US|BOY
0000000000|CPNT2| 28.118| -97.022| -0|NWLON Copano Bay, TX |US|BOY
0000000000|CPTR1| 41.72 | -71.34 | 5|Conimicut Light, RI |US|BOY
@ -560,7 +559,7 @@
0000000000|CRVA2| 60.557|-145.755| 13|9454050 Cordova, AK NOS |US|BOY
0000000000|CRYV2| 36.888| -76.338| -0|NWLON South Craney Island, VA |US|BOY
0000000000|CSBF1| 29.67 | -85.36 | 3|Cape San Blas, FL/V |US|BOY
0000000000|CSPA2| 56.397|-160.142| 58|Cape Seniavin, AK Marine Exchange |US|BOY
0000000000|CSPA2| 58.21 |-136.63 | -0|Cape Spencer, AK |US|BOY
0000000000|CSXA2| 58.199|-136.641| 22|Cape Spencer WX, AK Marine Exchange |US|BOY
0000000000|CTGM1| 44.642| -67.297| 5|8411250 Cutler, ME NOS |US|BOY
0000000000|CWAF1| 25.30 | -81.01 | -0|Clearwater Pass, FL |US|BOY
@ -779,7 +778,6 @@
0000000000|MCYF1| 27.91 | -82.425| -0|McKay Bay Entrance (Tampa), FL NOS |US|BOY
0000000000|MCYI3| 41.73 | -86.93 | 176|Michigan City, IN (GLERL) |US|BOY
0000000000|MDRM1| 43.97 | -68.13 | 16|Mt Desert Rock, ME/D |US|BOY
0000000000|MDXA2| 59.438|-146.327| 43|Middleton Island, AK Marine Exchange|US|BOY
0000000000|MEEM4| 44.248| -86.346| 178|NWSCR Manistee Harbor, MI |US|BOY
0000000000|MEYC1| 36.61 |-121.89 | -0|Monterey, CA |US|BOY
0000000000|MGIP4| 17.97 | -67.047| -0|Magueyes Islands, PR NOS |US|BOY
@ -1056,7 +1054,6 @@
0000000000|TCVF1| 25.210| -80.533| 0|Trout Cove, FL NPS |US|BOY
0000000000|TDPC1| 41.055|-124.147| -0|Trinidad Pier, CA Cen/Northern OOS |US|BOY
0000000000|TESL1| 29.667| -91.237| -0|Tesoro Marine Terminal, Berwick, LA |US|BOY
0000000000|TGXA2| 59.055|-160.334| 4|Togiak, AK Marine Exchange |US|BOY
0000000000|THLO1| 41.826| -83.194| 174|Toledo Light #2, OH GLERL |US|BOY
0000000000|THRO1| 41.693| -83.471| -0|Toledo Harbor, OH |US|BOY
0000000000|TIBC1| 37.89 |-122.45 | -0|SF State U, Tiburon Pier SF Bay, CA |US|BOY

View file

@ -968,7 +968,6 @@
0000000000|K0VG | 36.6541| -83.2178| 430|Lee Cnty AP, Jonesville, VA |US|MTR
0000000000|K0W8 | 37.94 | -75.39 | 2|CHINCOTEAGUE, VA |US|MTR
0000000000|K10G | 40.53670|-81.95594| 374|Holmes Cnty AP, Millersburg, OH |US|MTR
0000000000|K10U | 41.95361|-116.18194| 1639|Owyhee Airport, Owyhee, NV |US|MTR
0000000000|K11R | 30.219| -96.374| 94|Brenham Muni, TX |US|MTR
0000000000|K12N | 41.01 | -74.74 | 178|Andover/Aeroflex-Andover, NJ |US|MTR
0000000000|K13G | 43.27 | -79.07 | 82|NIAGARA (CGS), NY |US|MTR
@ -1048,7 +1047,6 @@
0000000000|K1R8 | 30.87033|-87.81933| 76|Bay Minette MuniAP, Bay Minette, AL|US|MTR
0000000000|K1S3 | 46.27115|-106.62390| 832|Tillitt Field Airport, Forsyth, MT|US|MTR
0000000000|K1S5 | 46.3271|-119.9704| 234|Sunnyside Muni, Sunnyside, WA |US|MTR
0000000000|K1U7 | 42.24976|-111.34163| 1808|Bear Lake Airport, Paris, ID |US|MTR
0000000000|K1V1 | 39.54 |-107.80 | 1646|RIFLE, CO |US|MTR
0000072614|K1V4 | 44.42 | -72.02 | 217|St. Johnsbury, VT |US|MTR
0000000000|K1V6 | 38.4284|-105.106| 1659|Fremont Cnty AP, Canon City, CO |US|MTR
@ -1113,7 +1111,6 @@
0000000000|K3HT | 46.44 |-109.84 | 1268|HARLOWTON, MT |US|MTR
0000000000|K3I2 | 38.915| -82.099| 196|Mason Cnty AP, Pt Pleasant, WV |US|MTR
0000000000|K3K3 | 37.922|-101.746| 1013|Syracuse, KS |US|MTR
0000000000|K3K7 | 38.45649|-101.35263| 1007|Mark Hoard Mem Arpt, Leoti, KS |US|MTR
0000000000|K3K8 | 37.22333|-99.33167| 636|Coldwater, KS |US|MTR
0000000000|K3L4 | 29.79968|-92.80354| 2|Little Pecan AP, Grand Chenier, LA |US|MTR
0000000000|K3LF | 39.163| -89.675| 210|Litchfield Muni AP, Litchfield, IL |US|MTR
@ -1125,6 +1122,7 @@
0000000000|K3S2 | 45.26 |-122.75 | 8|AURORA, OR |US|MTR
0000000000|K3S8 | 42.5101|-123.388| 345|Grants Pass AP, Grants Pass, OR |US|MTR
0000072650|K3SE | 43.18 | -95.15 | 404|SPENCER, IA |US|MTR
0000000000|K3SZ | 38.93 | -90.43 | 133|St. Charles, MO |US|MTR
0000000000|K3T5 | 29.91 | -96.95 | 99|La Grange/Fayette Regnl, TX |US|MTR
0000000000|K3U3 | 46.15341|-112.86773| 1534|Bowman Field Arpt, Anaconda, MT |US|MTR
0000000000|K3V9 | 39.29 |-106.87 | 2270|ASPEN, CO |US|MTR
@ -1140,7 +1138,6 @@
0000000000|K48A | 32.40066|-83.27841| 115|Cochran AP, Cochran, GA |US|MTR
0000000000|K48I | 38.687| -80.652| 387|Braxton Cnty AP, Sutton, WV |US|MTR
0000000000|K49A | 34.6282| -84.5266| 453|Gilmer Cnty AP, Ellijay, GA |US|MTR
0000000000|K49B | 44.41868|-103.37772| 992|Sturgis Muni Arpt, Sturgis, SD |US|MTR
0000000000|K49T | 32.77172|-96.80206| 146|Dallas CBD Heliport, Dallas, TX |US|MTR
0000000000|K49Y | 43.68 | -92.18 | 389|Preston/Fillmore Co, MN |US|MTR
0000000000|K4A6 | 34.6887| -86.0059| 198|Scottsboro Muni, Scottsboro, AL |US|MTR
@ -1173,7 +1170,6 @@
0000000000|K4V0 | 40.09397|-108.76306| 1608|Rangely AP, Rio Blanco, CO |US|MTR
0000000000|K4V1 | 37.69652|-104.78479| 1846|Spanish Peaks AP, Walsenburg, CO|US|MTR
0000000000|K4V5 | 37.29 |-107.86 | 2012|DURANGO, CO |US|MTR
0000000000|K4V9 | 42.11225|-98.03978| 541|Antelope Cnty Arpt, Neligh, NE |US|MTR
0000072495|K50Q | 37.71 |-123.00 | 12|FARALLON ISLAND, CA |US|MTR
0000000000|K53D | 45.66 | -95.39 | 423|GLENWOOD, MN |US|MTR
0000000000|K54A | 26.85374| -82.25260| 2|Coral Creek AP, Placida, FL |US|MTR
@ -1223,6 +1219,7 @@
0000000000|K79S | 47.84419|-110.63686| 874|Fort Benton Arpt, Fort Benton, MT|US|MTR
0000000000|K7B5 | 28.09 | -93.21 | 1|WEST CAMERON 587, LA |US|MTR
0000000000|K7BM | 38.799|-106.218| 2995|Cottonwood Pass, CO |US|MTR
0000000000|K7G2 | 41.78 | -80.70 | 282|Ashtabula Co, OH |US|MTR
0000000000|K7L2 | 46.221|-100.246| 542|Linton Muni, Linton, ND |US|MTR
0000000000|K7LI | 38.61 |-112.30 | 1656|JOSEPH, UT |US|MTR
0000000000|K7N0 | 29.9527| -90.0827| 9|Downtown Heliport, New Orleans, LA |US|MTR
@ -1831,7 +1828,6 @@
0000000000|KDRI | 30.832| -93.340| 62|Beauregard Rgnl AP, De Ridder, LA |US|MTR
0000000000|KDRM | 46.009| -83.744| 204|Drummond Is AP, MI |US|MTR
0000000000|KDRO | 37.16 |-107.75 | 2037|DUR-LA PLATA ARPT, CO |US|MTR
0000000000|KDRP | 35.12005|-90.82650| 73|Delta Regional Arpt, Colt, AR |US|MTR
0000072261|KDRT | 29.38 |-100.92 | 313|DEL RIO INTL, TX |US|MTR
0000000000|KDSF | 28.343| -88.165| 130|Mississippi Canyon 650, LA |US|MTR
0000072546|KDSM | 41.53395|-93.65311| 294|DES MOINES INTL, IA |US|MTR
@ -1869,6 +1865,7 @@
0000000000|KDYT | 46.72 | -92.04 | 186|Duluth/Sky Harbor, MN |US|MTR
0000000000|KDZB | 30.527| -98.359| 333|Horseshoe Bay, TX |US|MTR
0000000000|KDZJ | 34.8544| -83.9973| 582|Blairsville, GA |US|MTR
0000000000|KE02 | 31.92 |-102.39 | 915|Odessa/Schlemeyer Field, TX |US|MTR
0000000000|KE11 | 32.331|-102.5295| 967|Andrews Cnty AP, Andrews, TX |US|MTR
0000000000|KE12 | 28.08 | -92.70 | -0|E. CAMERON 345, LA |US|MTR
0000000000|KE16 | 37.08159|-121.59681| 86|South Cnty AP, San Martin, CA |US|MTR
@ -1989,7 +1986,6 @@
0000000000|KF45 | 26.84592|-80.22233| 7|N Palm Beach Cnty AP, West Palm Beach, FL|US|MTR
0000000000|KF46 | 32.9306| -96.435| 175|Rockwall Muni, Rockwall, TX |US|MTR
0000000000|KF70 | 33.5742|-117.1285| 412|French Vy AP, Murrieta/Temecula, CA|US|MTR
0000000000|KF95 | 30.48703|-85.11379| 37|Calhoun Cnty Arpt, Blountstown, FL |US|MTR
0000000000|KFAF | 37.14 | -76.62 | 4|FT EUSTIS/FELKER, VA |US|MTR
0000000000|KFAM | 37.76 | -90.43 | 288|Farmington Regnl, MO |US|MTR
0000072753|KFAR | 46.91 | -96.80 | 277|FARGO/HECTOR FIE, ND |US|MTR
@ -2022,7 +2018,6 @@
0000000000|KFGX | 38.5418| -83.7434| 278|Fleming-Mason AP, Flemingsburg, KY |US|MTR
0000072376|KFGZ | 35.23 |-111.82 | 2180|Flagstaff/Belemont, AZ |US|MTR
0000000000|KFHB | 30.61183| -81.461194| 5|Fernandina Beach Muni, FL |US|MTR
0000000000|KFHM | 34.06778|-118.24167| 126|Frank Hotchkin Mem, Los Angeles, CA|US|MTR
0000000000|KFHR | 48.52 |-123.02 | 33|FRIDAY HARBOR, WA |US|MTR
0000072273|KFHU | 31.58 |-110.33 | 1422|FORT HUACHUCA, AZ |US|MTR
0000000000|KFIG | 41.047| -78.412| 462|Clearfield-Lawrence, PA |US|MTR
@ -2340,14 +2335,13 @@
0000000000|KHZL | 40.9868| -75.9949|489|Hazleton Muni, Hazleton, PA |US|MTR
0000000000|KHZR | 30.7183| -91.4787| 12|New Roads, LA |US|MTR
0000000000|KHZX | 46.619| -93.310| 374|Isedor Iverson AP, McGregor, MN |US|MTR
0000000000|KHZY | 41.77778|-80.69678| 282|Ashtabula Co, OH |US|MTR
0000000000|KHZY | 41.779| -80.697| 277|Ashtabula Co, OH |US|MTR
0000000000|KI16 | 37.600| -81.559| 544|Kee Fld AP, Pineville, WV |US|MTR
0000000000|KI18 | 38.92978| -81.81947| 231|Jackson Cnty Arpt, Ravenswood, WV|US|MTR
0000000000|KI19 | 39.69103| -83.99199| 289|Greene Co-Lewis Jackson AP, Dayton, OH|US|MTR
0000000000|KI23 |39.57040|-83.42052| 299|Fayette County Airport, OH |US|MTR
0000000000|KI26 | 37.82 | -87.69 | 117|HENDERSON CITY, KY |US|MTR
0000000000|KI35 | 36.8593| -83.35847| 473|Tucker-Guthrie Mem AP, Harlan, KY |US|MTR
0000000000|KI40 | 40.31017|-81.85242| 298|Richard Downing AP, Coshocton, OH |US|MTR
0000000000|KI63 | 39.988| -90.804| 223|Mt Sterling Muni, Mt Sterling, IL |US|MTR
0000000000|KI67 | 39.2593| -84.7743| 178|Cincinnati W AP, Harrison, OH |US|MTR
0000000000|KI69 | 39.0784| -84.2102| 257|Clermont Cnty AP, Batavia, OH |US|MTR
@ -2758,7 +2752,6 @@
0000000000|KMOR | 36.1794| -83.3754|400|Moore-Murrell AP, Morristown, TN |US|MTR
0000000000|KMOT | 48.28 |-101.28 | 523|MINOT INTL, ND |US|MTR
0000000000|KMOX | 45.57 | -95.97 | 344|MORRIS MUNI, MN |US|MTR
0000000000|KMPE | 32.79921|-89.12610| 140|Philadelphia Muni Arpt, MS |US|MTR
0000000000|KMPO | 41.14 | -75.38 | 577|Mt Pocono/Pocono Mtns Muni, PA |US|MTR
0000000000|KMPR | 38.35244|-97.69131| 457|McPherson, KS |US|MTR
0000000000|KMPV | 44.21 | -72.57 | 343|MONTPELIER/KNAPP, VT |US|MTR
@ -2916,7 +2909,7 @@
0000000000|KOCH | 31.57 | -94.70 | 108|NACOGDOCHES, TX |US|MTR
0000000000|KOCQ | 44.87401| -87.90977|184|JW Bake Mem AP, Oconto, WI |US|MTR
0000000000|KOCW | 35.57 | -77.05 | 12|Washington/Warren Field, NC |US|MTR
0000000000|KODO | 31.92142|-102.38713| 915|Odessa/Schlemeyer Field, TX |US|MTR
0000000000|KODO | 31.921|-102.392| 915|Odessa/Schlemeyer Field, TX |US|MTR
0000000000|KODX | 41.62 | -98.95 | 629|ORD/SHARP, NE |US|MTR
0000000000|KOEB | 41.93 | -85.05 | 292|Coldwater, MI |US|MTR
0000000000|KOEL | 39.112|-100.817| 928|Oakley, KS |US|MTR
@ -3336,7 +3329,7 @@
0000072260|KSEP | 32.215| -98.178| 403|Stephenville/Clark Muni, TX |US|MTR
0000000000|KSEQ | 29.56579| -97.90834| 160|Randolph AFB Aux Field, Seguin, TX |US|MTR
0000000000|KSER | 38.925| -85.908| 178|Seymour, IN |US|MTR
0000000000|KSET | 38.92969|-90.42997| 133|St Charles/Smartt, MO |US|MTR
0000000000|KSET | 38.931| -90.43 | 134|St Charles/Smartt, MO |US|MTR
0000000000|KSEZ | 34.849|-111.788| 1472|Sedona AP, Sedona, AZ |US|MTR
0000000000|KSFB | 28.77952|-81.24355| 17|Orlando/Sanford, FL |US|MTR
0000000000|KSFF | 47.68 |-117.32 | 595|Spokane/Felts Fld, WA |US|MTR
@ -3402,7 +3395,6 @@
0000072561|KSNY | 41.11 |-102.98 | 1307|SIDNEY MUNI, NE |US|MTR
0000000000|KSOA | 30.586|-100.649| 652|Sonora Muni, Sonora, TX |US|MTR
0000000000|KSOP | 35.24 | -79.41 | 141|SOUTHERN PINES A, NC |US|MTR
0000000000|KSOU | 43.25846|-100.85949| 830|Rosebud Sioux Tribal Airport, SD |US|MTR
0000000000|KSOW | 34.265|-110.006| 1955|Show Low, AZ |US|MTR
0000000000|KSPA | 34.916| -81.957| 244|Spartanburg Downtown Mem AP, SC |US|MTR
0000000000|KSPB | 45.769|-122.862| 15|Scappoose Industrial Airpark, OR |US|MTR
@ -3535,7 +3527,6 @@
0000000000|KTQE | 41.76 | -96.18 | 313|Tekamah, NE |US|MTR
0000000000|KTQH | 35.93 | -95.00 | 266|Tahlequah Muni, OK |US|MTR
0000000000|KTQK | 38.47503| -100.88444| 905|Scott City AP, Scott City, KS |US|MTR
0000000000|KTQS | 34.633 | -120.617| 34|Vandenberg SFB/South, CA |US|MTR
0000000000|KTQV | 36.00704|-78.93733| 157|Duke Univ N Heliport, Durham, NC |US|MTR
0000000000|KTRI | 36.48 | -82.40 | 474|TRI-CITY/BRISTOL, TN |US|MTR
0000000000|KTRK | 39.32 |-120.13956 | 1798|Truckee-Tahoe AP, CA |US|MTR
@ -3589,7 +3580,7 @@
0000072385|KUCC | 36.96 |-116.05 | 1195|YUCCA FLAT, NV |US|MTR
0000000000|KUCP | 41.025| -80.413| 327|New Castle Muni, PA |US|MTR
0000000000|KUCY | 36.37974| -88.9857| 105|Union City/Everett-Stewart, TN |US|MTR
0000000000|KUDG | 34.44749|-79.88642| 59|Darlington Co Jetport, SC |US|MTR
0000000000|KUDG | 34.45 | -79.89 | 59|Darlington Co Jetport, SC |US|MTR
0000000000|KUDX | 44.13 |-102.84 | 919|RAPID CITY, SD |US|MTR
0000000000|KUES | 43.04103| -88.23706| 278|WAUKESHA, WI |US|MTR
0000000000|KUGN | 42.42 | -87.87 | 222|Waukegan Regnl, IL |US|MTR
@ -3615,7 +3606,6 @@
0000000000|KUUU | 41.54 | -71.28 | 52|NEWPORT, RI |US|MTR
0000000000|KUUV | 38.23347|-91.16428| 284|Sullivan Rgnl, Sullivan, MO |US|MTR
0000000000|KUVA | 29.211| -99.744| 287|Garner Fld AP, Uvalde, TX |US|MTR
0000000000|KUWL | 39.87672|-85.32527| 332|New Castle Henry Cnty Arpt, IN |US|MTR
0000000000|KUXL | 30.13144| -93.37617| 3|Southland Fld AP, Sulphur, LA |US|MTR
0000000000|KUYF | 39.9327| -83.462| 330|Madison Cnty AP, London, OH |US|MTR
0000000000|KUZA | 34.9836| -81.0566| 202|Rock Hill/York Co/Bryant Fld, SC |US|MTR
@ -3636,7 +3626,6 @@
0000000000|KVER | 38.9467| -92.6827| 218|J Viertel Mem AP, Boonville, MO |US|MTR
0000000000|KVES | 40.204| -84.532| 307|Versailles, OH |US|MTR
0000000000|KVGC | 42.84344|-75.56119| 347|Hamilton Muni AP, Hamilton, NY |US|MTR
0000000000|KVGN | 34.8494 |-120.6 | 93|Vandenberg SFB/North, CA |US|MTR
0000000000|KVGT | 36.21 |-115.20 | 671|North Las Vegas, NV |US|MTR
0000000000|KVHN | 31.05783|-104.78381| 1206|Culberson Cnty AP, Van Horn, TX |US|MTR
0000000000|KVIH | 38.14 | -91.77 | 350|VICHY/ROLLA, MO |US|MTR

View file

@ -876,7 +876,6 @@ K0V4 WBC
K0VG MEM
K0Y7 DSM
K10G CLE
K10U RNO
K11R SAT
K12C CHI
K12N PHL
@ -957,7 +956,6 @@ K1R7 JAN
K1R8 BHM
K1S3 GTF
K1S5 SEA
K1U7 BOI
K1V1 DEN
K1V4 ALB
K1V6 DEN
@ -1027,7 +1025,6 @@ K3HE ARB
K3HT GTF
K3I2 CRW
K3K3 TOP
K3K7 TOP
K3K8 TOP
K3L4 NEW
K3LF CHI
@ -1038,6 +1035,7 @@ K3R7 NEW
K3RN ARB
K3S8 PDX
K3SE DSM
K3SZ STL
K3T5 SAT
K3U3 GTF
K3V9 DEN
@ -1055,7 +1053,6 @@ K46U CYS
K48A ATL
K48I CRW
K49A ATL
K49B FSD
K49T FTW
K49Y MSP
K4A6 HUN
@ -1087,7 +1084,6 @@ K4SL ABQ
K4U6 GTF
K4V0 DEN
K4V1 DEN
K4V9 OMA
K54A MIA
K54J MIA
K55J MIA
@ -1137,6 +1133,7 @@ K7A8 CAE
K7B5 NEW
K7BM DEN
K7F9 FTW
K7G2 CLE
K7L2 BIS
K7LI SLC
K7N0 NEW
@ -1762,7 +1759,6 @@ KDRA RNO
KDRI NEW
KDRM ARB
KDRO DEN
KDRP MEM
KDRT SAT
KDSF NEW
KDSM DSM
@ -1801,6 +1797,7 @@ KDYS FTW
KDYT MSP
KDZB SAT
KDZJ ATL
KE02 LBB
KE11 LBB
KE12 NEW
KE16 SFO
@ -1930,7 +1927,6 @@ KF44 FTW
KF45 MIA
KF46 FTW
KF70 LAX
KF95 MIA
KFAF WBC
KFAM STL
KFAR BIS
@ -1965,7 +1961,6 @@ KFGN MSP
KFGX SDF
KFGZ PHX
KFHB MIA
KFHM LAX
KFHR SEA
KFHU PHX
KFIG PHL
@ -2297,7 +2292,6 @@ KI19 CLE
KI23 CLE
KI26 SDF
KI35 SDF
KI40 PIT
KI63 CHI
KI67 CLE
KI69 CLE
@ -2724,7 +2718,6 @@ KMOP ARB
KMOR MEM
KMOT BIS
KMOX MSP
KMPE JAN
KMPO PHL
KMPR TOP
KMPV ALB
@ -3382,7 +3375,6 @@ KSNT BOI
KSNY OMA
KSOA LBB
KSOP RDU
KSOU FSD
KSOW PHX
KSOX LAX
KSPA CAE
@ -3526,7 +3518,6 @@ KTPL FTW
KTQE OMA
KTQH OKC
KTQK TOP
KTQS LAX
KTQV RDU
KTRI MEM
KTRK SFO
@ -3610,7 +3601,6 @@ KUTS SAT
KUUU BOS
KUUV STL
KUVA SAT
KUWL IND
KUXL NEW
KUYF CLE
KUZA CAE
@ -3631,7 +3621,6 @@ KVEL SLC
KVER STL
KVES CLE
KVGC ALB
KVGN LAX
KVGT RNO
KVHN LBB
KVIH STL

View file

@ -2,7 +2,6 @@
# 10/25/2021 scn21-96 Implement RC 17698
# 04/21/2021 scn21-36 stop collecting products 34, 136, 171,
# 19, 20, and 27
# 05/16/2023 scn22-111 Collect product 197
# 08/14/2023 scn23-09 Stop collecting products 78, 80, 81, 82
# 138, 174, and 175
# 10/16/2023 reverted removal of product 81
@ -186,4 +185,3 @@
172 0 DTA SDUS8
176 0 DPR SDUS8
177 0 HHC SDUS8
197 0 NRR SDUS8

View file

@ -277,7 +277,6 @@
150 Bulletin No. 150
151 Bulletin No. 151
10G Holmes County Airport, Millersburg, OH
10U Owyhee Airport, Owyhee, NV
11R Brenham Muni, TX
12N Andover/Aeroflex, Andover, NJ
13A Nogales, AZ
@ -360,7 +359,6 @@
1S0 Pierce Cnty AP, Puyallup, WA
1S3 Tillitt Field Airport, Forsyth, MT
1S5 Sunnyside Muni, WA
1U7 Bear Lake Airport, Paris, ID
1V1 Rifle, CO
1V4 St. Johnsbury, VT
1V6 Fremont Cnty AP, Canon City, CO
@ -466,7 +464,6 @@
3HT Harlowton, MT
3I2 Mason Cnty AP, Pt Pleasant, WV
3K3 Syracuse, KS
3K7 Mark Hoard Memorial Airport, Leoti, KS
3K8 Coldwater, KS
3KK Kankakee, IL
3L4 Little Pecan Island Airport, Grand Chenier, LA
@ -480,6 +477,7 @@
3S2 Aurora, OR
3S8 Grants Pass Airport, Grants Pass, OR
3SE Spencer, IA
3SZ St. Charles, MO
3T5 La Grange/Fayette Regnl, TX
3U3 Bowman Field Airport, Anaconda, MT
3V6 Crested Butte, CO
@ -510,7 +508,6 @@
48A Cochran Airport, Cochran, GA
48I Braxton Cnty AP, Sutton, WV
49A Gilmer Cnty AP, Ellijay, GA
49B Sturgis Muni Airport, Sturgis, SD
49D Cloquet, MN
49J Hilton Head Island, SC
49T Dallas CBD Heliport, Dallas, TX
@ -549,7 +546,6 @@
4V0 Rangely AP, Rio Blanco, CO
4V1 Spanish Peaks Airport, Walsenburg, CO
4V5 Durango, CO
4V9 Antelope Cnty Arpt, Neligh, NE
500 Bulletin No. 500
501 Bulletin No. 501
502 Bulletin No. 502
@ -636,6 +632,7 @@
7B5 West Cameron 587, LA
7BM Cottonwood Pass, CO
7F9 Comanche County-City AP, Comanche, TX
7G2 Ashtabula, OH
7L2 Linton Muni, Linton, ND
7LI Joseph, UT
7N0 Downtown Heliport, New Orleans, LA
@ -1520,7 +1517,6 @@ DRI Beauregard Rgnl AP, De Ridder, LA
DRK U.S. Drought Outlook Discussion
DRM Drummond Is AP, Drummond Is, MI
DRO Durango-La Plata Cnty AP, Durango, CO; Drought Summary
DRP Delta Regional Airport, Colt, AR
DRT Del Rio, TX
DSD Santa Domingo, DR
DSF Mississippi Canyon 650, LA
@ -1732,7 +1728,6 @@ F44 Athens Muni, Athens, TX
F45 N Palm Beach Cnty Airport, West Palm Beach, FL
F46 Rockwall Muni, Rockwall, TX
F70 French Valley AP, Murrieta/Temecula, CA
F95 Calhoun County Airport, Blountstown, FL
FAF Fort Eustis, VA
FAI Fairbanks, AK
FAK Alaskan MOS Forecast
@ -1775,7 +1770,6 @@ FGN Flag Is, MN
FGX Fleming-Mason AP, Flemingsburg, KY
FGZ WFO Flagstaff/Belemont, AZ
FHB Fernandina Beach Muni, FL
FHM Frank Hotchkin Memorial Training Center, Los Angeles, CA
FHR Friday Harbor, WA
FHU Fort Huachuca, Sierra Vista, AZ
FIG Clearfield-Lawrence, PA
@ -2195,7 +2189,6 @@ I18 New Castle, IN
I19 Greene Co-Lewis Jackson AP, Dayton, OH
I23 Fayette County Airport, OH
I35 Tucker-Guthrie Mem AP, Harlan, KY
I40 Richard Downing Airport, Coshocton, OH
I63 Mt. Sterling Muni, IL
I67 Cincinnati W AP, Harrison, OH
I69 Clermont Cnty AP, Batavia, OH
@ -3016,7 +3009,6 @@ MOX K-Morris Muni, MN; M-Oaxaca/Xoxocotlan, MX
MPA Poza Rica, MX
MPB Puebla, MX
MPD Mesoscale Precipitation Discussion
MPE Philadelphia Muni Airport, Philadelphia, MS
MPG Piedras Negras, MX
MPN Uruapan/Gen Rayon, MX
MPO Mt Pocono/Pocono Mtns Muni, PA
@ -3889,7 +3881,6 @@ SNT Stanley Ranger Station, ID
SNY Sidney, NE
SOA Sonora Muni, TX
SOP Southern Pines, NC
SOU Rosebud Sioux Tribal Airport, SD
SOW Show Low, AZ
SOX Santa Ana Mountains, CA WSR-88D
SP1 Spanish TCP
@ -3965,7 +3956,6 @@ SVC Grant Cnty AP, Silver City, NM
SVE Susanville Muni AP, CA
SVH Statesville Muni, NC
SVN Hunter Army Air Field, GA
SVR South Valley Regional Airport (AKA KU42), West Jordan, UT
SWA Swan Island, Caribbean Sea
SWB Southwestern Boroughs/Kodiak Zones, AK
SWF Newburgh, NY
@ -4082,7 +4072,6 @@ TPP M-Port-Au-Prince, HA; T-Piarco Intl Arpt, TD
TQE Tekamah, NE
TQH Tahlequah Muni, OK
TQK Scott City Airport, Scott City, KS
TQS Vandenberg SFB/South, CA
TQV Duke University North Heliport, Durham, NC
TRI Bristol, TN
TRK Truckee-Tahoe AP, CA
@ -4141,7 +4130,7 @@ U17 Bullfrog, UT
U24 Delta, UT
U28 Green River, UT
U31 Austin, NV
U42 South Valley Regional Airport (AKA KSVR), West Jordan, UT
U42 S Valley Rgnl AP, Salt Lake City, UT
U52 Beaver Municipal Airport, Beaver, UT
U55 Panguitch Municipal Airport, Panguitch, UT
U67 Roosevelt, UT
@ -4201,7 +4190,6 @@ UUU Newport, RI
UUV Sullivan Rgnl, Sullivan, MO
UVA Garner Fld AP, Uvalde, TX
UVR M-Varadero, CU
UWL New Castle Henry County Airport, New Castle, IN
UXL Southland Fld AP, Sulphur, LA
UYF Madison Cnty AP, London, OH
UZA Rock Hill, SC
@ -4231,7 +4219,6 @@ VEL Vernal, UT
VER J Viertel Mem AP, Boonville, MO
VES Versailles, OH
VGC Hamilton Muni Airport, Hamilton, NY
VGN Vandenberg SFB/North, CA
VGT North Las Vegas, NV
VHN Culberson County Airport, Van Horn, TX
VHW Western Region Hq, Salt Lake City, UT

View file

@ -1,14 +1,14 @@
#Radar Connection Characteristic D'n' Key
#D1 - LAN 10 mbps
#D2 - FR DoD 1.54 mbps
#D3 - FAA FR 256 kbps
#D4 - NWS & DoD Supplemental FR 128 kbps
#D5 - NWS & DoD Supplemental FR 256 kbps
#D2 - DoD Hi Speed Commercial
#D3 - FAA Hi Speed Commercial
#D4 - DoD Supplemental Dedicated via OneNWSnet Hardware
#D5 - NWS & DoD Supplemental Dedicated via AWIPS WAN
#D6 - TDWR LAN 10 mbps
#D7 - Dedicated Backup Across WAN 128 kbps Aggregate
#D7 - orpgBackup Across WAN 128 kbps Aggregate
#D8 - ASR-4/ARSR-11 radars
#
#Site ID Region numRpgs RPGs 071911
#Site ID Region numRpgs RPGs 071218
KABQ 5 5 ABXYD1 FDXYD2 EPZND7 HDXND7 AMAND7
KABR 3 4 ABRYD1 FSDND7 BISND7 MBXND7
KAKQ 1 4 AKQYD1 DOXYD2 MHXND7 RAXND7
@ -20,20 +20,20 @@ KARX 3 3 ARXYD1 DVNND7 MPXND7
KBCQ 3 1 EAXND1
KBGM 1 3 BGMYD1 CCXND7 ENXND7
KBIS 3 5 BISYD1 MBXYD2 MVXND7 ABRND7 QWAND8
KBMX 4 6 BMXYD1 MXXYD2 HTXND4 GWXND4 FFCND7 JGXND7
KBMX 4 6 BMXYD1 MXXYD2 HTXND5 GWXND4 FFCND7 JGXND7
KBOI 5 3 CBXYD1 SFXND7 LRXND7
KBOU 5 4 FTGYD1 DENYD6 PUXND7 GJXND7
KBOX 1 4 BOXYD1 BOSYD6 OKXND7 GYXND7
KBRO 4 3 BROYD1 EWXND7 DFXND7
KBTV 1 4 CXXYD1 TYXYD2 ENXND7 CBWND7
KBUF 1 4 BUFYD1 TYXND4 CLEND7 PBZND7
KBUF 1 4 BUFYD1 TYXND5 CLEND7 PBZND7
KBYZ 5 3 BLXYD1 GGWND7 RIWND7
KCAE 2 3 CAEYD1 GSPND7 CLXND7
KCAR 1 4 CBWYD1 GYXND7 CXXND7 TYXND7
KCHS 2 3 CLXYD1 LTXND7 CAEND7
KCLE 1 5 CLEYD1 BUFND4 LVEYD6 ILNND7 ERIND8
KCLE 1 5 CLEYD1 BUFND7 LVEYD6 ILNND7 ERIND8
KCRP 4 4 CRPYD1 EWXND7 DFXND7 HGXND7
KCTP 1 3 CCXYD1 LWXND4 BGMND7
KCTP 1 3 CCXYD1 LWXND5 BGMND7
KCYS 5 3 CYSYD1 RIWND7 UDXND7
KDDC 3 3 DDCYD1 GLDND7 ICTND7
KDLH 3 3 DLHYD1 MPXND7 MVXND7
@ -44,12 +44,12 @@ KEAX 3 4 EAXYD1 MCIYD6 LSXND7 TWXND7
KEHU 4 1 FWSND5
KEKA 6 3 BHXYD1 MAXND7 MUXND7
KEPZ 4 5 EPZYD1 HDXYD2 ABXND7 FDXND7 MAFND7
KEWX 4 4 EWXYD1 DFXYD2 CRPND7 BROND7
KEWX 4 5 EWXYD1 DFXYD2 GRKND5 CRPND7 BROND7
KFFC 2 7 FFCYD1 JGXYD2 ATLYD6 BMXND7 MXXND7 MRXND7 HTXND7
KFGF 3 4 MVXYD1 BISND7 MBXND7 DLHND7
KFGZ 5 5 FSXYD1 ICXND4 ESXND7 EYXND7 EMXND7
KFGZ 5 5 FSXYD1 ICXND5 ESXND7 EYXND7 EMXND7
KFSD 3 3 FSDYD1 ABRND7 OAXND7
KFWD 4 9 FWSYD1 GRKYD2 DYXND4 DALYD6 DFWYD6 SHVND7 TLXND7 FDRND7 VNXND7
KFWD 4 9 FWSYD1 GRKYD2 DYXND5 DALYD6 DFWYD6 SHVND7 TLXND7 FDRND7 VNXND7
KFWR 4 1 FWSND1
KGGW 5 3 GGWYD1 BLXND7 TFXND7
KGID 3 3 UEXYD1 OAXND7 LNXND7
@ -58,35 +58,35 @@ KGLD 3 3 GLDYD1 DDCND7 PUXND7
KGRB 3 3 GRBYD1 MKXND7 MQTND7
KGRR 3 3 GRRYD1 DTXND7 IWXND7
KGSP 2 4 GSPYD1 CLTYD6 CAEND7 FCXND7
KGYX 1 3 GYXYD1 CBWND7 BOXND7
KGYX 1 3 GYXYD1 BOXND5 CBWND7
KHGX 4 6 HGXYD1 IAHYD6 HOUYD6 LCHND7 POEND7 CRPND7
KHNX 6 4 HNXYD1 EYXND5 DAXND7 BBXND7
KHNX 6 4 HNXYD1 EYXND4 DAXND7 BBXND7
KHUN 4 5 HTXYD1 GWXND4 DGXND7 BMXND7 MXXND7
KICT 3 5 ICTYD1 VNXND4 ICHYD6 TWXND7 DDCND7
KICT 3 5 ICTYD1 VNXND5 ICHYD6 TWXND7 DDCND7
KILM 2 3 LTXYD1 CLXND7 MHXND7
KILN 1 6 ILNYD1 CVGYD6 DAYYD6 CMHYD6 JKLND7 CLEND7
KILX 3 3 ILXYD1 LOTND7 LSXND7
KIND 3 4 INDYD1 IDSYD6 IWXND7 LVXND7
KIWX 3 3 IWXYD1 INDND7 GRRND7
KJAN 4 5 DGXYD1 GWXYD2 MOBND4 HTXND7 SHVND7
KJAN 4 5 DGXYD1 GWXYD2 MOBND5 HTXND7 SHVND7
KJAX 2 5 JAXYD1 VAXYD2 TLHND7 EOXND7 BYXND7
KJKL 3 4 JKLYD1 ILNND7 RLXND7 LVXND7
KKEY 2 4 BYXYD1 AMXND5 JAXND7 VAXND7
KKRF 3 1 EAXND1
KLBF 3 3 LNXYD1 UDXND7 UEXND7
KLCH 4 5 LCHYD1 POEYD2 BROND7 HGXND7 LIXND7
KLIX 4 6 HDCYD1 MSYYD6 MOBND7 EVXND7 LCHND7 POEND7
KLIX 4 6 LIXYD1 MSYYD6 MOBND7 EVXND7 LCHND7 POEND7
KLKN 5 2 LRXYD1 RGXND7
KLMK 3 6 LVXYD1 PAHND5 SDFYD6 VWXND7 HPXND7 INDND7
KLMK 3 6 LVXYD1 SDFYD6 PAHND7 VWXND7 HPXND7 INDND7
KLOT 3 5 LOTYD1 ORDYD6 MDWYD6 ILXND7 MKXND7
KLOX 6 6 VTXYD1 VBXYD2 SOXND4 EYXND5 MUXND7 NKXND7
KLOX 6 6 VTXYD1 VBXYD2 SOXND5 EYXND4 MUXND7 NKXND7
KLSX 3 4 LSXYD1 STLYD6 SGFND7 ILXND7
KLUB 4 4 LBBYD1 AMAND7 SJTND7 DYXND7
KLWX 1 7 LWXYD1 BWIYD6 DCAYD6 IADYD6 ADWYD6 DIXND7 CCXND7
KLZK 4 4 LZKYD1 SRXND4 NQAND7 INXND7
KLZK 4 4 LZKYD1 SRXND5 NQAND5 INXND7
KMAF 4 5 MAFYD1 SJTND7 DYXND7 EPZND7 HDXND7
KMEG 4 7 NQAYD1 GWXND4 MEMYD6 LZKND7 OHXND7 PAHND7 SRXND7
KMFL 2 7 AMXYD1 BYXND4 FLLYD6 MIAYD6 PBIYD6 JUAND7 TBWND7
KMFL 2 7 AMXYD1 BYXND5 FLLYD6 MIAYD6 PBIYD6 JUAND7 TBWND7
KMFR 6 5 MAXYD1 BHXND7 ATXND7 LGXND7 RTXND7
KMHX 2 4 MHXYD1 AKQND7 DOXND7 LTXND7
KMKX 3 4 MKXYD1 MKEYD6 GRBND7 LOTND7
@ -94,22 +94,22 @@ KMLB 2 5 MLBYD1 MCOYD6 TBWND7 JUAND7 AMXND7
KMOB 4 5 MOBYD1 EVXYD2 LIXND7 TLHND7 EOXND7
KMPX 3 4 MPXYD1 MSPYD6 DLHND7 FSDND7
KMQT 3 3 MQTYD1 APXND7 GRBND7
KMRX 4 5 MRXYD1 HTXND4 OHXND7 FFCND7 JGXND7
KMRX 4 5 MRXYD1 HTXND5 OHXND7 FFCND7 JGXND7
KMSO 5 3 MSXYD1 TFXND7 OTXND7
KMSR 3 2 MPXND1 MSPND6
KMTR 6 6 MUXYD1 BHXND7 VTXND7 VBXND7 NKXND7 SOXND7
KOAX 3 3 OAXYD1 UEXND7 DMXND7
KOHX 4 6 OHXYD1 HTXND4 BNAYD6 MRXND7 NQAND7 GWXND7
KOHX 4 6 OHXYD1 HTXND5 BNAYD6 MRXND7 NQAND7 GWXND7
KOKX 1 5 OKXYD1 EWRYD6 JFKYD6 BOXND7 DIXND7
KORN 4 1 LIXND1
KOTX 6 3 OTXYD1 PDTND7 MSXND7
KOUN 4 8 TLXYD1 FDRYD2 VNXYD2 OKCYD6 INXND7 SRXND7 FWSND7 GRKND7
KOSF 4 3 CRIND1 TLXND5 OKCND6
KPAH 3 5 PAHYD1 VWXYD1 HPXYD2 LVXND4 SGFND7
KPAH 3 5 PAHYD1 VWXYD1 HPXYD2 LVXND7 SGFND7
KPBZ 1 4 PBZYD1 PITYD6 RLXND7 BUFND7
KPDT 6 3 PDTYD1 OTXND7 CBXND7
KPHI 1 5 DIXYD1 DOXND4 PHLYD6 LWXND7 OKXND7
KPIH 5 4 SFXYD1 MTXND4 CBXND7 ICXND7
KPHI 1 5 DIXYD1 DOXND5 PHLYD6 LWXND7 OKXND7
KPIH 5 4 SFXYD1 MTXND7 CBXND7 ICXND7
KPQR 6 4 RTXYD1 LGXND5 ATXND7 MAXND7
KPSR 5 5 IWAYD1 YUXYD1 PHXYD6 EMXND7 FSXND7
KPTR 6 1 RTXND1
@ -124,13 +124,13 @@ KRSA 6 1 DAXND1
KSEW 6 5 ATXYD1 LGXYD1 RTXND7 PDTND7 QKWND8
KSGF 3 5 SGFYD1 EAXND7 PAHND7 VWXND7 HPXND7
KSGX 6 6 NKXYD1 SOXYD1 EYXND5 VTXND7 VBXND7 HNXND7
KSHV 4 7 SHVYD1 LZKND4 FWSND7 GRKND7 DGXND7 GWXND7 SRXND7
KSHV 4 6 SHVYD1 FWSND7 GRKND7 DGXND7 GWXND7 SRXND7
KSJT 4 4 SJTYD1 DYXYD2 MAFND7 LBBND7
KSLC 5 5 ICXYD1 MTXYD1 GJXND4 SLCYD6 SFXND7
KSMG 4 4 EYXND4 HDXND4 HGXND4 MLBND4
KSLC 5 5 ICXYD1 MTXYD1 GJXND5 SLCYD6 SFXND7
KSMG 4 3 HDXND5 HGXND5 MLBND5
KSTO 6 4 DAXYD1 BBXYD2 HNXND7 RGXND7
KSTR 5 2 MTXND1 ICXND1
KTAE 2 6 TLHYD1 EOXYD2 EVXND4 JAXND7 VAXND7 MOBND7
KTAE 2 6 TLHYD1 EOXYD2 EVXND5 JAXND7 VAXND7 MOBND7
KTAR 1 1 BOXND1
KTBW 2 5 TBWYD1 TPAYD6 MLBND7 AMXND7 BYXND7
KTFX 5 3 TFXYD1 MSXND7 GGWND7
@ -148,8 +148,9 @@ PACR 8 7 ABCND7 AKCND7 AHGND7 AIHND7 APDND7 AECND7 ACGND7
PAFC 8 7 AHGYD3 AIHYD3 ABCYD3 AKCYD3 APDND7 AECND7 ACGND7
PAFG 9 7 AECYD3 APDYD3 AHGND7 AIHND7 ABCND7 AKCND7 ACGND7
PAJK 7 7 ACGYD3 AHGND7 AIHND7 ABCND7 AKCND7 APDND7 AECND7
PGUM 0 1 GUAYD1
PGUM 0 1 GUAYD2
PHFO 0 5 HKIYD3 HKMYD3 HMOYD3 HWAYD3 GUAND7
PPBP 0 5 HKIND7 HKMND7 HMOND7 HWAND7 GUAND7
PVRH 8 7 ACGND7 AHGND7 AIHND7 ABCND7 AKCND7 APDND7 AECND7
PVRH 8 10 KJKYD2 KSGYD2 ODNYD2 ACGND7 AHGND7 AIHND7 ABCND7 AKCND7 APDND7 AECND7
TJSJ 2 3 JUAYD3 SJUYD6 MLBND7

View file

@ -1,418 +0,0 @@
#!/awips2/python/bin/python3
#
# edexBridge.py
#
# SOFTWARE HISTORY
#
# Date Ticket# Engineer Description
# ------------- -------- ------------ ------------------------------------------
# Oct 08, 2009 brockwoo Initial creation
# Jun 21, 2013 bkowal Re-written to work with the qpid messaging
# api
# May 06, 2014 3102 rjpeter Updated to call cleanup if connect failed.
# Limit number of messages to be sent to
# QPID on a single send call
# Aug 05, 2014 3458 rjpeter Added logging of error when issue occurs
# on send
# Nov 04, 2014 2991 dlovely Updated to work with QPID 0.30
# Feb 23, 2017 6082 bsteffen Updated to work with ssl certificates
# Jul 17, 2018 7143 bsteffen Reopen log files on HUP
# Jul 23, 2018 7235 bsterren Split producer and consumer into two threads
# Jul 10, 2019 7724 mrichardson Upgrade Qpid to Qpid Proton
# Jul 10, 2019 7724 dgilling Simplify multithreading
# Nov 04, 2019 7969 dgilling Ported to python
# Jul 07, 2020 8187 randerso Added qpid connection_id
# Jul 29, 2021 8612 dgilling Added command line options for pqact's
# semaphore and shared memory segment
# key codes.
#Jan 01, 2024 tiffanym@ucar Change ufpy call to awips
import argparse
import ctypes
import ctypes.util
import datetime
import logging
import logging.handlers
import multiprocessing
import os
import pwd
import queue
import signal
import socket
import sys
import threading
import time
import proton
import proton.utils
import proton.reactor
from awips import UsageArgumentParser
# custom logging level
VERBOSE = 15
logging.addLevelName(VERBOSE, "VERBOSE")
logger = None
class edex_message(ctypes.Structure):
_fields_ = [("filename", ctypes.c_char*4096),
("ident", ctypes.c_char*256),]
def process_args():
DEFAULT_QPID_HOST = "localhost"
DEFAULT_QPID_PORT = 5672
DEFAULT_QPID_USER = "guest"
DEFAULT_CERT_PASSWORD = os.getenv("QPID_SSL_CERT_PASSWORD", "password")
DEFAULT_QPID_CERT_PATH = os.getenv("QPID_SSL_CERT_DB", os.path.join(pwd.getpwuid(os.getuid()).pw_dir,".qpid"))
DEFAULT_QPID_CERT_NAME = os.getenv("QPID_SSL_CERT_NAME", DEFAULT_QPID_USER)
DEFAULT_QPID_CERT_KEY = os.getenv("QPID_SSL_CERT_KEY_FILE", DEFAULT_QPID_USER)
DEFAULT_KEY_PROJ_ID = "R"
DEFAULT_SEMKEY_PROJ_ID = "e"
DESCRIPTION= (
"EDEX Bridge is used by the LDM to post data available messages to Qpid, which "
"alerts the EDEX Ingest server(s) that a file is ready for processing."
)
parser = UsageArgumentParser.UsageArgumentParser(prog="edexBridge", description=DESCRIPTION)
parser.add_argument("-s", "--server",
dest="broker_uri",
action="store",
default=DEFAULT_QPID_HOST,
metavar="SERVER",
help="specify hostname of qpid")
parser.add_argument("-p", "--port",
dest="port",
action="store",
type=int,
default=DEFAULT_QPID_PORT,
metavar="PORT",
help="specify port to connect to qpid")
parser.add_argument("-l", "--log",
dest="log_fname",
required=True,
action="store",
metavar="LOGFILE",
help="log to a specific file")
log_level_group = parser.add_mutually_exclusive_group()
log_level_group.add_argument("-v", "--verbose",
dest="log_level",
action="store_const",
const=VERBOSE,
default=logging.INFO,
help="explain what is being done")
log_level_group.add_argument("-x", "--debug",
dest="log_level",
action="store_const",
const=logging.DEBUG,
default=logging.INFO,
help="include extra logging, useful for debugging")
parser.add_argument("--ssl-cert-key-file",
dest="cert_key",
action="store",
default=DEFAULT_QPID_CERT_KEY,
metavar="NAME",
help="Key file used to verify the certificate")
parser.add_argument("--ssl-cert-db",
dest="cert_path",
action="store",
default=DEFAULT_QPID_CERT_PATH,
metavar="PATH",
help="Path to directory containing the certificate and key files")
parser.add_argument("--ssl-cert-name",
dest="cert_name",
action="store",
default=DEFAULT_QPID_CERT_NAME,
metavar="NAME",
help="Name of the certificate to use")
parser.add_argument("--ssl-cert-password",
dest="cert_password",
action="store",
default=DEFAULT_CERT_PASSWORD,
metavar="PASSWORD",
help="Password used to access the certificate")
parser.add_argument("--key-proj-id",
dest="key_proj_id",
action="store",
default=DEFAULT_KEY_PROJ_ID,
metavar="CHAR",
help="Key code for the pqact shared memory segment")
parser.add_argument("--sem-proj-id",
dest="semkey_proj_id",
action="store",
default=DEFAULT_SEMKEY_PROJ_ID,
metavar="CHAR",
help="Key code for the pqact semaphore")
args = parser.parse_args()
if len(args.key_proj_id) > 1:
parser.error("argument for --key-proj-id should be only a single character.")
if len(args.semkey_proj_id) > 1:
parser.error("argument for --sem-proj-id should be only a single character.")
return args
def init_logging(file, level):
logging.basicConfig(level=level,
format="%(asctime)s %(module)s[%(thread)d] %(levelname)s: %(message)s",
datefmt="%b %d %H:%M:%S",
handlers=[logging.handlers.WatchedFileHandler(file)])
# handlers=[logging.handlers.WatchedFileHandler(file), logging.StreamHandler()])
global logger
logger = logging.getLogger("edexBridge")
def send_to_qpid(host, port, cert_path, cert_name, key_name, cert_password, msg_queue, shutdown_signal):
url = f"amqps://{host}:{port}"
certfile = os.path.join(cert_path, f"{cert_name}.crt")
certkey = os.path.join(cert_path, f"{key_name}.key")
ssl_domain = proton.SSLDomain(mode=proton.SSLDomain.MODE_CLIENT)
ssl_domain.set_credentials(certfile, certkey, cert_password)
ADDRESS = "external.dropbox"
is_shutdown = False
messages_sent = 0
def print_sent_count():
nonlocal shutdown_signal, messages_sent
while True:
shutdown_signal.wait(60)
logger.info("Sent %d messages in the last 60 seconds.", messages_sent)
messages_sent = 0
if shutdown_signal.is_set():
return
print_thread = threading.Thread(target=print_sent_count)
print_thread.start()
clientID = ":".join([
socket.gethostname(),
pwd.getpwuid(os.getuid()).pw_name,
"edexBridge",
str(os.getpid()),
])
while True:
conn = None
sender = None
try:
if not is_shutdown:
is_shutdown = shutdown_signal.is_set()
if is_shutdown:
logger.info("Received shutdown signal.")
container = proton.reactor.Container()
container.container_id = clientID
conn = proton.utils.BlockingConnection(url, container=container, ssl_domain=ssl_domain)
sender = conn.create_sender(ADDRESS)
logger.info("Connected to broker [%s].", url)
while True:
try:
if not is_shutdown:
is_shutdown = shutdown_signal.is_set()
if is_shutdown:
logger.info("Received shutdown signal.")
msg_args = msg_queue.get(True, 1)
if msg_args:
logger.debug("Sending file [%s] to EDEX with header [%s].", msg_args["body"], msg_args["subject"])
msg = proton.Message(**msg_args)
msg.properties["enqueueTime"] = int(datetime.datetime.now().timestamp() * 1000)
sender.send(msg)
messages_sent += 1
except queue.Empty:
logger.debug("Send queue is empty.")
if is_shutdown:
if messages_sent:
logger.info("Sent remaining %d messages.", messages_sent)
logger.info("Send process shutting down.")
return
except proton.ProtonException:
logger.error("Send failed for file [%s].", msg_args["body"])
logger.warn("Lost connection to QPID broker.", exc_info=True)
msg_queue.put(msg_args)
break
except:
logger.exception("Send failed for file [%s].", msg_args["body"])
msg_queue.put(msg_args)
except proton.ProtonException:
logger.error("Failed to connect to QPID broker", exc_info=True)
if is_shutdown:
if msg_queue.qsize():
logger.warn("Exiting with %d unsent messages.", msg_queue.qsize())
return
finally:
try:
if conn:
logger.info("Disconnecting from broker.")
conn.close()
except proton.ProtonException:
logger.warn("Exception trying to close connection", exc_info=True)
time.sleep(30)
print_thread.join()
def queue_messages(start_index, end_index, message_pointer, msg_queue):
logger.debug("Preparing to queue %d messages.", (end_index - start_index))
for i in range(start_index, end_index):
file = message_pointer[i].filename.decode()
header = message_pointer[i].ident.decode()
msg_args = {"subject": header,
"body": file,
"durable": True,
"properties": {},
}
try:
msg_queue.put_nowait(msg_args)
except queue.Full:
logger.warning("Send queue is full. Discarding oldest messages.")
while True:
try:
msg_queue.get_nowait()
except queue.Empty:
pass
try:
msg_queue.put_nowait(msg_args)
except queue.Full:
continue
break
logger.debug("Queued message for file [%s] and WMO header [%s].", file, header)
def main():
args = process_args()
init_logging(args.log_fname, args.log_level)
logger.debug("Command-line args: %s", args)
MAX_QUEUE_SIZE = 100000
msg_queue = multiprocessing.Queue(MAX_QUEUE_SIZE)
shutdown_signal = threading.Event()
qpid_proc = threading.Thread(target=send_to_qpid,
args=(args.broker_uri, args.port, args.cert_path, args.cert_name,
args.cert_key, args.cert_password, msg_queue, shutdown_signal))
logger.info("Starting QPID container...")
qpid_proc.start()
libc = ctypes.util.find_library("c")
if not libc:
logger.critical("Unable to load libc.so.")
return 1
libc = ctypes.CDLL(libc, use_errno=True)
key = libc.ftok(b"/etc/rc.d/rc.local", ord(args.key_proj_id))
semkey = libc.ftok(b"/etc/rc.d/rc.local", ord(args.semkey_proj_id))
for i in range(5):
semid = libc.semget(semkey, 2, 0o666)
if semid != -1:
break
logger.warning("Could not attach to the semaphore created by pqact: %s", os.strerror(ctypes.get_errno()))
time.sleep(1)
else:
logger.critical("Could not attach to the semaphore created by pqact: %s", os.strerror(ctypes.get_errno()))
return 0
queue_size = libc.semctl(semid, 0, 12);
shmid = libc.shmget(key, ctypes.sizeof(edex_message) * queue_size, 0o666);
if shmid == -1:
logger.critical("Could not attach to the shared memory created by pqact: %s", os.strerror(ctypes.get_errno()))
return 0
libc.shmat.restype = ctypes.POINTER(edex_message)
messageCursor = libc.shmat(shmid, None, 0o10000)
done = False
def handle_SIGHUP(signal, frame):
# swallow this signal because it's no longer necessary to
# programmatically trigger the log rollover.
# logrotate.d and logging.WatchedFileHandler will do all the needed
# work
# still register for the signal just in case old configs are still
# sending it.
logger.log(VERBOSE, "Received SIGHUP.")
pass
signal.signal(signal.SIGHUP, handle_SIGHUP)
def handle_SIGINT(signal, frame):
nonlocal qpid_proc
logger.log(VERBOSE, "Received SIGINT.")
qpid_proc.terminate()
qpid_proc.join()
sys.exit(0)
signal.signal(signal.SIGINT, handle_SIGINT)
def handle_SIGTERM(signal, frame):
nonlocal done
logger.log(VERBOSE, "Received SIGTERM.")
done = True
signal.signal(signal.SIGTERM, handle_SIGTERM)
def handle_SIGUSR2(signal, frame):
logger.log(VERBOSE, "Received SIGUSR2.")
level = logger.getEffectiveLevel()
if logging.DEBUG == level:
logger.setLevel(logging.ERROR)
elif logging.INFO == level:
logger.setLevel(logging.DEBUG)
elif logging.ERROR == level:
logger.setLevel(logging.INFO)
signal.signal(signal.SIGUSR2, handle_SIGUSR2)
queue_start = 0
messages_sent = 0
start_tick = datetime.datetime.utcnow()
while not done:
end_tick = datetime.datetime.utcnow()
elapsed_seconds = (end_tick - start_tick).total_seconds()
if elapsed_seconds >= 60:
logger.info("Queued %d messages in the last %d seconds. Current queue size: %d",
messages_sent, elapsed_seconds, msg_queue.qsize())
messages_sent = 0
start_tick = datetime.datetime.utcnow()
queue_location = libc.semctl(semid, 1, 12)
queue_end = queue_location + 1
logger.debug("queue_location: %d, queue_end: %d, queue_start: %d", queue_location, queue_end, queue_start)
if queue_location < 0 or queue_end == queue_start:
logger.debug("No new messages to send.")
time.sleep(1)
else:
#
end_diff = 0
# Need to copy in the end of the queue before moving to front
if queue_start > queue_end:
if queue_start - queue_end < queue_size//2:
# Indicates a risk that the queue could wrap all the way
# around itself, missing messages.
logger.warn("Queue with size %d is wrapping from %d to %d.",
queue_size, queue_start, queue_end)
end_diff = queue_size - queue_start;
if end_diff > 0:
queue_messages(queue_start, queue_size, messageCursor, msg_queue)
messages_sent += (queue_size - queue_start);
queue_start = 0
queue_messages(queue_start, queue_end, messageCursor, msg_queue)
messages_sent += (queue_end - queue_start)
queue_start = queue_end
logger.log(VERBOSE, "Sending shutdown signal to secondary process.")
shutdown_signal.set()
logger.info("Stopped reading new messages, waiting for remaining messages to be sent.");
libc.shmdt(messageCursor)
qpid_proc.join(60)
if qpid_proc.is_alive():
logger.warn("QPID sender thread did not shutdown.")
qpid_proc.terminate()
qpid_proc.join()
logger.info("Shutting down.")
if __name__ == '__main__':
sys.exit(main())

View file

@ -1,17 +0,0 @@
#!/bin/bash
myPID=$$
echo -e "`date +%Y%m%d`\t`date +%H:%M:%S`\tStarting Script (pid = $myPID, parent = $PPID)" >> ~/logs/`basename $0 .sh`
if ps -wef|grep `basename $0` | grep -v grep | grep -v $myPID | grep -v $PPID
then
exit 0
fi
cd /data_store
while true
do
for _dir in `ls`
do
echo -e "`date +%Y%m%d`\t`date +%H:%M:%S`\t\tfind ${_dir} -mtime +0 -type f -exec rm -f {} \;" >> ~/logs/`basename $0 .sh`
find ${_dir} -mtime +0 -type f -exec rm -f {} \;
done
done

View file

@ -1,25 +0,0 @@
#!/bin/bash
# Check for necessary named pipes (FIFOs)
myhost=`hostname -s | cut -d- -f1`
echo "It seems like host(`hostname`) is NOT a downlink CP."
echo "Do you still want to start LDM (y/n) [default=n]?"
read ch
if [ $ch != 'y' -o $ch != 'Y' ];then
echo "Exiting."
exit 1
# Start LDM
su - ldm -c "ldmadmin start"
# Pass SIGUSR2 signal to pqact to enable logging into ldmd.log (INFO log level)
echo "Fetching pid for pqact process"
pid=`ps --no-headers -C pqact |awk '{print $1}'`
su - ldm -c "kill -s USR2 $pid"
echo "Done."

View file

@ -1,21 +0,0 @@
#!/bin/bash
if [ -f /etc/rc.config.d/AWIPS ];then
. /etc/rc.config.d/AWIPS
fi
#echo "Halting retransmission process"
#pid=`ps -ef |grep start_sbn_retransmit|grep -v grep | awk '{print $2}'`
#kill -s SIGKILL $pid
echo "Stopping ldm service"
su - ldm -c "ldmadmin stop"
echo "Releasing shared memory resources"
su - ldm -c "acq_ldm_freeshm -m0"
echo "Done."

View file

@ -450,10 +450,6 @@ NGRID ^[LM].Q... KWBR ...... !grib2/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{2})(
# - North American Mesoscale Forecast System (NAM) -
# --------------------------------------------------
#
# NAM AK data
NGRID ^[LM].S... KWBE ...... !grib2/ncep/NAM_84/#242/(............)(F...)/(.*)/.*
FILE -edex -close
/awips2/data_store/grid/AK-NAM/NAM_Alaska_\2_\3_\4_\5-(seq).grib2
# NAM CONUS 12 km (NAM12) - NOAAport
#
NGRID ^[LM].B... KWBE ...... !grib2/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*)

View file

@ -131,10 +131,6 @@ NGRID ^[LM].Q... KWBR ...... !grib2/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{2})(
# --------------------------------------------------
# - North American Mesoscale Forecast System (NAM) -
# --------------------------------------------------
# NAM AK data
NGRID ^[LM].S... KWBE ...... !grib2/ncep/NAM_84/#242/(............)(F...)/(.*)/.*
FILE -edex -close
/awips2/data_store/grid/AK-NAM/NAM_Alaska_\2_\3_\4_\5-(seq).grib2
#
# NAM CONUS 12 km (NAM12) - NOAAport
#

View file

@ -381,10 +381,6 @@ NGRID ^[LM].Q... KWBR ...... !grib2/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{2})(
# --------------------------------------------------
# - North American Mesoscale Forecast System (NAM) -
# --------------------------------------------------
# NAM AK data
NGRID ^[LM].S... KWBE ...... !grib2/ncep/NAM_84/#242/(............)(F...)/(.*)/.*
FILE -edex -close
/awips2/data_store/grid/AK-NAM/NAM_Alaska_\2_\3_\4_\5-(seq).grib2
#
# NAM CONUS 12 km (NAM12) - NOAAport
#