Compare commits
24 commits
unidata_20
...
unidata_20
Author | SHA1 | Date | |
---|---|---|---|
|
f00e1365ce | ||
|
cb5f57193e | ||
|
78e7642c3b | ||
|
c544dcf489 | ||
|
adce9fa91e | ||
|
ab20d25c11 | ||
|
59ffad96e3 | ||
|
258e1918c6 | ||
|
6e4195c7e0 | ||
|
5c7d5886fc | ||
|
5d75062015 | ||
|
f4f4677e24 | ||
|
7f5d1c530e | ||
|
cfdabb1efa | ||
|
c59f867f93 | ||
|
779da31a37 | ||
|
d29597cb55 | ||
|
94839a5b86 | ||
|
8eb349561d | ||
|
300f583fbc | ||
|
cc21e5bd9f | ||
|
944bc331be | ||
|
cf38c53a7c | ||
|
c6f795a622 |
4
.github/workflows/deploy_docs.yml
vendored
|
@ -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
|
||||
|
||||
|
|
7
.github/workflows/update_NDM-v20.yml
vendored
|
@ -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
|
||||
|
|
|
@ -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_
|
|
@ -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
|
||||
|
||||
|
|
@ -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/@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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 *
|
||||
* *
|
||||
* *
|
||||
**************************************************
|
||||
**************************************************
|
|
@ -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">
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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"/>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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".
|
||||
|
||||

