You can transmit WDSS-II products created on your server onto other machines and organizations using Unidata's Local Directory Manager (LDM). To do that, you use the WDSS-II program w2mirror.
For explanation purposes, assume that the WDSS-II products are being created on the machine "tran" (the transmitting server) and that the products should be transmitted to the machine "rec" (the receiving machine).
Assume that you want to push from "tran" all the products notified into /data/realtime/radar/multi/code_index.lb, that your LDM queue on "tran" is at /home/ldm/data/ldm.pq and you want the feedtype to be EXP. These are the steps you need to do:
allow ANY rec.some.domain.gov
manager PROCESS-PUSH set PROCESS_EXE "w2mirror" set PROCESS_PARAMS "-i xmllb:/data/realtime/radar/multi/code_index.lb -o /home/ldm/data/ldm.pq -L EXP -r --verbose=3"See the usage of w2mirror to find out how to transmit only selected products.
request {tab} EXP {tab} ".*" qtran.other.domain.gov
EXP {tab} /tmp/(.*)/indexrecord/(.*).fml {tab} PIPE {tab} -close {tab} /home/ldm/w2receive_fml.sh {tab} \2.fml EXP {tab} ^(.*)netcdf(.*) {tab} PIPE {tab} -close {tab} /home/ldm/w2receive.sh {tab} /\1netcdf\2
#!/bin/sh # use g+w or a+w, so that wdssii can delete this file with scour umask a+w filename=$1 dirname=`dirname $filename` tempdir=${dirname}/.working mkdir -p $tempdir tempfile=${tempdir}/w2receive.$$ #echo "$filename" > $tempfile cat - > $tempfile mv $tempfile $filenameWhat it does is to take the received file name and replicate the exact same directory structure on the "rec" as was on "tran". Therefore, the products will go to /data/realtime/radar/multi on the "rec". Make sure that the user LDM has the enecessary write permissions since pqact runs as "ldm".
The fml files are the Index records. You have three options on dealing with these:
#!/bin/sh dirname=`dirname $1` cat - | lb_cat -w $dirname/code_index.lbso that the files go into a LB instead. Note that if you do this: (a) your RMTPORT variable for both the ldm and wdssii users should be set to "/tmp:50000", not just "50000" (b) the LB should be writeable by the user ldm and (c) lb_cat should be in the PATH of ldm.
/data/realtime/radar 60 *netcdf* /data/realtime/radar 60 *fml*