When we run this script
./get_tmpa.sh 2008010106 2008010106
than I am getting following error:
forrtl: severe (36): attempt to access non-existent record, unit 11, file /iitm1/sspm-res/ocn/deepa/gfsletkf/trunk/gfs/run/tmp/gfs-letkf_deepa_exp1_get_tmpa/tmpa.dat
Image PC Routine Line Source
dec_prcp 0000000000446D93 Unknown Unknown Unknown
dec_prcp 0000000000444AD6 Unknown Unknown Unknown
dec_prcp 0000000000403B54 Unknown Unknown Unknown
dec_prcp 0000000000403986 Unknown Unknown Unknown
libc.so.6 0000003C73A1ECDD Unknown Unknown Unknown
dec_prcp 0000000000403879 Unknown Unknown Unknown
mv: cannot stat `fort.90': No such file or directory
I am also attaching script file. Please suggest me.
From List of Run-Time Error Messages (https://software.intel.com/en-us/node/579769):
severe (36): Attempt to access non-existent record
FOR$IOS_ATTACCNON. A direct-access READ or FIND statement attempted to access beyond the end of a relative file (or a sequential file on disk with fixed-length records) or access a record that was previously deleted from a relative file.
It appears the program (ncl) suffered a failure reading an unformatted file in Big Endian format based on the error and F_UFMTENDIAN="big" variable setting. I guess check that tmpa.dat is in the expected Big Endian format and contains the expected data.
tmpa.dat is empty file. it does not contain any data.
If we comment F_UFMTENDIAN="big" after that also same error appears. Please suggest me.
It is difficult to help with a program that you have not shown which attempts to read an unformatted file that happens to be empty. How about this: "Don't run the script on an empty file, then you will not see the error message"? You can check the file size in the shell script and, when the length is zero or less than some pre-determined value, do not run the program that would read the file. After all, what is the point of attempting to run a data processing program when you are unable to give it any data to process?