Merge branch 'unidata_18.1.1' of github.com:Unidata/awips2 into unidata_18.1.1-osx

This commit is contained in:
Michael James 2019-03-20 13:44:12 -06:00
commit 2100ea30ac
21 changed files with 128 additions and 212 deletions

View file

@ -1,6 +1,6 @@
FROM unidata/awips-devel:el6
ENV VERSION 18.1.1
ENV RELEASE 1
ENV RELEASE 6
MAINTAINER Michael James <mjames@ucar.edu>
USER root

View file

@ -1,6 +1,6 @@
FROM unidata/awips-devel:el7
ENV VERSION 18.1.1
ENV RELEASE 1
ENV RELEASE 6
MAINTAINER Michael James <mjames@ucar.edu>
USER root

View file

@ -1,6 +1,6 @@
FROM centos:6
ENV VERSION 18.1.1
ENV RELEASE 1
ENV RELEASE 6
MAINTAINER Michael James <mjames@ucar.edu>
USER root
@ -10,11 +10,11 @@ RUN yum groupinstall "Development tools" -y
RUN yum install epel-release -y
RUN yum clean all -y
ENV systemDeps="wget rsync git net-tools"
ENV rpmDeps="gcc gcc-c++ rpm-build readline-devel createrepo"
ENV systemDeps="wget rsync git net-tools gzip libtool"
ENV rpmDeps="gcc gcc-c++ glibc-devel rpm-build readline-devel createrepo"
ENV qpidDeps="boost-devel cmake make ruby libuuid-devel"
ENV pythonDeps="tk-devel tcl-devel atlas-devel compat-libf2c-34 libgfortran geos-devel libpng-devel freetype"
ENV awipsDeps="netcdf netcdf-devel hdf5-devel lzo-devel bzip2-devel qt-devel"
ENV awipsDeps="netcdf netcdf-devel hdf5-devel lzo-devel bzip2-devel qt-devel xz-devel"
ENV httpDeps="autoconf findutils libselinux-devel libxml2-devel lua-devel openldap-devel openssl-devel pcre-devel pkgconfig perl zlib-devel apr-util-devel apr-devel"
RUN yum install $systemDeps $rpmDeps $qpidDeps $pythonDeps $awipsDeps $httpDeps -y

View file

@ -1,6 +1,6 @@
FROM centos:7
ENV VERSION 18.1.1
ENV RELEASE 1
ENV RELEASE 6
MAINTAINER Michael James <mjames@ucar.edu>
USER root
@ -11,11 +11,11 @@ RUN yum groupinstall "Development tools" -y
RUN yum install epel-release -y
RUN yum clean all -y
ENV systemDeps="wget rsync git net-tools"
ENV rpmDeps="gcc gcc-c++ rpm-build readline-devel createrepo"
ENV systemDeps="wget rsync git net-tools gzip libtool"
ENV rpmDeps="gcc gcc-c++ glibc-devel rpm-build readline-devel createrepo"
ENV qpidDeps="boost-devel cmake make ruby libuuid-devel"
ENV pythonDeps="tk-devel tcl-devel atlas-devel compat-libf2c-34 libgfortran geos-devel libpng-devel freetype"
ENV awipsDeps="netcdf netcdf-devel hdf5-devel lzo-devel bzip2-devel qt-devel"
ENV awipsDeps="netcdf netcdf-devel hdf5-devel lzo-devel bzip2-devel qt-devel xz-devel"
ENV httpDeps="autoconf findutils libselinux-devel libxml2-devel lua-devel openldap-devel openssl-devel pcre-devel pkgconfig perl zlib-devel apr-util-devel apr-devel"
RUN yum install $systemDeps $rpmDeps $qpidDeps $pythonDeps $awipsDeps $httpDeps -y

View file

@ -20,4 +20,4 @@ sudo docker build -t unidata/${img} -f Dockerfile.${img}.${os_version} .
dockerID=$(sudo docker images | grep ${img} | grep latest | awk '{print $3}' | head -1 )
sudo docker tag $dockerID unidata/${img}:${os_version}
sudo docker rmi unidata/${img}:latest
#sudo docker push unidata/${img}
sudo docker push unidata/${img}

View file

@ -1,6 +1,6 @@
[awips2repo]
name=AWIPS II Repository
baseurl=http://www.unidata.ucar.edu/repos/yum/el6-dev/
baseurl=https://www.unidata.ucar.edu/repos/yum/el6-dev/
enabled=1
protect=0
gpgcheck=0

View file

@ -1,7 +1,7 @@
#!/bin/bash
# Version
export AWIPSII_VERSION="18.1.1"
export AWIPSII_RELEASE="5"
export AWIPSII_RELEASE="6"
# Author
export AWIPSII_BUILD_VENDOR="UCAR"
export AWIPSII_BUILD_SITE="Unidata"

