LDM/IDD Frequently Asked Questions

This document contains answers to some of the most frequently asked questions about the LDM and the IDD. If you cannot find an answer to your question, please send email to support@unidata.ucar.edu

Table of Contents


Local Data Manager (IDD)

What is the LDM?

The LDM is a distributed system for event-driven data distribution. It consists of a suite of software to select, capture, process, and distribute data products using a set of network client/server programs and their shared protocols.

Who can use the LDM software?

The LDM software is freely available to anyone who wishes to use it. It is copyrighted by the University Corporation for Atmospheric Resesarch.

How do I get the ldm distribution?

The Unidata LDM software is now used by more than 150 universities/cooperating agencies. The LDM5 software is currently freely available via anonymous FTP in source form or as binaries for several supported platforms from the Unidata Program Center.

Should I get the source or binary distribution of the ldm?

Get the source code distribution if:

Otherwise get the binary distribution.

My .stats files do not get placed in my LDMHOME/logs directory.

If you have installed the LDM from a binary distribution, and your LDM home directory is not /usr/local/ldm, you must add some command line switches to two lines in your ldmd.conf file:

Alternatively, you can create a symbolic link from /usr/local called "ldm" to your actual ldm home directory:

% ln -s ldmhome /usr/local/ldm

where ldmhome is the path of your existing ldm home directory.

Why do I get the error "bin/ldmadmin: Command not found" when I run ldmadmin

If you install the binary release of the LDM, the path to the perl binary is based on Unidata's perl installation. This may not be correct for your site's setup. The first line of each perl script in the LDM distribution starts with a line that looks something like:

#!/usr/local/perl

If your perl binary is not located in the path noted on that line, modify the line to use the correct path.

(IRIX 6.1) Why does my server deny RPC access to others?

In IRIX, version 6.1, there is a file, /etc/config/portmap.options. The -a option in this file disallows any host trying to do an RPC call to the machine. You must explicitly allow any hosts who will connect to you. See the man page for portmap for more information.

(IRIX) Why does my LDM die every Sunday at 4:30 am?

On IRIX systems there is a disk defragger process that runs every Sunday at 4:30am out of the root account. Because the product queue is a memory-mapped I/O file, it cannot be defragmented on disk, while it is mapped. If it is, it corrupts the queue.

The solution is to either remove the root cron job that runs /usr/etc/fsr, or to add a -m switch pointing to a file that does not include the file system that contains the queue. This will allow other file systems to be defragmented, ignoring the data file system. See the man page for fsr for more information.

4/30/96: SGI now has a patch available that seems to fix the fsr problem: patchSG0000870 - EFS filesystem roll-up patch for non-XFS systems.

(HPUX) Why won't the LDM source distribution build on with my HP compiler?

From the ldm5 README file:

Note for HPUX users:
There are compiler patches available from HP (for free to anyone). If you haven't patched your comiler since before August 1994, it may fail to compile the ldm.

Patch Numbers:

You might also want to install Patch PHCO_6597, which has some RPC fixes.

(AIX 3.2.x) Will LDM5 compile on AIX 3.2.x?

Dan Vietor, at Purdue, ported LDM5 to AIX 3.2.5:

server/conftab.c
add:
       /* Defint YYSTYPE for AIX 3.2.5 */
       #ifdef _AIX
       /* otherwise, they define it to 'int' in spite of the union typedef */
       #define YYSTYPE YYSTYPE
       #endif
       
misc/fsStats.c
add:
               /* Defint YYSTYPE for AIX 3.2.5 */
       #ifdef _AIX
       /* otherwise, they define it to 'int' in spite of the union typedef */
       #define YYSTYPE YYSTYPE
       #endif
       

and delete _AIX from the previous #if:

               /* Use this for AIX 4.1 */
       #if _SYSTYPE_SVR4 || __SVR4 || __osf__
       /* irix 5.3, SunOS 5, AIX, OSF1 */
       #include 
       typedef struct statvfs STRUCT_STATFS;
       #define FSTATFS(fd, sbp) (fstatvfs((fd), (sbp)))
       #endif
       

and added:

       #if __ultrix
              frsize = 1024;
              /* AIX 3.2.5 */
       #elif _AIX
              frsize = sbuf.f_bsize;
       #else
       

Why do I get the error that another server is running on port 388 when there is no other server active?

If the LDM server does not exit cleanly, port 388 may remain registered with the portmapper, even if the server is no longer running. Use rpcinfo to check this:

     % rpcinfo -p

If port 388 is still registered, as root, use rpcinfo to deregister the port:

     % rpcinfo -d 300029 version

where version is the version number of the program that is running, which will either be 4 or 5.

When I run ldmfail I get a syntax error

The ldmfail script uses a perl function, lc. This function is only found in perl, version 5. If you are using perl, version 4, you must upgrade your perl installation. You can get the perl package from http://www.perl.com/

Internet Data Distribution (IDD)

What is the IDD?

The IDD is a distributed system to move real-time weather data via the Internet. It is run by cooperating users (Unidata member universities) and consists of data source sites, relay nodes and leaf nodes. It replaces the old broadcast satellite system and has the following characteristics: The IDD is governed by a set of Principles adopted by the Unidata Policy Committee on 29 June, 1994.

Who can participate in the IDD?

Participation in the IDD is limited to Unidata member Universities.

I have installed the LDM and I am ready to receive data. Who do I connect to?

Send email to support-idd at unidata.ucar.edu, with the following information:

Once the UPC receives your connection request we will arrange for your IDD connection and notify you within 5 working days.

Do I need to add an accept line for my upstream host(s)?

Starting with LDM, version 5, the accept is implied by the request action. However, it is a good idea to have both an allow and a request line for all of your upstream sites. This facilitates monitoring activity by the upstream Site Administrator.

When I reconnect, how do I keep from getting old data?

Under default conditions, when you have an existing product queue and you connect to your upstream feed site, data from the last product in your queue to the end of time will be sent to you (as available). If you would rather have only new data sent, use the "-o 0" argument in the rpc.ldmd invocation. See the rpc.ldmd man page for details.

What data is available via the IDD?

Information on data available via the IDD can be found here.