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

20030611: McIDAS RAOBCON problem on FreeBSD



>From: Mark Tucker <address@hidden>
>Organization: Lyndon State College
>Keywords: 200306111714.h5BHECLd010003 McIDAS-X v2002 RAOBCON PTCON TMPDIR

Hi Mark,

>We've run into a problem with RAOBCON and a few other commands that contour
>surface and upperair data.  We are using Mcidas 2002b on FreeBSD 4.8.   I am
>able to access the same MD file data using plot commands but not contour so it
>doesn't appear to be a problem with our ADDE configuration, xcd configuration
>or missing data.  Running similar commands from MCGUI or the F-key menu
>produce the same results/problems.

OK, I understand the setup.

>This doesn't work:
>------------- 
>RAOBCON Z 1000 NA 12                                                   
>Accessing Dataset Name = RTPTSRC/UPPERMAND.ALL                         
>Problem with DEV= global keyword                                       
>PTCON: No data found matching search conditions                        
>PTCON:  Done                                                           
>RAOBCON: PTCON command failed                                          
>RAOBCON - Done
>-------------

I tried this on my v2002b build on our FreeBSD 4.7 system and got the same
result as you.

>The following is the tail of the output of the previous RAOBCON command with
>DEV=CCC. 
>---------------------- 
>PTCON* ccclist:  DEV=TNN                                 
>PTCON* cccdisp:  DEV=NNN                                              
>PTCON* ccccopy:  DEV=NNN                                               
>PTCON* PTLIST command: length= 198                                     
>PTCON*    PTLIST RTPTSRC/UPPERMAND.ALL PAR=LAT LON Z[M] FORMAT=E15.7 2 
>PTCON*    X E15.7 2X E15.7 2X NUM=ALL SEL='TIME 12 ; DAY 2003162; P 10 
>PTCON*    00; LAT 0 85; LON 50 180' SUP=NUMMATCH BYTE=NO TRACE= 0 DEV= 
>PTCON*    TNN /ptconIWJ9nE R                                           
>Problem with DEV= global keyword                                       
>PTCON* mcskeyin returns  1                                             
>PTCON: No data found matching search conditions                        
>PTCON:  Done                                                           
>RAOBCON: PTCON command failed                                          
>RAOBCON - Done  
>----------------------

I get a similar output.

>The DEV=TNN appended to the PTLIST command called by PTCON from
>RAOBCON appends a text file target with an absolute path to the host's root
>directory. This seems to be a problem with the generation of the temp file
>name.

You are correct.  This will fail since it is unlikely that the average
user will have write permission in '/'.

>I checked mctmpfil.c from the src dir but my understanding of C is a bit
>too limited to debug further.

I dug into this and see that the problem is based in the implementation
of 'tempnam' on FreeBSD.  On Solaris, Linux, and other OSes, the default
directory is /var/tmp; on FreeBSD it is /.  I also found out that one
can specify the TMPDIR Unix environment variable to whatever directory
you want the temporary file to be written into, and get RAOBCON to work
properly.

Try:

1) EXIT your McIDAS-X session

2) define TMPDIR to /var/tmp:

   setenv TMPDIR /var/tmp

3) start a McIDAS session from the xterm in which you just defined TMPDIR

4) rerun your RAOBCON invocation.  It should work with no problems.

So, the temporary work around is to set TMPDIR in the Unix environment
for all of your McIDAS users.  I will work on a fix to so that the
temporary directory is somewhere that is writable by the average user.

>If I run PTLIST without the DEV=TNN (or with a
>valid, writeable file name) it is successful.  I don't understand why PTLIST
>is called by PTCON & RAOBCON with the DEV value set to "TNN" but it
>does, and the temp file generation is broken. I don't know what more to do
>here to get things working.

The call to PTLIST is OK.  The problem is in the generation of the temporary
file.

>Plotting data from the same MD file data works:
>----------------------
> RAOBPLOT param level map time day <keywords>                          
> RAOBPLOT par1-par2 lev1-lev2 map time1-time2 day1-day2 <keywords>     
>   COLor=      DATaset=    DEClut=YES  DEClut=NO   GRA=        LSIze=  
>   NAV=        UNIt=                                                   
>RAOBPLOT Z 1000 USA 12                                                 
>Accessing Dataset Name = RTPTSRC/UPPERMAND.ALL                         
>RAOBPLOT - Done  
>----------------------
>
>Thanks for any help you can provide with this problem.

For now, set TMPDIR to /var/tmp in each user's environment _before_ McIDAS
is started.  I will get a bug fix out as soon as I can.

Tom