View file

@ -31,7 +31,6 @@
# Aug 03, 2015 #4694 dlovely Logback will now add user.home to LOGDIR
# Sep 17, 2015 #4869 bkowal Read dynamic AlertViz version information at startup.
# Oct 05, 2015 #4869 bkowal Fix AlertViz argument ordering
# Feb 15, 2017 6025 tgurney Force use of GTK2
#
user=`/usr/bin/whoami`
@ -156,7 +155,7 @@ function deleteEclipseConfigurationDir()
function createEclipseConfigurationDir()
{
local d dir id=$(hostname)-$(whoami)
for d in "/local/cave-eclipse/" "$HOME/.cave-eclipse/"; do
for d in "$HOME/caveData/cave-eclipse/" "$HOME/caveData/.cave-eclipse/"; do
if [[ $d == $HOME/* ]]; then
mkdir -p "$d" || continue
fi
@ -200,9 +199,6 @@ if [ -f ${dir}/awipsVersion.txt ]; then
IFS=${prevIFS}
fi
# Force GTK2
export SWT_GTK3=0
#run a loop for alertviz
count=0
while [ $exitVal -ne 0 -a $count -lt 10 ]

View file

@ -41,7 +41,6 @@
# Apr 28, 2016 #5609 bkowal Specify the location of the java.io.tmpdir as a jvm arg.
# Nov 3, 2016 19508 Qinglu Lin Export proper TEXTWS if no matching XT in XT_WORKSTATIONS for LX.
# Jan 26, 2017 6092 randerso Add export for PROGRAM_NAME
# Feb 6, 2017 #6025 tgurney Force use of GTK2
# Nov 07, 2017 6516 randerso Use correct ini file for gfeClient
# Apr 23, 2018 6351 mapeters Fix looking up of ini file
#
@ -101,28 +100,8 @@ fi
export apps_dir=${HYDRO_APPS_DIR}
SWITCHES=($SWITCHES)
TESTCHECK="$TMCP_HOME/bin/getTestMode"
if [ -x ${TESTCHECK} ]; then
echo "Calling getTestMode()"
${TESTCHECK}
status=${?}
if [ $status -eq 11 ]; then
MODE="TEST"
SWITCHES+=(-mode TEST)
elif [ $status -eq 12 ];then
MODE="PRACTICE"
SWITCHES+=(-mode PRACTICE)
elif [ $status -eq 15 ];then
MODE="OPERATIONAL"
SWITCHES+=(-mode OPERATIONAL)
else
MODE="OPERATIONAL (no response)"
fi
echo "getTestMode() returned ${MODE}"
else
MODE="UNKNOWN"
echo "getTestMode() not found - going to use defaults"
fi
MODE="PRACTICE"
SWITCHES+=(-mode PRACTICE)
VERSION_ARGS=()
if [ -f ${CAVE_INSTALL}/awipsVersion.txt ]; then
@ -134,22 +113,15 @@ if [ -f ${CAVE_INSTALL}/awipsVersion.txt ]; then
IFS=${prevIFS}
fi
TEXTWS=`hostname | sed -e 's/lx/xt/g'`
if [[ $XT_WORKSTATIONS != *$TEXTWS* ]]
then
TEXTWS=`hostname`
fi
TEXTWS=`hostname`
export TEXTWS
hostName=`hostname -s`
if [[ -z "$PROGRAM_NAME" ]]
then
if [[ -z "$PROGRAM_NAME" ]]; then
export PROGRAM_NAME="cave"
fi
if [[ "${PROGRAM_NAME}" == "gfeclient" || "${PROGRAM_NAME}" == "gfeClientServer" ]]
then
if [[ "${PROGRAM_NAME}" == "gfeclient" || "${PROGRAM_NAME}" == "gfeClientServer" ]]; then
export CAVE_INI_ARG="--launcher.ini /awips2/cave/cave.ini"
else
lookupINI "$@"
@ -183,15 +155,6 @@ if [[ -z $IGNORE_NUM_CAVES ]]; then
memOfLaunchingCave=$(($memOfLaunchingCave / $BYTES_IN_MB))
_totalRunningMem=$(($_totalRunningMem / $BYTES_IN_MB))
getPidsOfMyRunningCaves
memMsg="$_numPids CAVE applications already running with a combined max memory of ${_totalRunningMem}MB. "
memMsg+="The requested application has a max memory requirement of ${memOfLaunchingCave}MB. "
memMsg+="Starting may impact system performance and stability.\n\nProceed?"
zenity --question --title "Low Available Memory for Application" --text "$memMsg"
cancel="$?"
if [[ "$cancel" == "1" ]]; then
exit
fi
fi
fi
@ -245,9 +208,6 @@ export LOGFILE_STARTUP_SHUTDOWN="$FULL_LOGDIR/${PROGRAM_NAME}_${pid}_${curTime}_
createEclipseConfigurationDir
TMP_VMARGS="--launcher.appendVmargs -vmargs -Djava.io.tmpdir=${eclipseConfigurationDir}"
# Force GTK2
export SWT_GTK3=0
# At this point fork so that log files can be set up with the process pid and
# this process can log the exit status of cave.
(
@ -256,7 +216,7 @@ export SWT_GTK3=0
touch ${LOGFILE_STARTUP_SHUTDOWN}
fi
# remove "-noredirect" flag from command-line if set so it doesn't confuse any
# remove "-noredirect" flag from command-line if set so it does not confuse any
# commands we call later.
redirect="true"
USER_ARGS=()

View file

@ -46,6 +46,7 @@
# Aug 09, 2016 ASM#18911 D. Friedman Add minimum purge period of 24 hours. Use a lock file to prevent
# simultaneous purges. Allow override of days to keep.
# Jan 26,2017 #6092 randerso return exitCode so it can be propagated back to through the calling processes
# Apr 17, 2018 M. James Cleanup for containerization
########################
source /awips2/cave/iniLookup.sh
@ -417,9 +418,7 @@ function deleteOldCaveLogs()
# Purge the old logs.
local n_days_to_keep=${CAVE_LOG_DAYS_TO_KEEP:-30}
echo -e "Cleaning consoleLogs: "
echo -e "find $logdir -type f -name "*.log" -mtime +$n_days_to_keep | xargs rm "
find "$logdir" -type f -name "*.log" -mtime +"$n_days_to_keep" | xargs rm
find "$logdir" -type f -name "*.log" -mtime +"$n_days_to_keep" | xargs -r rm
# Record the last purge time and remove the lock file.
echo $(date +%s) > "$last_purge_f"
@ -436,7 +435,7 @@ function deleteOldEclipseConfigurationDirs()
local save_IFS=$IFS
IFS=$'\n'
# Find directories that are owned by the user and older than one hour
local old_dirs=( $(find "$tmp_dir" -mindepth 1 -maxdepth 1 -type d -user "$USER" -mmin +60) )
local old_dirs=( $(find "$tmp_dir" -mindepth 1 -maxdepth 1 -type d -user "$(whoami)" -mmin +60) )
IFS=$save_IFS
if (( ${#old_dirs[@]} < 1 )); then
return
@ -473,7 +472,7 @@ function deleteEclipseConfigurationDir()
function createEclipseConfigurationDir()
{
local d dir id=$(hostname)-$(whoami)
for d in "/local/cave-eclipse/" "$HOME/.cave-eclipse/"; do
for d in "$HOME/caveData/.cave-eclipse/"; do
if [[ $d == $HOME/* ]]; then
mkdir -p "$d" || continue
fi
@ -486,7 +485,7 @@ function createEclipseConfigurationDir()
fi
done
echo "Unable to create a unique Eclipse configuration directory. Will proceed with default." >&2
export eclipseConfigurationDir=$HOME/.cave-eclipse
export eclipseConfigurationDir=$HOME/caveData/.cave-eclipse
return 1
}

2
dist/comps.xml vendored
View file

@ -11,7 +11,6 @@
<packagereq type="default">awips2-eclipse</packagereq>
<packagereq type="default">awips2-ant</packagereq>
<packagereq type="default">awips2-groovy</packagereq>
<packagereq type="default">awips2-ldm</packagereq>
<packagereq type="default">awips2-python</packagereq>
<packagereq type="default">awips2-python-cython</packagereq>
<packagereq type="default">awips2-python-dateutil</packagereq>
@ -45,7 +44,6 @@
<packagereq type="default">awips2-qpid-java-broker</packagereq>
<packagereq type="default">awips2-qpid-lib</packagereq>
<packagereq type="default">awips2-localization</packagereq>
<packagereq type="default">awips2-ldm</packagereq>
<packagereq type="default">awips2-tools</packagereq>
<packagereq type="default">awips2-maps-database</packagereq>
<packagereq type="default">awips2-data.hdf5-topo</packagereq>

View file

@ -143,7 +143,7 @@
#$=============================================================================
#$ This section contains the tokens whose values are different between the
#$ development and the delivery tree. The value give is the development
#$ development and the delivery tree. The value given is the development
#$ value. The commented value is the delivery value. The uncommented value
#$ is in the development tree. All of these tokens must be enclosed
#$ by the AWIPS_MODIFICATION_BLOCK_BEGIN and AWIPS_MODIFICATION_BLOCK_END
@ -155,7 +155,7 @@ apps_dir : $(SHARE_DIR)/hydroapps # Hydrologic applications director
data_archive_root : /awips2/data_store # root directory of the data archive
mcp3_icp_iface : $(HOME)/mcp3_ntrfc
#mcp3_icp_iface : $(HOME)/mcp3_ntrfc
#mcp3_icp_iface : /tmp/$(LOGNAME)/mcp3_ntrfc
verify_dir : $(apps_dir)/rfc/verify #base verify directory

View file

@ -9,11 +9,6 @@
#
# awips2-cave Spec File
#
# Note: an upgrade prevention check has been added to the %pre section to ensure that
# this RPM cannot be upgraded. Upgrading this RPM will completely corrupt all of the CAVE
# rcp configuration information. So, a completely re-installation of this RPM and subsequently
# all of CAVE is required whenever an updated version of this RPM is released.
#
%define __prelink_undo_cmd %{nil}
# Turn off the brp-python-bytecompile script
%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g')
@ -209,7 +204,6 @@ if [ -d /awips2/cave ]; then
fi
%postun
rm -rf /awips2/cave
%pre

View file

@ -25,7 +25,6 @@ Packager: %{_build_site}
AutoReq: no
provides: %{_component_name}
Requires: wget unzip bc
Obsoletes: awips2-edex-upc
%description
%{_component_desc}

View file

@ -55,7 +55,7 @@ IP=`/sbin/ifconfig $usedev | grep -v "inet6" | grep "inet" | awk '{ print $2 }'
# truncate
IP_CIDR="${IP%.*}"
YMD=`date '+%Y%m%d'`
YMD=`date '+%Y%m%d' -u`
args=("$@")

View file

@ -1,4 +1,4 @@
%define _ldm_version 6.13.6
%define _ldm_version 6.13.7
%define _ldm_src_tar ldm-%{_ldm_version}.tar.gz
# ldm-%{_ldm_version}.tar.gz is tarred up ldm-%{_ldm_version}/src dir after
# ISG makes retrans changes
@ -74,45 +74,24 @@ _ldm_destination_source=${_ldm_destination}/SOURCES
_Installer_ldm=%{_baseline_workspace}/rpms/awips2.upc/Installer.ldm
_ldm_root_dir=/awips2/ldm
_ldm_build_bin=%{_build_root}/awips2/ldm/bin
_edex_bin=%{_build_root}/awips2/edex/bin
/bin/mkdir -p ${_ldm_build_bin}
/bin/mkdir -p ${_edex_bin}
cd ${_Installer_ldm}/src
#g++ edexBridge.cpp -I${_ldm_root_dir}/src/pqact \
# -I${_ldm_root_dir}/include \
# -I${_ldm_root_dir}/src \
# -I/awips2/qpid/include \
# -L${_ldm_root_dir}/lib \
# -L/awips2/qpid/lib \
# -l ldm -l xml2 -l qpidclient -l qpidmessaging -l qpidcommon -l qpidtypes -o edexBridge
#if [ $? -ne 0 ]; then
# echo "FATAL: failed to build edexBridge"
# exit 1
#fi
#/bin/mv edexBridge ${_ldm_build_bin}/edexBridge
#if [ $? -ne 0 ]; then
# echo "FATAL: failed to move edexBridge to ldm bin directory"
# exit 1
#fi
# copy the ldm source to the destination directory.
/bin/cp ${_Installer_ldm}/src/%{_ldm_src_tar} ${_ldm_destination_source}
if [ $? -ne 0 ]; then
exit 1
fi
cd %{_baseline_workspace}
/bin/cp ${_Installer_ldm}/src/edexBridge.cpp ${_ldm_destination_source}
if [ $? -ne 0 ]; then
exit 1
fi
#
if [[ $(uname -r |grep el6) ]];then
cp ${_Installer_ldm}/edexBridge.el6 ${_edex_bin}/edexBridge
elif [[ $(uname -r |grep el7) ]];then
cp ${_Installer_ldm}/edexBridge.el7 ${_edex_bin}/edexBridge
fi
#_edex_bin=%{_build_root}/awips2/edex/bin
#/bin/mkdir -p ${_edex_bin}
#if [[ $(uname -r |grep el6) ]];then
# cp ${_Installer_ldm}/edexBridge.el6 ${_edex_bin}/edexBridge
#elif [[ $(uname -r |grep el7) ]];then
# cp ${_Installer_ldm}/edexBridge.el7 ${_edex_bin}/edexBridge
#fi
# Create patch tar files
cd ${_Installer_ldm}/patch
@ -166,8 +145,6 @@ fi
%post
_ldm_dir=/awips2/ldm
_ldm_root_dir=${_ldm_dir}/ldm-%{_ldm_version}
_myHost=`hostname`
_myHost=`echo ${_myHost} | cut -f1 -d'-'`
# Remove old ldm dir
rm -rf ${_ldm_root_dir}
@ -192,10 +169,9 @@ if [ $? -ne 0 ]; then
exit 1
fi
# Fix libtool incompatibility in source tar ball
rm -f libtool
ln -s /usr/bin/libtool libtool
make LDMHOME=/awips2/ldm > make.log 2>&1
make install LDMHOME=/awips2/ldm > install.log 2>&1
#rm -f libtool
#ln -s /usr/bin/libtool libtool
make install LDMHOME=/awips2/ldm
if [ $? -ne 0 ]; then
echo "FATAL: make install has failed!"
exit 1
@ -225,26 +201,22 @@ do
done
/bin/chmod a+x ${_ldm_dir}/bin/*
#cd ../edexBridge
#if [ $? -ne 0 ]; then
# exit 1
#fi
#g++ edexBridge.cpp -I${_ldm_root_dir}/src/pqact \
# -I${_ldm_root_dir}/include \
# -I${_ldm_root_dir}/src \
# -I/awips2/qpid/include \
# -L${_ldm_root_dir}/lib \
# -L/awips2/qpid/lib \
# -l ldm -l xml2 -l qpidclient -l qpidmessaging -l qpidcommon -l qpidtypes -o edexBridge
#if [ $? -ne 0 ]; then
# echo "FATAL: failed to build edexBridge!"
# exit 1
#fi
#/bin/mv edexBridge ${_ldm_dir}/bin/edexBridge
#if [ $? -ne 0 ]; then
# echo "FATAL: failed to move edexBridge to ldm bin directory!"
# exit 1
#fi
g++ edexBridge.cpp -I${_ldm_root_dir}/src/pqact \
-I${_ldm_root_dir}/include \
-I${_ldm_root_dir}/src \
-I/awips2/qpid/include \
-L${_ldm_root_dir}/lib \
-L/awips2/qpid/lib \
-l ldm -l xml2 -l qpidclient -l qpidmessaging -l qpidcommon -l qpidtypes -o edexBridge
if [ $? -ne 0 ]; then
echo "FATAL: failed to build edexBridge!"
exit 1
fi
/bin/mv edexBridge ${_ldm_dir}/bin/edexBridge
if [ $? -ne 0 ]; then
echo "FATAL: failed to move edexBridge to ldm bin directory!"
exit 1
fi
cd ..
/sbin/ldconfig > /dev/null 2>&1
@ -287,6 +259,6 @@ rm -rf ${RPM_BUILD_ROOT}
/awips2/ldm/SOURCES/*
%attr(755,root,root) /etc/init.d/edex_ldm
%attr(600,awips,fxalpha) /var/spool/cron/awips
%attr(755,awips,fxalpha) /awips2/edex/bin/edexBridge
#%attr(755,awips,fxalpha) /awips2/edex/bin/edexBridge
%attr(755,root,root) /etc/ld.so.conf.d/awips2-ldm.conf
%attr(755,root,root) /etc/logrotate.d/ldm.log

View file

@ -251,10 +251,6 @@ HDS ^(JSM[TLF]..) (KWN[OH]) (..)(..)(..)
HDS ^(IUS(Z[0-9]|Y4)[0-9]) ([A-Z]{4}) (..)(..)(..)
FILE -overwrite -close -edex
/awips2/data_store/bufrua/\1_\3_\4\5\6_(seq).bufr
# bufrNCWF
HDS ^(JSAT98) (KKCI) (..)(..)(..)
FILE -overwrite -close -edex
/awips2/data_store/bufrncwf/\1_\2_\3\4\5_(seq).bufr
# bufrSIGWX
HDS ^(JU[BCFJMNOTVW]E(00|9[679])) KKCI (..)(..)(..)
FILE -overwrite -close -edex
@ -791,12 +787,6 @@ NGRID ^([LM][ABCDFGH]U...) (KWBN) (..)(..)(..)[^!]*!(grib|grib2)/[^/]*/([^/]*)/#
FILE -edex -close
/awips2/data_store/grid/HPCGuide/GRID\8/HPCGuide_GRID\8_\(10)Z_\(11)_\(12)-\1_\2_\3\4\5-(seq).grib2
#
# National Convective Weather Detection (NCWD)
#
ANY ^ZDIA98 (....) ......[^!]*!grib.*/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})/(F[0-9]{3})
FILE -edex -close
/awips2/data_store/grid/NCWD/NCWD_\2_\3_\4_\1-(seq).grib
#
# National Operational Hydrologic Remote Sensing Center Snow Analysis (NOHRSC-SNOW)
#
HDS ^[YZ][ES]QA88 KMSR ......[^!]*!grib.*/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*)
@ -890,9 +880,9 @@ NGRID ^(Y.UZ9[0-9]) (KWB.) (..)(..)(..)
#
# ECMF-Global, ECMF1..ECMF12
#
#HDS ^H..... ECM. ......[^!]*!grib.*/[^/]*/[^/]*/#([^/]*)/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*)
# FILE -edex -close
# /awips2/data_store/grid/ECMWF/ECMWF-\1_\2_\3_\4_\5-(seq).grib
HDS ^H..... ECM. ......[^!]*!grib.*/[^/]*/[^/]*/#([^/]*)/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*)
FILE -edex -close
/awips2/data_store/grid/ECMWF/ECMWF-\1_\2_\3_\4_\5-(seq).grib
#
# ---------------------------------------------------
# - National Precipitation Verification Unit (NPVU) -
@ -906,22 +896,22 @@ NGRID ^(Y.UZ9[0-9]) (KWB.) (..)(..)(..)
#
# Climate Forecast System Downscaled Numerical Guidance (CFS-DNG)
#
#HDS ^Z[ET]CZ98 KWBF ......[^!]*!grib2/ncep/CFS/#[^/]*/(............)(....)/([^/]*)
# FILE -edex -close
# /awips2/data_store/grid/CFS/CFS-\1\2_\3-(seq).grib2
HDS ^Z[ET]CZ98 KWBF ......[^!]*!grib2/ncep/CFS/#[^/]*/(............)(....)/([^/]*)
FILE -edex -close
/awips2/data_store/grid/CFS/CFS-\1\2_\3-(seq).grib2
#
# Automated Satellite Precipitation Estimates from NESDIS (hourly) (AUTOSPE)
# also called the Global Hydro-Estimator (GHE)
#
HDS ^ZETA9. KNES ......[^!]*!grib.*/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})/([^/]*)/([^/]*)
FILE -edex -close
/awips2/data_store/grid/AUTOSPE/AUTOSPE-\1\2_\3_\4-(seq).grib2
HDS ^(ZETA9.) KNES (......)
FILE -edex -close
/awips2/data_store/grid/AUTOSPE/AUTOSPE_\1_\2.grib2
#
# River Forecast Center (RFC) Quantitative Precipitation Estimation (QPE)
#
HDS ^ZETA98 (KTUA|PACR|KSTR|KRSA|KORN|KRHA|KKRF|KMSR|KTAR|KPTR|KTIR|KALR|KFWR) ......[^!]*!(grib|grib2)/[^/]*/([^/]*)/#255/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*)
FILE -edex -close
/awips2/data_store/grid/QPE-RFC/QPE-RFC-\1_\3_\4_\5_\6_\7-(seq).grib
#HDS ^ZETA98 (KTUA|PACR|KSTR|KRSA|KORN|KRHA|KKRF|KMSR|KTAR|KPTR|KTIR|KALR|KFWR) ......[^!]*!(grib|grib2)/[^/]*/([^/]*)/#255/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*)
# FILE -edex -close
# /awips2/data_store/grid/QPE-RFC/QPE-RFC-\1_\3_\4_\5_\6_\7-(seq).grib
#
# ======================================
# = Ocean Models available on the IDD =
@ -929,9 +919,9 @@ HDS ^ZETA98 (KTUA|PACR|KSTR|KRSA|KORN|KRHA|KKRF|KMSR|KTAR|KPTR|KTIR|KALR|KFWR) .
#
# WAVE 233 Grid - Global NOAA WAVEWATCH III (WaveWatch)
# OPJA88 KWBJ /mNOW !grib/ncep/NOW/ #233/ 201603110000/ F 000/ DIRSW/sfc/
#HDS ^O.J.88 KWBJ.*!grib/ncep/[^/]*/#[^/]*/(............)/F(...)/(.*)/(.*)/
# FILE -edex -close
# /awips2/data_store/grid/WAVE-HDS-WaveWatch/WaveWatch_\1_F\2_\3_\4_%H%M%S.grib
HDS ^O.J.88 KWBJ.*!grib/ncep/[^/]*/#[^/]*/(............)/F(...)/(.*)/(.*)/
FILE -edex -close
/awips2/data_store/grid/WAVE-HDS-WaveWatch/WaveWatch_\1_F\2_\3_\4_%H%M%S.grib
#
# WAVE 238 Grid - Regional Western North Atlantic (WAVE-WNA)
#
@ -1023,9 +1013,9 @@ HDS ^OENA88 KWBM.*ncep/ICE_120/#219/(............)/F(...)/([^/]*)/
#
# Real-Time Ocean Forecast System (RTOFS) for CONUS
#
#NGRID ^E[HSTUV][CK][B-T]01 KWBW ......[^!]*!grib.*/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*)
# FILE -edex -close
# /awips2/data_store/grid/RTOFS/RTOFS_\1_\2_\3_\4-(seq).grib2
NGRID ^E[HSTUV][CK][B-T]01 KWBW ......[^!]*!grib.*/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*)
FILE -edex -close
/awips2/data_store/grid/RTOFS/RTOFS_\1_\2_\3_\4-(seq).grib2
#
# ESTOFS - US
#
@ -1071,9 +1061,9 @@ NGRID ^([LM]DG.{1,3}) (KNHC) (..)(..)(..)[^!]*!(grib|grib2)/[^/]*/([^/]*)/#([^/]
#
# GLERL
#
#HDS ^O.N.88 KWNB.*!grib/161/([^/]*)/#([^/]*)/(............)/F(...)/.*
# FILE -edex -close
# /awips2/data_store/grid/GLERL/GLERL_\1_F\2_%H%M%S.grib
HDS ^O.N.88 KWNB.*!grib/161/([^/]*)/#([^/]*)/(............)/F(...)/.*
FILE -edex -close
/awips2/data_store/grid/GLERL/GLERL_\1_F\2_%H%M%S.grib
#
# Flash Flood Guidance (FFG) grids - 1HR=HPBL, 3HR=5WAVH, 6HR=CNWAT (FFG-PTR...)
#
@ -1095,18 +1085,18 @@ NGRID ^OUTA98 KWNB (......)[^!]*!grib2
#
# Regional River Forecast Center (RFC) Quantitative Precipitation Forecast (QPF) (RFCqpf)
#
HDS ^YEI.[89]8 (KWNH|KALR|KFWR|KKRF|KMSR|KORN|KPTR|KRHA|KRSA|KSTR|KTAR|KTIR|KTUA) .......*/#([^/]*)/([0-9]{8})([0-9]{4})/(F[0-9]{3})/[^/]*/([^/]*)
FILE -edex -close
/awips2/data_store/grid/Regional_RFC_QPF/GRID\2/\3_\4_\5_\6-(seq).grib
#HDS ^YEI.[89]8 (KWNH|KALR|KFWR|KKRF|KMSR|KORN|KPTR|KRHA|KRSA|KSTR|KTAR|KTIR|KTUA) .......*/#([^/]*)/([0-9]{8})([0-9]{4})/(F[0-9]{3})/[^/]*/([^/]*)
# FILE -edex -close
# /awips2/data_store/grid/Regional_RFC_QPF/GRID\2/\3_\4_\5_\6-(seq).grib
#
# GRID218 = HPCqpf
#
HDS ^(ZEX.98) KWNH (..)(..)(..)[^!]*!(grib|grib2)/[^/]*/([^/]*)/#218/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*)
FILE -edex -close
/awips2/data_store/grid/HPCqpf/HPCqpf_\9Z_\(10)_\(11)-\1_KWNH_\2\3\4-(seq).grib
#HDS ^(ZEX.98) KWNH (..)(..)(..)[^!]*!(grib|grib2)/[^/]*/([^/]*)/#218/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*)
# FILE -edex -close
# /awips2/data_store/grid/HPCqpf/HPCqpf_\9Z_\(10)_\(11)-\1_KWNH_\2\3\4-(seq).grib
#
# National Blend of Models
#
#NGRID ^(Y.A...) (KWE[AB]) (......)
# FILE -edex -close
# /awips2/data_store/grid/NationalBlend/NationalBlend_\1_\2_\3.grib2
NGRID ^(Y.A...) (KWE[AB]) (......)
FILE -edex -close
/awips2/data_store/grid/NationalBlend/NationalBlend_\1_\2_\3.grib2

