ASCII File reads of free format files [message #81915] |
Fri, 09 November 2012 11:28 |
mickmitani
Messages: 1 Registered: November 2012
|
Junior Member |
|
|
I haven't posted here before but I've been using IDL for a decade at work. This summer my organization retired their IBM AIX machines (IDL 6.4 installed, batch jobs using LoadLeveler) and brought in Linux clusters (IDL 8.0 installed, batch jobs using LSF). Our code was moved over, massaged back into working order and production continued. However, a few programs have experienced random events reading ASCII files. These programs run hourly every day on two separate systems. We have a routine that reads ASCII files into a string array and the resulting array is processed by the calling program using strsplit() to tokenize each line into values for processing. Some files are space delimited, some are comma, and some use other characters. On the IBM system no hiccups in this process which ran for 5+ years. On the Linux systems at random runs the array is returned with at least one record truncated. The same error never happens at the same point in the same file on the separate systems. Looking at the source ASCII files, no records are incomplete. Rerunning the program, there is no error.
When we first moved over, this would happen about 2 times a week. After a few months, it increased to 4-6 times a week. Now, 7 months later, it happens 2-4 times a day. At first it seemed that only temp files were affected but then even parameter files that have not changed in years have sometimes been hit by the error.
This has become frustrating. My boss wants me to fix it without tossing any input which throws out just skipping a short read record and leaves me with only ugly choices. I've been telling him that since I didn't change the routines and the errors are random that it may not be a code problem as much as a problem somewhere in the new systems (they have issues all the time and our system folks have years less experience compared to the departed IBM experts).
I want to eliminate version change from the equation so I need to verify that IDL 8.0 doesn't randomly screw up simple I/O.
|
|
|