[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

20040505: NOAAPORT DVB-S; NOAAPORT setup with McIDAS-XCD



>From: Wahner Paul Contr CSR 4500 <address@hidden>
>Organization: Cape Canaveral Air Force Station
>Keywords: 200405051614.i45GEXtK016993 NOAAPORT NOVRA DVB-S McIDAS-XCD

Hi Paul,

>A couple of questions about your Novra receiver.
>1. Did you have to modify the antenna or LNB?

No.  The setup here in Boulder taps off an existing AWIPS installation
at COMET.  The coax from the dish/LNB goes into a passive 8-way
splitter one output of which is connected to our NOVRA.

>2. Did you or have you tried to split the signal from the Novra to
>multiple boxes?

No.  Since the output of the NOVRA S75 is multicast UDP, it is best if
it is on its own private lan (UDP delivery is not guaranteed like
TCP).  I imagine that one could have several machines on a private lan
and let them all ingest from a single NOVRA.  We were toying with
reading the UDP stream and sending it back out as a TCP stream.  This way
we could feed multiple ingest machines not all on the same lan from on
installation.

>3. You send the signal to LDM instead of XCD correct?

Our system consists of:

dish, LNB, cabling
NOVRA S75 connected to second Ethernet port on ingest PC configured as
          non-routable 192.168... network
software to read the multicast output through the second Ethernet port;
          this sends its output to STDOUT
software that reads from STDIN, "productizes" the stream, and inserts
          products into an LDM queue.  This is the same software that
          is used in our current EFData-based NOAAPORT reception system.

On downstream machines running the LDM, we and our sites have
configurations that run XCD decoding:

- ldmd.conf has a line:

exec    "xcd_run MONITOR"

- pqact.conf has the lines:

IDS|DDPLUS      .*      PIPE
        xcd_run DDS
HRS     .*      PIPE
        xcd_run HRS

'xcd_run' is a Bourne shell script that sets up needed McIDAS environment
variables and then runs a McIDAS routine based on the command line option
it is given:

MONITOR -> startxcd.k
DDS     -> ingetext.k
HRS     -> ingebin.k

'xcd_run' is designed to be edited by the end user so that things can be
setup to match his/her desires.  It is contained in the Unidata McIDAS
distribution, and it looks like:

----- xcd_run ----

#!/bin/sh -f

#--------------------------------------------------------------------------
#
# Name:     xcd_run
#
# Purpose:  McIDAS-XCD startup script
#
# Setup:
#           o the site administrator must have built and installed
#             Unidata McIDAS-X 7.X and Unidata McIDAS-XCD 7.X
#
#           o McIDAS-X executables must be able to run on the same
#             machine as the LDM.  This means that the executables must:
#
#                o be for the same system architecture as the system
#                  running the LDM
#                o must be accessible on a local or NFS mounted disk
#
#           o the site administrator must have setup his/her LDM pqact
#             file to run this script upon receipt of DDS|PPS|IDS
#             products.  Here are examples of two entries that could
#             be be in pqact.conf:
#
#           # Textual data from DDS, PPS, and IDS
#           DDPLUS|IDS  ^.*     PIPE
#               xcd_run DDS
#
#           # Binary data from HRS
#           HRS ^.*     PIPE
#               xcd_run HRS
#
#           If you decide to use these sample entries, PLEASE remember
#           that the LDM requires tabs for various fields in actions!
#
# Notes:    What this script does, and how it works
#
#           o the site McIDAS administrator has setup file routing for the
#             various products that can be decoded by the XCD decoders
#             This includes surface SAO/METAR, SYNOP, Terminal Forecasts,
#             MDR radar bulletins, etc.; mandatory and significant level
#             upper air reports, FOUS14 bulletins, etc.
#
#           o the site administrator must make sure that the McIDAS-XCD
#             configuration tables: DDS.CFG, PPS.CFG, IDS.CFG and HRS.CFG
#             are located in a directory defined in the MCDATA environment
#             variable defined in this script (see below).
#
#             *** NOTE ***
#             The *.CFG files must be readable and writable by the user running
#             the LDM processes
#
#           o the site administrator has made sure that the McIDAS-X System
#             Key Table, SYSKEY.TAB, has been copied to the directory in
#             which the XCD decoder will create their output.
#
#             *** NOTE ***
#             SYSKEY.TAB must be readable and writable by the user running
#             the LDM processes
#
#             The directory in which XCD decoders will write their output
#             files is defined by REDIRECTions listed in the file LWPATH.NAM
#             located in the $MCDATA directory.
#
#           o the site administrator configuring 'xcd_run' (this file) MUST
#             define the following environment variables internally in
#             'xcd_run' (further down in this script):
#
#             MCHOME - the home directory for the McIDAS-X installation
#
#             MCDATA - the directory in which the XCD decoders will
#                      create/update data and ancillary data files
#                      NOTE: data files (e.g. MD and GRID) may be
#                      located in other directories if there are
#                      active REDIRECTions for them.
#
#             MCLOG  - fully qualified pathname of the file in which 
#                      the output from XCD ingesters/decoders/monitors
#                      will be written
#
#             MCPATH - a colon separated list of directories that contain
#                      McIDAS data files, ancillary data files, and help
#                      files
#
#             PATH -   a search PATH that contains the directory of
#                      McIDAS executables.  NOTE that in this PATH
#                      the mcidas/bin directory MUST be before the
#                      directory in which this file, xcd_run, exists
#
#             LD_LIBRARY_PATH - the search path for sharable libraries;
#                      this should be the same search path as the one
#                      used by the McIDAS session
#
#             NOTE: AIX and HP-UX users need to change LD_LIBRARY_PATH
#                   everywhere in this file to what is appropriate on
#                   their systems
#
#                   AIX:  LD_LIBRARY_PATH -> LIBPATH
#                   HPUX: LD_LIBRARY_PATH -> SHLIB_PATH
#
# History:  960920 - Written for Unidata McIDAS-XCD 7.000
#           961207 - Updated for Unidata McIDAS-XCD 7.10
#           961212 - Added MCHOME variable
#                    Delete log file each time startxcd.k is (re)started
#           980530 - Updated for Unidata McIDAS-X 7.40
#           981203 - 'exec' ingebin.k/ingetext.k to get rid of 'xcd_run' PIDs
#
#--------------------------------------------------------------------------

# Define macros needed for McIDAS-7.X environment
#
# Set MCHOME to be the home directory of your 'mcidas' installation.

# Set MCDATA to be the working directory of your 'mcidas' installation.
# For this example, I will assume that this is /home/mcidas/workdata
#
# Set MCPATH to include MCDATA as its first directory.  I assume
# in this example that McIDAS-X was installed in /home/mcidas.

MCHOME=/home/mcidas
MCDATA=$MCHOME/workdata
MCLOG=$MCDATA/XCD_START.LOG
MCPATH=${MCDATA}:$MCHOME/data:$MCHOME/help

# Setup PATH so that the McIDAS-X executables can be found

PATH=$MCHOME/bin:/usr/openwin/bin:/opt/SUNWspro/bin:/usr/ccs/bin:/usr/bin:/usr/local/bin:/usr/ucb

# Set LD_LIBRARY_PATH to include all directories (other than those searched
# by default) that are needed to be searched to find shared libraries.
# For this example, I assume that the shared Fortran library is located
# in /opt/SUNWspro/lib

LD_LIBRARY_PATH=/usr/openwin/lib:/opt/SUNWspro/lib:$MCHOME/lib:/usr/lib:/usr/ucblib

# Export needed environment variables
export MCPATH PATH LD_LIBRARY_PATH

# cd to the MCDATA directory
cd $MCDATA

# Get the current time
time=`TZ=UTC date +%y%j.%H%M%S`

# Send all messages to the log file and start the process

if [ $1 = "MONITOR" ] ; then
  rm -f $MCLOG
  touch $MCLOG
fi

exec 2>> $MCLOG 1>&2
echo "Starting $@ at $time"

case $1 in
    DDS)     exec ingetext.k DDS;;
    IDS)     exec ingetext.k DDS;;
    PPS)     exec ingetext.k DDS;;
    DDPLUS)  exec ingetext.k DDS;;
    HRS)     exec ingebin.k  HRS;;
    HDS)     exec ingebin.k  HRS;;
    GRID)    exec ingebin.k  HRS;;
    MONITOR) exec startxcd.k;;
    *)       echo "xcd_run action $1 incorrectly specified, failing...";;
esac

# Done.  The only path to here is by no patterns matching above.

time=`TZ=UTC date +%y%j.%H%M%S`
echo "xcd_run exiting from $1 action at $time"

exit 0

---- xcd_run ----

>Thanks! 

No worries.

>Paul Wahner
>MIDDS Systems Engineer/ Meteorologist
>CSR 4500, Cape Canaveral Air Force Station
>address@hidden
>(Com) 321.853.8184 (Fax) 321.853.8291
>(DSN) 467.8184

Cheers,

Tom
--
NOTE: All email exchanges with Unidata User Support are recorded in the
Unidata inquiry tracking system and then made publically available
through the web.  If you do not want to have your interactions made
available in this way, you must let us know in each email you send to us.