|
||||
|
||||
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`.
|
||||
|
||||

|
||||
|
||||
|
||||
### 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:
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 |
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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).
|
||||
|
||||

|
||||
|
||||
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."
|
||||
|
||||

|
||||
|
||||
|
@ -38,18 +26,22 @@ 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
|
||||
FILE -close -edex /awips2/data_store/GOES/\4/\7/CIRA/GeoColor/\5\6\7\8.nc4
|
||||
|
@ -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μm) for each of the sectors.
|
||||
- Channel 1 (0.47μm)
|
||||
- Channel 2 (0.64μm)
|
||||
- Channel 3 (0.86μm)
|
||||
- Channel 4 (1.38μm)
|
||||
- Channel 5 (1.61μm)
|
||||
- Channel 6 (2.25μm)
|
||||
- Channel 7 (3.90μm)
|
||||
- Channel 8 (6.19μm)
|
||||
- Channel 9 (6.95μm)
|
||||
- Channel 10 (7.34μm)
|
||||
- Channel 11 (8.50μm)
|
||||
- Channel 12 (9.61μm)
|
||||
- Channel 13 (10.35μm)
|
||||
- Channel 14 (11.20μm)
|
||||
- Channel 15 (12.30μm)
|
||||
- Channel 16 (13.30μm)
|
||||
|
||||
### East CONUS
|
||||
### East CONUS 1km
|
||||
|
||||

|
||||
|
||||
### East Full Disk
|
||||
### East Full Disk 6km
|
||||
|
||||

|
||||
|
||||
|
@ -97,7 +70,7 @@ Two floating mesoscale sectors (location will vary day to day from image shown)
|
|||
|
||||

|
||||
|
||||
### West CONUS
|
||||
### West CONUS 1km
|
||||
|
||||

|
||||
|
||||
|
@ -115,6 +88,10 @@ Two floating mesoscale sectors (location will vary day to day from image shown)
|
|||
|
||||

|
||||
|
||||
### Hawaii
|
||||
|
||||

|
||||
|
||||
### Puerto Rico (PRREGI)
|
||||
|
||||

|
||||
|
@ -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
|
||||
|
||||

|
||||
|
||||
### Day Cloud Type
|
||||
|
||||

|
||||
|
||||
### Fire Temperature
|
||||
|
||||

|
||||
|
@ -153,10 +126,6 @@ RGB Composites are made by combining 3 channels (including derived parameter cal
|
|||
|
||||

|
||||
|
||||
### Day Fire
|
||||
|
||||

|
||||
|
||||
### VIS/IR Sandwich
|
||||
|
||||

|
||||
|
@ -165,19 +134,11 @@ RGB Composites are made by combining 3 channels (including derived parameter cal
|
|||
|
||||

|
||||
|
||||
### Day Rocket Plume
|
||||
|
||||

|
||||
|
||||
### Night Rocket Plume
|
||||
|
||||

|
||||
|
||||
### Air Mass
|
||||
|
||||

|
||||
|
||||
### Ash
|
||||
### Ash
|
||||
|
||||

|
||||
|
||||
|
@ -229,21 +190,17 @@ RGB Composites are made by combining 3 channels (including derived parameter cal
|
|||
|
||||

|
||||
|
||||
|
||||
>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 μm)
|
||||
* Split Cloud Top Phase (11.2 - 8.4 μm)
|
||||
* Night Fog (10.3 - 2.9 μm)
|
||||
* Night Fog (11.2 - 2.9 μm)
|
||||
* Day Fog (3.9 - 10.3 μm)
|
||||
* Split Fire (2.2 - 1.6 μm)
|
||||
* Split Ozone (9.6 - 10.3 μm)
|
||||
|
@ -252,84 +209,69 @@ These are the channel differences currently available in CAVE:
|
|||
* Vegetation (0.64 - 0.87 μm)
|
||||
* Upper Level Info (11.2 - 6.19 μ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.
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

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

|
||||
|
||||
|
@ -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).
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## 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
|
|
@ -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**.
|
||||
|
||||
|
|
|
@ -18,10 +18,6 @@ Uninstall with yum:
|
|||
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:
|
||||
|
||||
|
@ -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
|
||||
|
|
Before Width: | Height: | Size: 105 KiB |
Before Width: | Height: | Size: 1.5 MiB |
Before Width: | Height: | Size: 1.4 MiB |
Before Width: | Height: | Size: 1.5 MiB |
Before Width: | Height: | Size: 1.6 MiB |
Before Width: | Height: | Size: 1.6 MiB |
Before Width: | Height: | Size: 512 KiB |
Before Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 1.4 MiB |
Before Width: | Height: | Size: 796 KiB |
Before Width: | Height: | Size: 1.8 MiB |
Before Width: | Height: | Size: 1.4 MiB |
Before Width: | Height: | Size: 1,007 KiB |
Before Width: | Height: | Size: 788 KiB |
Before Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 833 KiB |
Before Width: | Height: | Size: 457 KiB |
Before Width: | Height: | Size: 578 KiB |
Before Width: | Height: | Size: 1.5 MiB |
Before Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 2.2 MiB |
Before Width: | Height: | Size: 1.8 MiB |
Before Width: | Height: | Size: 1.8 MiB |
Before Width: | Height: | Size: 1.4 MiB |
Before Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 157 KiB |
Before Width: | Height: | Size: 125 KiB |
Before Width: | Height: | Size: 76 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 374 KiB |
Before Width: | Height: | Size: 549 KiB |
Before Width: | Height: | Size: 513 KiB |
Before Width: | Height: | Size: 150 KiB |
Before Width: | Height: | Size: 286 KiB |
Before Width: | Height: | Size: 336 KiB |
Before Width: | Height: | Size: 509 KiB |
Before Width: | Height: | Size: 108 KiB |
Before Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 202 KiB |
|
@ -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.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
|
|
@ -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,8 +28,8 @@ 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
|
||||
- At least 2GB Disk Space for Caching
|
||||
|
@ -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
|
||||
|
||||
|
||||

|
||||

|
||||
|
||||
#### Upgrade Existing Installation
|
||||
|
||||
|
@ -137,27 +139,26 @@ 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:
|
||||

|
||||
|
||||
- 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"**.
|
||||
|
||||

|
||||
|
||||
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
|
||||
|
||||
Once inside the VM, to run CAVE either:
|
||||
|
||||
- Use the desktop icon
|
||||
- Use the desktop icon
|
||||
- Use the terminal and type the command `cave`
|
||||
- Find the application in the Linux Desktop menu: Applications > Internet > AWIPS 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)
|
||||

|
||||
- 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></center>
|
||||

|
||||
|
||||
---
|
||||
|
||||
|
@ -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**
|
||||
|
||||
|
@ -248,4 +254,18 @@ 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>.
|
||||
|
|
|
@ -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:
|
||||
```
|
||||
|
|
|
@ -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
|
||||
|
||||
---
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||
|
||||
8. Complete the rest of the verification and then you'll be able to download the installer.
|
|
@ -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 © 2025 NSF Unidata Program Center.
|
||||
copyright: Copyright © 2023 NSF Unidata Program Center.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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())
|
|
@ -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
|
|
@ -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."
|
||||
|
|
@ -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."
|
||||
|
|
@ -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})/([^/]*)
|
||||
|
|
|
@ -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
|
||||
#
|
||||
|
|
|
@ -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
|
||||
#
|
||||
|
|