View file

@ -385,12 +385,6 @@ NGRID ^([LM][ABCDFGH]U...) (KWBN) (..)(..)(..)[^!]*!(grib|grib2)/[^/]*/([^/]*)/#
FILE -edex -close
/awips2/data_store/grid/HPCGuide/GRID\8/HPCGuide_GRID\8_\(10)Z_\(11)_\(12)-\1_\2_\3\4\5-(seq).grib2
#
# National Convective Weather Detection (NCWD)
#
ANY ^ZDIA98 (....) ......[^!]*!grib.*/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})/(F[0-9]{3})
FILE -edex -close
/awips2/data_store/grid/NCWD/NCWD_\2_\3_\4_\1-(seq).grib
#
# National Operational Hydrologic Remote Sensing Center Snow Analysis (NOHRSC-SNOW)
#
HDS ^[YZ][ES]QA88 KMSR ......[^!]*!grib.*/[^/]*/[^/]*/#[^/]*/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*)

View file

@ -26,7 +26,7 @@
#include <sstream>
#include <memory>
#include <filel.h>
#include <ulog.h>
#include <log/log.h>
#include <getopt.h>
#include <signal.h>
#include <sys/time.h>
@ -97,10 +97,10 @@ public:
string fileHeader;
try {
// limit number of messages sent at one time so we don't miss messages from shared memory if
// a message build up occurred due to qpid being down (usual rate is under 100 a second)
// limit number of messages sent at one time so we don't miss messages from shared memory if
// a message build up occurred due to qpid being down (usual rate is under 100 a second)
while ((!this->filenameList.empty()) && (messagesProcessed < this->maxMessagesPerSend)) {
Message message;
qpid::messaging::Message message;
fileLocation = this->filenameList.front();
fileHeader = this->headerList.front();
@ -121,7 +121,8 @@ public:
}
} catch (const std::exception& error) {
// Error occurred during communication. Clean up the connection and return the number of messages processed.
uerror(error.what());
log_add(error.what());
log_flush_error();
cleanup();
}
@ -132,7 +133,8 @@ private:
void cleanup()
{
unotice ("Cleaning up");
log_add ("Cleaning up");
log_flush_info();
// Destroy resources.
if (this->sender != 0)
@ -144,7 +146,8 @@ private:
}
catch (const std::exception& error)
{
uwarn(error.what());
log_add(error.what());
log_flush_error();
}
}
@ -157,7 +160,8 @@ private:
}
catch (const std::exception& error)
{
uwarn(error.what());
log_add(error.what());
log_flush_error();
}
}
@ -170,7 +174,8 @@ private:
}
catch (const std::exception& error)
{
uwarn(error.what());
log_add(error.what());
log_flush_error();
}
}
this->isConnected = false;
@ -217,7 +222,8 @@ private:
}
catch (const std::exception& error)
{
uerror(error.what());
log_add(error.what());
log_flush_error();
cleanup();
}
return this->isConnected;
@ -230,8 +236,9 @@ static volatile int done = 0;
static edex_message * messageCursor;
static void cleanup(void) {
unotice("Exiting");
(void) closeulog();
log_add("Exiting");
log_flush_info();
log_fini();
}
/*
@ -259,7 +266,7 @@ static void signal_handler(int sig) {
/* TODO? stats */
return;
case SIGUSR2:
rollulogpri();
//rollulogpri();
return;
case SIGALRM:
return;
@ -309,7 +316,7 @@ static void set_sigactions(void) {
int main(int argc, char* argv[]) {
char * logfname = 0;
int loggingToStdErr = 0;
log_init(argv[0]);
std::string brokerURI = "127.0.0.1";
int port = 5672;
std::string username = "guest";
@ -342,19 +349,19 @@ int main(int argc, char* argv[]) {
}
}
(void) setulogmask(logmask);
}
if (atexit(cleanup) != 0) {
serror("atexit");
unotice("Exiting");
//serror("atexit");
log_add("Exiting");
log_flush_info();
log_fini();
exit(1);
/*NOTREACHED*/
}
loggingToStdErr = STDERR_FILENO == openulog(ubasename(argv[0]), (LOG_CONS
| LOG_PID), LOG_LDM, logfname);
unotice("Starting Up");
log_add("Starting Up");
log_flush_info();
set_sigactions();
@ -376,8 +383,10 @@ int main(int argc, char* argv[]) {
int semCounter = 0;
while ((semid = semget(semkey, 2, 0666)) == -1) {
if (semCounter == 5) {
uerror(
log_add(
"Could not attach to the semaphore created by pqact. Exiting.");
log_flush_error();
log_fini();
exit(0);
}
semCounter++;
@ -386,8 +395,10 @@ int main(int argc, char* argv[]) {
int sizeOfQueue = semctl(semid, 0, GETVAL);
shmid = shmget(key, sizeof(edex_message) * sizeOfQueue, 0666);
if (shmid == -1) {
uerror(
log_add(
"Could not attach to the shared memory created by pqact. Exiting.");
log_flush_error();
log_fini();
exit(0);
}
@ -414,7 +425,7 @@ int main(int argc, char* argv[]) {
// Need to copy in the end of the queue before moving to front
if (lastQueueSize > queueSize) {
unotice(
log_add(
"Coming over the top with lastQueueSize of %d on a size of %d",
lastQueueSize, sizeOfQueue);
endQueueDiff = sizeOfQueue - lastQueueSize;
@ -434,21 +445,24 @@ int main(int argc, char* argv[]) {
int messagesSent = 0;
if ((messagesSent = producer.send()) == -1) {
uerror(
log_add(
"Could not connect to the remote EDEX instance. %d messages waiting to be sent. Will try again in 1 second.",
producer.getMessageCount());
log_flush_error();
sleep(1);
continue;
}
if ((messagesSent != maxMessagesPerSend) && (messagesSent != (queue_diff + endQueueDiff))) {
uerror(
log_add(
"Only %d messages were sent out of an expected %d. Will store those not sent and try again.",
messagesSent, queue_diff);
log_flush_error();
}
unotice(
log_add(
"Sent %d messages (%d at the end of the queue, %d normally).",
messagesSent, endQueueDiff, queue_diff);
log_flush_info();
}
sleep(1);
}

Binary file not shown.