FORTRAN PROGRAMMING ENVIRONMENT FEATURES

FPE HOME | Directives | Double Options | Format | Functions | Operators | Options | Recommend | Source | Statements

INTRINSIC AND LIBRARY ROUTINES

The best way to find a particular function or subroutine name is to use the "find" feature in your browser.

Routines are listed in alphabetical order based on the principal names:
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

%REF pass an argument by reference (address)
syntax %REF(arg)
IBM XLF Available.
DEC F90 Available.
%VAL pass an argument by value
syntax %VAL(arg)
IBM XLF Available.
DEC F90 Available.
ABORT terminate and write a core file
syntax CALL ABORT
IBM XLF Available.
CF77 Available.
CF90 Available.
Sun F77 Available.
Sun F90 Available.
ABS absolute value
Available on all platforms.
syntax ABS(arg)
ACCESS check file permissions or existence
syntax ACCESS(name, mode)
IBM XLF A function by this name and with the same functionality is available, but this is a C routine and must be called with ierr = ACCESS(filename, %val(mode)) where the filename is a NULL terminated string.
CF77 Available.
CF90 Available.
DEC F77 Available.
DEC F90 Available.
PGF77 Available.
Sun F77 Available.
Sun F90 Available.
ACCOUNT change account number
syntax CALL ACCOUNT(account[,errflag)
CIVIC Not available under UNICOS--see CF77 comments. See Also: FORTLIB Manual
CF77 Not available. The UNICOS environment does not support the ability to change the account ID from within an executing program. The NEWACCT shell command does however allow changing the account in a job stream.
ACHAR character in specified position of ASCII collating sequence
syntax ACHAR(int)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
Sun F77 Available.
ACOS arccosine
Available on all platforms.
syntax ACOS(real)
ACOSD arccosine in degrees
syntax ACOSD(real)
IBM XLF Available.
CIVIC Available.
DEC F77 Available.
DEC F90 Available. DACOSD is specific for REAL(8); QACOSD for REAL(16).
PGF77 Available.
Sun F77 Available. DACOSD is specific for DOUBLE; QACOSD for REAL(16).
ADJSYMB justify and fill the input symbol
syntax CALL ADJSYMB(out,in,justify)
Fortran 77 Use internal file write. See CF77 comments.
Fortran 90 Use internal file write. See CF77 comments.
IBM XLF Use internal file write. See CF77 comments.
CIVIC Available in libfor.a in UNICOS on the JEDI, LUKE, and LEIA machines.
CF77 Use internal file write. An internal file write can be used to basically rewrite the word and justify it as specified by using various FORTRAN format options. The A and R format descriptor will left and right justify the data respectively. The BZ format descriptor will treat blanks as zeros.
DEC F77 Use internal file write.
DEC F90 Use internal file write.
PGF77 Use internal file write. See CF77 comments.
Sun F77 Use internal file write. See CF77 comments.
ADJUSTL adjust a string to the left
syntax ADJUSTL(string)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
ADJUSTR adjust a string to the right
syntax ADJUSTR(string)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
AIMAG imaginary part of a complex number
Available on all platforms.
syntax AIMAG(cmplx)
DEC F90 Available. DIMAG is specific for COMPLEX(8).
Sun F77 Available. DIMAG is specific for DOUBLE COMPLEX; QIMAG for COMPLEX*32
AINT truncate to a whole number
syntax FORTRAN77: AINT(arg)
Fortran90: AINT(arg[,kind])
Fortran 77 Kind argument is not available.
Fortran 90 Optional second argument for kind allowed.
IBM XLF Optional second argument for kind allowed.
DEC F90 Available.
ALARM execute a routine after a specified time
syntax ALARM(time, routine)
IBM XLF Must use ALARM_(time, routine)
CF77 Available but different. ALARM(secs) to wake up after no longer than the specified time.
CF90 Available but different. ALARM(secs) to wake up after no longer than the specified time.
DEC F77 Available.
DEC F90 Available.
PGF77 Available.
Sun F77 Available.
Sun F90 Available.
ALL determine if all values in a mask are true
syntax Fortran90: ALL(mask[,dim])
Fortran 90 Available.
IBM XLF Available.
CF77 Available. Should be declared in INTRINSIC statement.
CF90 Available.
DEC F90 Available.
ALLOCATED test for an allocatable array currently allocated
syntax ALLOCATED(array)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
ALOG natural logarithm of real
syntax ALOG(real)
IBM XLF Available.
PGF77 Available. Argument forced to real*4.
ALOG10 common logarithm of real
Available on all platforms.
syntax ALOG10(real)
AMAX0 maximum of integers as real
Available on all platforms.
syntax AMAX0(int1, int2 [,int...])
AMAX1 maximum of reals as real
syntax AMAX1(real1, real2 [,real...])
IBM XLF Available.
PGF77 Available. Argument forced to real*4.
AMAXAF largest value in array
Fortran 77 For A=AMAXAF(B,K1,K2,L,M) use

M=K1
A=B(K1)
DO I=K1,K2,L
 IF (B(I).GT.A) THEN
   A=B(I)
   M=I
 ENDIF
ENDDO

AMIN0 minimum of integers as real
Available on all platforms.
syntax AMIN0(int1, int2 [,int...])
AMIN1 minimum of reals as real
syntax AMIN1(real1, real2 [,real...])
IBM XLF Available.
PGF77 Available. Argument forced to real*4.
AMINAF smallest value in array
Fortran 77 For A=AMINAF(B,K1,K2,L,M) use

M=K1
A=B(K1)
DO I=K1,K2,L
IF (B(I).LT.A) THEN
A=B(I)
M=I
ENDIF
ENDDO

AMOD remainder of real division
Available on all platforms.
syntax AMOD(real1, real2)
AND bitwise logical conjunction
syntax AND(arg1, arg2)
Fortran 90 Use IAND(x,y) with integer arguments.
IBM XLF Use IAND(x,y) with integer arguments.
CIVIC Library function equivalent to x.int.y -- bitwise and.
To convert to F90, change AND(x,y) to IAND(x,y) for integer x and y.
CF77 AND(x,y) is equivalent to CIVIC x.int.y. Alternate forms are x.and.y and x.a.y
CF90 Available or use IAND with integer arguments.
DEC F77 Equivalent to IAND.
PGF77 Bitwise AND; result is typeless; IAND is available for integers (with integer result).
Sun F77 Bitwise AND of integers; result is integer; equivalent to IAND.
ANINT nearest whole number
syntax ANINT(arg[,kind])
Fortran 77 Kind argument is not available.
Fortran 90 Optional second argument for kind.
IBM XLF Optional second argument for kind.
DEC F90 Optional second argument for kind.
ANY determine if any values in a mask are true
syntax ANY(mask[,dim])
Fortran 90 Available.
IBM XLF Available.
CF77 Available. Should be declared in INTRINSIC statement.
CF90 Available.
DEC F90 Available.
ASIN arcsine
Available on all platforms.
syntax ASIN(real)
ASIND arcsine in degrees
syntax ASIND(arg)
IBM XLF Available.
DEC F77 Available.
DEC F90 Available. DASIND is specific for REAL(8); QASIND for REAL(16).
PGF77 Available.
Sun F77 Available. DASIND is specific for DOUBLE; QASIND for REAL(16).
ASSOCIATED verify associated status of pointer
syntax ASSOCIATED(pointer[,target])
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
ATAN arctangent
Available on all platforms.
syntax ATAN(real)
ATAND arctangent in degrees
syntax ATAND(real)
IBM XLF Available.
DEC F77 Available.
DEC F90 Available. DATAND is specific for REAL(8); QATAND for REAL(16).
PGF77 Available.
Sun F77 Available. DATAND is specific for DOUBLE; QATAND for REAL(16).
ATAN2 arctangent
Available on all platforms.
syntax ATAN2(real, real)
ATAN2D arctangent in degrees
syntax ATAN2D(real, real)
IBM XLF Available.
DEC F90 Available. DATAN2D is specific for REAL(8); QATAN2D for REAL(16).
PGF77 Available.
Sun F77 Available. DATAN2D is specific for DOUBLE; QATAN2D for REAL(16).
BCAST broadcast a scalar into an array
CIVIC Available in libfor.a in UNICOS on the JEDI, LUKE, and LEIA machines. To replace, for call bcast(dest,scalar,len) use
DO 4 i=1,len
4 dest(i)=scalar
BIT_SIZE get number of bits in an integer type
syntax BIT_SIZE(int)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
BMOVE copy a bit string
CIVIC Available in libfor.a in UNICOS on the JEDI, LUKE, and LEIA machines. To replace, for call bmove(to,toix,from,fromix,len) use call movbit(src,isb,num,dst,idb)
BTEST test a specified bit in an integer value
syntax BTEST(int, pos)
Fortran 90 Available.
IBM XLF Available.
CF77 Available.
CF90 Available.
DEC F77 Available.
DEC F90 Available. BITEST is specific for INTEGER(2); BKTEST for INTEGER(8).
PGF77 Available.
Sun F77 Available.
CABS absolute value of complex
Available on all platforms.
syntax CABS(cmplx)
Sun F77 Available. CDABS is specific for COMPLEX*16 to REAL*8 and CQABS for COMPLEX*32
DEC F90 Available. CDABS is specific for COMPLEX*16 to REAL*8
CBRT cube root
syntax CBRT(arg)
IBM XLF A function by this name and with the same functionality is available, but this is a C routine and must be called with double = CBRT(%val(double)) where the argument and result are double precision.
CF77 Available.
CF90 Available.
Sun F77 Available. DCBRT is specific for DOUBLE; QCBRT for REAL*16; CCBRT for COMPLEX; ZCBRT or CDCBRT for DOUBLE COMPLEX; CQCBRT for COMPLEX*32.
CCOS cosine of complex
Available on all platforms.
syntax CCOS(cmplx)
DEC F90 Available. CDCOS is specific for COMPLEX(8).
Sun F77 Available. CDCOS is specific for DOUBLE COMPLEX.
CEILING get closest integer greater than or equal to a real value
syntax CEILING(real)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
CEXP exponential of complex
Available on all platforms.
syntax CEXP(cmplx)
DEC F90 Available. CDEXP is specific for COMPLEX(8).
Sun F77 Available. CDEXP or CDEXP is specific for DOUBLE COMPLEX; CQEXP for COMPLEX*32.
CHAR integer to character string of length 1
syntax CHAR(int [,kind])
Fortran 77 Kind argument is not available.
Fortran 90 Optional second argument for kind available.
IBM XLF Optional second argument for kind available.
CF90 Available.
DEC F90 Optional second argument for kind available.
CHAR2INT transfer data to position in integer variable
CIVIC CHAR2INT not available in UNICOS The Fortran ICHAR function provides integer to character conversion. If CHAR2INT was being used to move the integer representation of the character into a specified byte position in the integer, a combination of ICHAR and MVBITS can be used to obtain the same results.
CHDIR change default directory
syntax CHDIR(dir)
IBM XLF A function by this name and with the same functionality is available, but this is a C routine and must be called with ierr = CHDIR(dir) where the directory is a NULL terminated string. For example, ierr=chdir("../temp") if the -qnullterm option is used.
DEC F77 Available.
DEC F90 Available.
PGF77 Available.
Sun F77 Available.
Sun F90 Available.
CHGNAME change the name of a disk file.
CIVIC On UNICOS, for call chgname(from,to[,errlab]) use if (ishell('mv from to')) go to errlab
Notes: chgname closed the file prior to renaming it--the program must close the file prior to the ishell command. The ishell command may run at a very large size. The MFCHANGE routine in libmbase.a is an alternative.
CHMOD change the mode of a file
syntax CHMOD(name, mode)
IBM XLF A function by this name and with the same functionality is available, but this is a C routine and must be called with ierr = CHMOD(filename, %val(mode)) where the filename is a NULL terminated string. For example, ierr=chmod("file1", %val(O"664")) if the -qnullterm option is used.
DEC F77 Available.
DEC F90 Available.
PGF77 Available.
Sun F77 Available.
Sun F90 Available.
CLOC obtain a Fortran character descriptor
CF77 Available. Should be declared in an INTRINSIC statement.
CF90 Available.
Sun F90 Available.
CLOCK current time in ASCII
Fortran 90 Not available. Use DATE_AND_TIME(TIME=clock)
IBM XLF Use CLOCK_() or use DATE_AND_TIME(TIME=clock); TIME_ returns the current time in integer*4 seconds.
CIVIC Available.
CF77 Available.
CF90 Available.
DEC F77 Use CALL TIME(buf)
DEC F90 Use CALL TIME(buf)
PGF77 Use CALL TIME(buf)
Sun F77 Use CALL TIME(buf)
CLOG natural logarithm of complex
Available on all platforms.
syntax CLOG(cmplx)
DEC F90 Available. CDLOG is specific for COMPLEX(8).
Sun F77 Available. CDLOG or ZLOG is specific for COMPLEX(8); CQLOG for COMPLEX*32.
CLOSE terminate an I/O connection
IBM XLF A function by this name is available, but this is a C routine that deals with C style I/O. The argument must be %val of a file descriptor obtained from a call to the C OPEN function.
CIVIC On UNICOS, for call close(us[,errlab]) use close (unit=us [,err=errlab])
CMOVE copy a character string
CIVIC Available in libfor.a on UNICOS. For
call cmove(to,toix,from,fromix,len) use
call zmovechr(to,toix,from,fromix,len) in cbaselib or
call msmovchr(to,toix,from,fromix,len) in mbase.
CMPLX conversion to complex type
syntax CMPLX(arg1[arg2[,kind]])
Fortran 77 Kind argument is not available.
Fortran 90 Optional kind argument is available.
IBM XLF Optional kind argument is available.
DEC F90 Optional kind argument is available.
CNTELINK initialize or disconnect a controllee
CIVIC CNTELINK not available in UNICOS. For shell commands, ishell(command) may be used in place of starting a controllee. Multitasking may also be a way to get the desired execution.
CNTEMODE set controller message interruption mode
CIVIC CNTEMODE not available in UNICOS. For shell commands, ishell(command) may be used in place of starting a controllee. Multitasking may also be a way to get the desired execution.
CNTENAME return name of current controllee
CIVIC CNTENAME not available in UNICOS. For shell commands, ishell(command) may be used in place of starting a controllee. Multitasking may also be a way to get the desired execution.
CNTESTAT return reason controllee was suspended
CIVIC CNTESTAT not available in UNICOS. For shell commands, ishell(command) may be used in place of starting a controllee. Multitasking may also be a way to get the desired execution.
CNTRNAME return name of this program's controller
CIVIC CNTRNAME not available in UNICOS. For shell commands, ishell(command) may be used in place of starting a controllee. Multitasking may also be a way to get the desired execution.
COMPL bitwise logical negation
Fortran 90 Use NOT(x) with integer argument.
IBM XLF Use NOT(x) with integer argument.
CIVIC Library function equivalent to .comp.x -- bitwise complement. To convert to CF77, no changes needed. To convert to F90, change compl(x) to NOT(x) for integer x
CF77 compl(x) is equivalent to CIVIC .comp.x Alternate forms are .not.x and .n.x
CF90 Available or use NOT with integer argument.
PGF77 Bitwise complement of integer, real, or logical; result is typeless; NOT is available for integer (with integer result)
CONJG conjugate of a complex value
Available on all platforms.
syntax CONJG(cmplx)
DEC F90 Available. DCONJG is specific for COMPLEX(8).
Sun F77 Available. DCONJG is specific for DOUBLE COMPLEX; QCONJG for COMPLEX*32.
COS cosine
Available on all platforms.
syntax COS(arg)
COSD cosine in degrees
IBM XLF Available.
DEC F77 Available.
DEC F90 Available. DCOSD is specific for REAL(8); QCOSD for REAL(16).
PGF77 Available.
Sun F77 Available. DCOSD is specific for DOUBLE; QCOSD for REAL(16).
COSH hyperbolic cosine
Available on all platforms.
syntax COSH(real)
DEC F90 Available. DCOSH is specific for REAL(8); QCOSH for REAL(16).
Sun F77 Available. DCOSH is specific for DOUBLE; QCOSH for REAL(16).
COT cotangent
CIVIC Available for 1./TAN(r1)
CF77 Available for 1./TAN(r1)
CF90 Available for 1./TAN(r1)
Sun F90 Available for 1./TAN(r1)
COTAN cotangent
CIVIC Available for 1./TAN(r1) or COT(r1)
CF77 Not available. Use COT(r1)
CF90 Not available. Use COT(r1)
DEC F90 Available. DCOTAN is specific for REAL(8).
COUNT count number of true elements in a mask
syntax COUNT(mask[,dim])
Fortran 90 Available.
IBM XLF Available.
CF77 Available. Should be declared in INTRINSIC statement.
CF90 Available.
DEC F90 Available.
CPU_TIME Get approximate processor time in seconds.
syntax CALL CPU_TIME(time) sets time to real seconds.
Fortran 95 Available.
DEC F90 Available.
CREATE create and open a disk file
CIVIC On UNICOS, for call create(unit,name,type,length[,errlab]) use open(...)
Note: open will not destroy an existing file prior to opening it, therefore that logic may need to be put in the user code.
CREATEL create and open a disk file, set file parameters
CIVIC On UNICOS, for call createl(unit,list,lenlist[,errlab]) use a combination of open statement and assign command.
CSHIFT circular shift of an array
syntax CSHIFT(array, count[,dim])
Fortran 90 Available.
IBM XLF Available.
CF77 Available. Should be declared in INTRINSIC statement.
CF90 Available.
DEC F90 Available.
CSIN sine of complex value
Available on all platforms.
syntax CSIN(cmplx)
DEC F90 Available. CDSIN is specific for COMPLEX(8).
Sun F77 Available. CDSIN is specific for DOUBLE COMPLEX; CQSIN for COMOLEX*32.
CSMG merge the bits from two variables
Fortran 90 Not available. Use IOR(IAND(x1,x3),IAND(x2,NOT(x3)))
IBM XLF Not available. Use IOR(IAND(x1,x3),IAND(x2,NOT(x3)))
CIVIC Available.
CF77 Available.
CF90 Available.
PGF77 Not available. Use IOR(IAND(x1,x3),IAND(x2,NOT(x3)))
Sun F77 Not available. Use IOR(IAND(x1,x3),IAND(x2,NOT(x3)))
CSQRT square root of complex value
Available on all platforms.
syntax CSQRT(cmplx)
DEC F90 Available. CDSQRT is specific for REAL*8.
Sun F77 Available. CDSQRT or ZSQRT are specific for DOUBLE COMPLEX; CQSQRT for COMPLEX*32.
CTIME_ convert system time to a character string
IBM XLF CALL CTIME_(str, time) converts system time time to a 26 character string str.
Sun F77 Use CTIME
Sun F90 Use CTIME
CTOI raise a complex number to an integer power
CIVIC Available. Alternate for c1**i2
CVMGM merge on minus
Fortran 90 Use MERGE(arg1,arg2,arg3<0) where types of arg1 & arg2 are same.
IBM XLF Available or use MERGE(arg1,arg2,arg3<0)
CIVIC Available.
CF77 Available.
CF90 Available.
PGF77 Use block IF and assignments to temp.
Sun F77 Use block IF and assignments to temp.
CVMGN merge on nonzero
Fortran 90 Use MERGE(arg1,arg2,arg3/=0) where types of arg1 & arg2 are same.
IBM XLF Available or use MERGE(arg1,arg2,arg3/=0)
CIVIC Available.
CF77 Available.
CF90 Available.
PGF77 Use block IF and assignments to temp.
Sun F77 Use block IF and assignments to temp.
CVMGP merge on positive
Fortran 90 Use MERGE(arg1,arg2,arg3>=0) where types of arg1 & arg2 are same.
IBM XLF Available or use MERGE(arg1,arg2,arg3>0)
CIVIC Available.
CF77 Available.
CF90 Available.
PGF77 Use block IF and assignments to temp.
Sun F77 Use block IF and assignments to temp.
CVMGT logical merge
Fortran 90 Use MERGE(arg1,arg2,logical) where types of arg1 & arg2 are same.
IBM XLF Available or use MERGE(arg1,arg2,logical)
CIVIC Available.
CF77 Available.
CF90 Available.
PGF77 Use block IF and assignments to temp.
Sun F77 Use block IF and assignments to temp.
CVMGZ merge on zero
Fortran 90 Use MERGE(arg1,arg2,arg3==0) where types of arg1 & arg2 are same
IBM XLF Available or use MERGE(arg1,arg2,arg3==0)
CIVIC Available.
CF77 Available.
CF90 Available.
PGF77 Use block IF and assignments to temp
Sun F77 Use block IF and assignments to temp.
DABS absolute of double
Available on all platforms.
syntax DABS(dble)
DEC F90 Available. QABS is specific for REAL(16)
Sun F77 Available. QABS is specific for REAL(16) and ZABS for complex double
Sun F90 Available. QABS is specific for REAL(16)
DACOS arccosine of double
Available on all platforms.
syntax DACOS(dble)
Sun F77 Available. QACOS is specific for REAL(16)
DASIN arcsine of double
Available on all platforms.
syntax DASIN(dble)
DEC F90 Available. QASIN is specific for REAL(16)
Sun F77 Available. QASIN is specific for REAL(16)
DATAN arctangent of double
Available on all platforms.
syntax DATAN(dble)
DEC F90 Available. QATAN is specific for REAL(16).
Sun F77 Available. QATAN is specific for REAL(16).
DATAN2 arctangent of double
Available on all platforms.
syntax DATAN2(dble1, dble2)
DEC F90 Available. QATAN2 is specific for REAL(16).
Sun F77 Available. QATAN2 is specific for REAL(16).
DATE current date in ASCII
Fortran 90 Not available. Use DATE_AND_TIME(DATE=date)
IBM XLF DATE() returns "mm/dd/yy" as character function value or use DATE_AND_TIME(DATE=date)
CIVIC Available.
CF77 Available.
CF90 Available.
DEC F77 call DATE(var) returns "dd-mmm-yy"
DEC F90 call DATE(var) returns "dd-mmm-yy"
PGF77 call DATE(var) returns "dd-mmm-yy"
Sun F77 call DATE(var) returns "dd-mmm-yy"
Sun F90 call DATE(var) returns "dd-mmm-yy"
DATE_AND_TIME get real-time date and time
syntax DATE_AND_TIME([date[,time[,zone [,values]]]])
Fortran 90 Available.
IBM XLF Available or CALL FDATE_(string)
CF90 Available.
DEC F90 Available. IDATE(month,day,year) is also available, but DATE_AND_TIME should be used instead because of the year 2000 problem.
PGF77 FDATE(string)
Sun F77 FDATE(string); IDATE for month, day, and year
Sun F90 FDATE(string); IDATE for month, day, and year
DBLE conversion to double precision real
Available on all platforms.
syntax DBLE(arg)
DEC F90 Available. DBLEQ is specific for REAL(16).
DREAL real part of a double complex
syntax DREAL(arg)
DEC F90 Available.
DCMPLX conversion to double precision complex
syntax DCMPLX((arg1 [,arg2])
IBM XLF Available.
CF77 Available.
CF90 Available.
DEC F77 Available.
DEC F90 Available.
PGF77 Available.
Sun F77 Available.
DCOS cosine of double
Available on all platforms.
syntax DCOS(dble)
DEC F90 Available. QCOS is specific for REAL(16).
DCOSH hyperbolic cosine of double
Available on all platforms.
syntax DCOSH(dble)
DCOT double precision cotangent
CIVIC Available for 1.d0/tan(d1)
CF77 Available for 1.d0/tan(d1)
CF90 Available for 1.d0/tan(d1)
DDI namelist read
CIVIC For call ddi(namlist,ius,ous[,c]) in UNICOS use read(ius,namlist) -- out is not supported in UNICOS. Note: ous is not supported in UNICOS in the same way. If the input file contains an echo character in column one then lines will be echoed to the default output file (unless call rnlecho(unit) has been issued to redirect the echoed lines to the different unit).
DDILIST change default char assignments with namelist input
CIVIC On UNICOS, for call ddilist(chars,groups,len) use
call rnlflag(char,mode) or call rnldelm(char,mode) or
call rnlsep(char,mode) or call rnlrep(char,mode) or
call rnlcomm(char,mode)
DDIM positive difference of doubles
Available on all platforms.
syntax DDIM(dble1, dble2)
Sun F77 Available. QDIM is specific for REAL(16)
DEC F90 Available. QDIM is specific for REAL(16)
DDIINFO return information about the last namelist read
CIVIC DDIINFO not available in UNICOS.
DDIOPOFF turn off special requests from ddiopen or ddilist
CIVIC On UNICOS, for call ddiopoff(option) use
call rnlflag(char,mode) or call rnldelm(char,mode) or
call rnlsep(char,mode) or call rnlrep(char,mode) or
call rnlcomm(char,mode)
DDIOPON enable various options for namelist input
CIVIC DDIOPON not available in UNICOS Certain functions can be imitated by using the following user functions prior to reading the file:
rnlskip, rnltype, rnlecho, rnlflag
rnldelm, rnlsep, rnlrep, rnlcomm
DDO namelist write
CIVIC For call ddo(namlist,us[,c]) in UNICOS use
write(us,namlist)
DELIMIT reset delimiter list for setsymb and getnumb
CIVIC Available in libfor.a in UNICOS on the JEDI, LUKE, and LEIA machines.
CF77 Available in libfor.a in UNICOS on the JEDI, LUKE, and LEIA machines.
CF90 Available in libfor.a in UNICOS on the JEDI, LUKE, and LEIA machines.
DESTROY remove an existing file from disk
CIVIC On UNICOS, for call destroy(name[,errlab]) use
if (ishell('rm name')) go to errlab
DEXP exponential of double
Available on all platforms.
syntax DEXP(dble)
DEC F90 Available. QEXP is specific for REAL(16).
Sun F77 Available. QEXP is specific for REAL(16).
DFLOAT integer to double precision real
IBM XLF Available.
CF77 Available.
CF90 Available.
DEC F77 Available.
DEC F90 Available. DFLOTI is specific for INTEGER(2); DFLOTJ for INTEGER(4); DFLOTK for INTEGER(8).
PGF77 Available.
Sun F77 Available.
DIGITS number of significant digits of a type
syntax DIGITS(arg)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
Sun F77 EPPREC(arg) for number of significant BITS.
DIM positive difference
Available on all platforms.
syntax DIM(arg1, arg2)
DINT truncate double to integer
Available on all platforms.
syntax DINT(dble)
DEC F77 Available. QINT is specific for REAL(16)
DEC F90 Available. QINT is specific for REAL(16)
DLOG natural logarithm of double
Available on all platforms.
syntax DLOG(dble)
DEC F90 Available. QLOG is specific for REAL(16).
Sun F77 Available. QLOG is specific for REAL(16).
DLOG10 common logarithm of double
Available on all platforms.
syntax DLOG10(dble)
DEC F90 Available. QLOG10 is specific for REAL(16).
Sun F77 Available. QLOG10 is specific for REAL(16).
DMAX1 maximum of double precision reals
Available on all platforms.
syntax DMAX1(dble1, dble2 [,dble...])
Sun F77 Available. QMAX1 is specific for REAL(16).
DMIN1 minimum of double precision reals
Available on all platforms.
syntax DMIN1(dble1, dble2 [,dble...])
Sun F77 Available. QMIN1 is specific for REAL(16).
DMOD remainder of double precision divide
Available on all platforms.
syntax DMOD(dble1, dble2)
Sun F77 Available. QMOD is specific for REAL(16).
DEC F90 Available. QMOD is specific for REAL(16).
DNINT round double to nearest whole number
Available on all platforms.
syntax DNINT(dble)
Sun F77 Available. QNINT is specific for REAL(16)
DEC F90 Available. QNINT is specific for REAL(16)
DOT_PRODUCT perform dot-product of two vectors
syntax DOT_PRODUCT(vect1, vect2)
IBM XLF Available.
CF77 Available. Should be declared in INTRINSIC statement.
CF90 Available.
DEC F90 Available.
DPROD double precision real product
Available on all platforms.
syntax DPROD(real1, real2)
Sun F77 Available. QPROD is specific for REAL(16)
DROPFILE create a dropfile
CIVIC DROPFILE not available in UNICOS, and not needed.
DSHIFTL double-word left shift
CF77 Available.
CF90 Available.
DSHIFTR double-word right shift
CF77 Available.
CF90 Available.
DSIGN transfer of sign for double
Available on all platforms.
syntax DSIGN(dble1, dble2)
Sun F77 Available. QSIGN is specific for REAL(16).
DEC F90 Available. QSIGN is specific for REAL(16).
DSIN sine of double
Available on all platforms.
syntax DSIN(dble)
DEC F90 Available. QSIN is specific for REAL(16).
DSINH hyperbolic sine of double
Available on all platforms.
syntax DSINH(dble)
DEC F90 Available. QSINH is specific for REAL(16).
Sun F77 Available. QSINH is specific for REAL(16).
DSQRT square root of double
Available on all platforms.
syntax DSQRT(dble)
DEC F90 Available. QSQRT is specific for REAL(16)
DTAN tangent of double
Available on all platforms.
syntax DTAN(dble)
DEC F90 Available. QTAN is specific for REAL(16)
Sun F77 Available. QTAN is specific for REAL(16)
DTANH hyperbolic tangent of double
Available on all platforms.
syntax DTANH(dble)
DEC F90 Available. QTANH is specific for REAL(16).
Sun F77 Available. QTANH is specific for REAL(16).
EMPTY write current I/O buffer to disk
IBM XLF Use call FLUSH_(unit)
CIVIC EMPTY not available in UNICOS. The equivalent results can be accomplished by closing the files, then reopening the file and setting the position parameter to asis or append. This approach requires much more overhead than call empty.

Another approach is to ensure that the buffer size is less than two times the size of the record being written. The UNICOS assign command can be used to set the buffer size of a file.

EOF check for end of file
syntax EOF(unit)
DEC F90 Available.
EOSHIFT end-off shift of an array
syntax EOSHIFT(array, count[,boundary[,dim]])
Fortran 90 Available.
IBM XLF Available.
CF77 Available. Should be declared in INTRINSIC statement.
CF90 Available.
DEC F90 Available.
EPSILON get increment between representable real numbers
syntax EPSILON(real)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
Sun F77 EPMRSP(real)
EQUATUU equivalence two unit specifiers
CIVIC EQUATUU not available in UNICOS.
EQV bitwise logical equivalence
Fortran 90 Use NOT(IEOR(x,y)) where x and y are integer
IBM XLF Use NOT(IEOR(x,y)) where x and y are integer
CIVIC Available. Library function equivalent to .comp.(arg1.xor.arg2)
To convert to CF77, no changes required
To convert to F90, change eqv(x,y) to NOT(IEOR(x,y)) for integer x and y
CF77 eqv(x,y) is equivalent to CIVIC .comp.(x.xor.y)
CF90 Available.
PGF77 Available. Result of EQV is typeless
ERF error function
syntax ERF(real)
IBM XLF Available.
CF77 Available.
CF90 Available.
DEC F77 Available.
PGF77 Available.
Sun F77 Available. DERF is specific for DOUBLE.
ERFC complementary error function
syntax ERFC(real)
IBM XLF Available.
CF77 Available.
CF90 Available.
DEC F77 Available.
DEC F90 Available.
PGF77 Available.
Sun F77 Available. DERFC is specific for DOUBLE.
ERRCTRL specify error control for a list of errors
CIVIC ERRCTRL not available in UNICOS. Any call to errctl will have to be reworked since error codes are not the same in UNICOS. The ability to transfer processing control to a supplied routine when an error occurs does not apply for catching general Fortran runtime errors.

I/O errors can be caught and interpreted by specifying a label to jump to when an error is encountered (err= on read, write, open, and close).

Control over system/hardware type errors can be established by using the following routine:
call fsigctl(action,sig,func)

ERRFLAG specify simple error control for most I/O errors.
CIVIC ERRFLAG not available in UNICOS. Error control must be specified with the err= option in open, close, read, write, etc.
ERRMSG set error message mode and flags
CIVIC ERRMSG not available in UNICOS.
ERRREST restore error control parameters
CIVIC ERRREST not available in UNICOS.
ERRSAVE save current error control flags and lists
CIVIC ERRSAVE not available in UNICOS.
ERRSNS get information about I/O system error
syntax CALL ERRSNS([io_err][, sys_err][, stat][, unit][, cond])
DEC F90 Available.
EXIT close all devices and terminate program
syntax CALL EXIT [(status)]
IBM XLF Must use CALL EXIT_(status)
CIVIC For call exit[(saveflag)] in UNICOS use
call exit(exitvalue) or
stop -- saveflag is not supported in UNICOS.
CF77 Available.
CF90 Available.
DEC F77 Available.
DEC F90 Available.
PGF77 Available.
Sun F77 Available.
Sun F90 Available.
EXP exponential
Available on all platforms.
syntax EXP(arg)
EXPI inline exponential
CIVIC Available. Alternate for EXP(arg)
EXPONENT get exponent of a real value
syntax EXPONENT(real)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
F_PTHREAD_CREATE use PTHREADS to create a thread
IBM XLF Available. A full set of interfaces to the PTHREADS library is supported.
FCD build a Fortran character descriptor
CF77 Available. Should be declared in an INTRINSIC statement.
CF90 Available.
Sun F90 Available.
FILELIST set file parameters
CIVIC Filelist not available in UNICOS. Most of the capabilities provided by call filelist can be implemented with a combination of the assign command and the open and close statements.
FILEUS return unit specifier associated with a file name
CIVIC On UNICOS, for call fileus(filename,unit) use inquire(file=filename,number=unit).
FILINFO return file parameters
CIVIC On UNICOS, for call filinfo(unit,state,info,len,listix[,name, outlen]) use inquire(unit, islist) for similar information.
FLOAT convert integer to real
syntax FLOAT(int)
IBM XLF Available.
CF77 Available. Should be declared in INTRINSIC statement if used with array argument.
FLOOR get closest integer less than or equal to a real value
syntax FLOOR(real)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
FLUSH flush output to a logical unit
syntax CALL FLUSH(unit)
IBM XLF Must use CALL FLUSH_(unit) for non-MPI jobs.
For MPI jobs, all processes must call MP_FLUSH(1)
CF77 Available.
CF90 Available.
DEC F90 Available.
PGF77 Available.
Sun F77 Available.
Sun F90 Available.
FORK create a copy of the current process
syntax FORK()
IBM XLF Available.
CF77 Available.
CF90 Available.
DEC F77 Available.
DEC F90 Available.
PGF77 Available.
Sun F77 Available.
Sun F90 Available.
FORMFEED write page restore into hardcopy or text file
CIVIC On UNICOS, for call formfeed(unit[,errlab]) use write format [,iolist] or print format [,iolist]
The same type of results can be imitated by using the Fortran print control characters in a print or write statement. UNICOS does not support a hardcopy file type.
FPSETS reset the floating-point modes
IBM XLF Allows resetting of the floating-point rounding modes. The FPGETS subroutine may be used to retrieve the current modes.
FP_CLASS get the class number for a real type
DEC F90 Available.
FRACTION fractional part of internal representation of a real
syntax FRACTION(real)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
FREE deallocate space allocated by malloc
syntax CALL FREE(ptr)
IBM XLF Available. This is a C routine and must be called with CALL FREE(%VAL(ptr))
DEC F77 Available.
DEC F90 Available.
PGF77 Available.
Sun F77 Available.
Sun F90 Available.
FREEIOC return available IOC
CIVIC FREEIOC not available in UNICOS. User must keep track of IOC's.
FREEUS return an available unit specificier.
CIVIC FREEUS not available in UNICOS. This has no meaning on UNICOS since everything associated with a file is returned when a file is closed.
FSEEK reposition a file
syntax FSEEK(unit, offset, from)
IBM XLF A function by this name is available, but this is a C routine that deals with C stream I/O. The file must have been opened with FOPEN and offset and from arguments must be passed by value.
CF77 Available.
CF90 Available.
DEC F77 Available.
DEC F90 Available.
PGF77 Available.
Sun F77 Available.
Sun F90 Available
FTELL find current position in a file
syntax FTELL(unit)
IBM XLF A function by this name is available, but this is a C routine that deals with C stream I/O. The file must have been opened with FOPEN and the function result is an 8 byte integer.
CF77 Available.
CF90 Available.
DEC F77 Available.
DEC F90 Available.
PGF77 Available.
Sun F77 Available.
Sun F90 Available
GAMMA gamma function
syntax GAMMA(real)
IBM XLF Available.
CF77 Available.
CF90 Available.
GETBUF allocate an I/O buffer for a disk file
CIVIC GETBUF not available in UNICOS. The UNICOS ASSIGN command provides the same capabilities as call getbuf. This is not executable from within a program unless used with the ishell routine.
GETCWD_ get pathname of current working directory
IBM XLF ierr=GETCWD_(string) returns the pathname in the argument.
Sun F77 Use GETCWD
Sun F90 Use GETCWD
GETENV get value of environment variable
syntax CALL GETENV(name, value)
IBM XLF Available.
CF77 Available.
CF90 Available.
DEC F77 Available.
DEC F90 Available.
PGF77 Available.
Sun F77 Available.
Sun F90 Available.
GETFD get the file descriptor for a connected Fortran logical unit
IBM XLF Available.
Sun F77 Available.
Sun F90 Available.
GETGID_ get the group id of the calling process
IBM XLF Available.
GETLOG_ get the login name of the user
IBM XLF Available.
Sun F77 Use GETLOG
Sun F90 Use GETLOG
GETNUMB break character string into numbers and symbols
CIVIC Available in libfor.a in UNICOS on the JEDI, LUKE, and LEIA machines.
CF77 Available in libfor.a in UNICOS on the JEDI, LUKE, and LEIA machines.
CF90 Available in libfor.a in UNICOS on the JEDI, LUKE, and LEIA machines.
GETPID_ get the process id of the current process
IBM XLF Available.
Sun F77 Use GETPID
Sun F90 Use GETPID
GETPOS obtain the file position
CF77 Available.
CF90 Available.
GETSYMB break character string into symbols
CIVIC Available in libfor.a in UNICOS on the JEDI, LUKE, and LEIA machines.
CF77 Available in libfor.a in UNICOS on the JEDI, LUKE, and LEIA machines.
CF90 Available in libfor.a in UNICOS on the JEDI, LUKE, and LEIA machines.
GETUID_ get the real user id of the current process
IBM XLF Available.
Sun F77 Use GETUID
Sun F90 Use GETUID
GIVE give a file to another user
CIVIC On UNICOS, for call give(filename,user[,errlab]) use if (ishell('cp filename user')) go to errlab
GMTIME_ convert system time to seconds, minutes, hours, day of month, etc.
IBM XLF Available. Values are returned in an integer array.
Sun F77 Use GMTIME
Sun F90 Use GMTIME
GOBCOM a common block which was always placed at address zero
CIVIC GOBCOM not available under UNICOS or NLTSS. If know address of external, can use absolute variable or pointer set to address.
CF77 Not available. Use pointer set to address.
HALTGO stop execution leaving a restartable dropfile.
CIVIC HALTGO not available in UNICOS.
HARDCOPY send a file to output device
CIVIC On UNICOS, for call hardcopy(file,dest,opt,box,clenbox[,errlab]) use if (ishell('lp file')) go to errlab
HARDERR set or remove control of hardware error
CIVIC On UNICOS, for call harderr(flag) use
call fsigctl(action,sig,func)
action is 'DUMPCORE', 'IGNORE', 'KILL', or 'REGISTER' and
sig is 'SIGSHUTDOWN', 'SIGPIPE', 'SIGPRE', 'SIGQUIT', or 'SIGSYS', and
func is routine to call if action is 'SIGCPULIM', 'SIGFPE', 'SIGHUP', 'SIGALRM', 'SIGNWE', 'SIGILL', 'SIGINT', 'SIGORE', 'REGISTER' (else 0).
HARDSAVE specify registers to be saved
CIVIC HARDSAVE not available in UNICOS.
HFIX conversion of real*4 to integer*2
syntax HFIX(real)
IBM XLF Available.
DEC F77 Available.
DEC F90 Available.
HOSTNM_ get the machine's host name
IBM XLF Available.
Sun F77 Use HOSTNM
Sun F90 Use HOSTNM
HUGE get largest number of a given type
syntax HUGE(arg)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
PGF77 FLMAX() or DFLMAX()
Sun F77 EPHUGE(arg)
IABS absolute value of integer
Available on all platforms.
syntax IABS(int)
DEC F90 Available. IIABS is specific for INTEGER(2); KIABS is specific for INTEGER(8);
IACHAR get position of a character in ASCII collating sequence
syntax IACHAR(char)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
Sun F77 Available.
IAND bitwise logical AND of integers
syntax IAND(int1, int2)
Fortran 90 Available.
IBM XLF Available.
CF77 Available.
CF90 Available.
DEC F77 Available.
DEC F90 Available. IIAND is specific for INTEGER(2); JIAND for INTEGER(4); KIAND for INTEGER(8).
PGF77 Available.
Sun F77 Available.
IARGC get number of arguments on the command line
IBM XLF icnt=iargc() returns the count.
Sun F77 Available.
Sun F90 Available.
IARGPTR get pointer to actual argument list to current routine
DEC F90 iptr=iargptr() returns the pointer.
IBCHNG reverse the value of a bit in an integer
DEC F90 int=ibchng(in,pos)
IBCLR clear a bit in an integer
syntax IBCLR(int, pos)
Fortran 90 Available.
IBM XLF Available. Or use CALL BIC_(pos, int)
CF77 Available.
CF90 Available.
DEC F77 Available.
DEC F90 Available. IIBCLR is specific for INTEGER(2); JIBCLR for INTEGER(4); KIBCLR for INTEGER(8).
PGF77 Available.
Sun F77 Available.
IBITS bit extraction
syntax IBITS(int, pos, len)
Fortran 90 Available.
IBM XLF Available. Can use BIT_(pos, int) to get a single bit as a logical result.
CF77 Available.
CF90 Available.
DEC F77 Available.
DEC F90 Available. IIBITS is specific for INTEGER(2); JIBITS for INTEGER(4); KIBITS for INTEGER(8).
PGF77 Available. First argument is integer*2 or integer*4
Sun F77 Available.
IBSET set a bit in an integer to 1
syntax IBSET(int, pos)
Fortran 90 Available.
IBM XLF Available. Or use CALL BIS_(pos, int)
CF77 Available.
CF90 Available.
DEC F77 Available.
DEC F90 Available. IIBSET is specific for INTEGER(2); JIBSET for INTEGER(4); KIBSET for INTEGER(8).
PGF77 Available.
Sun F77 Available.
ICHAR convert character to integer
Available on all platforms.
syntax ICHAR(char)
IDIM positive difference of integers
Available on all platforms.
syntax IDIM(int1, int2)
DEC F90 Available. IIDIM is specific for INTEGER(2); KIDIM for INTEGER(8).
IDINT convert double to integer
Available on all platforms.
syntax IDINT(dble)
IDNINT nearest integer to double precision real
Available on all platforms.
syntax IDINT(dble)
Sun F77 Available. IQNINT is specific for REAL(16).
IDTOUS associate I/O statement with unit specifier
CIVIC IDTOUS not available with UNICOS. UNICOS does not provide a program level interface to change the default input and output unit specifiers. It is possible however to redirect the input and output file at the UNICOS command level. For example:
a.out < indata >outdata
will cause UNICOS to execute the file a.out, read input from indata and write output to outdata.
IEOR bitwise exclusive OR of integers
syntax IEOR(int1, int2)
Fortran 90 Available.
IBM XLF Available.
CF77 Available.
CF90 Available.
DEC F77 Available.
DEC F90 Available. IIEOR is specific for INTEGER(2); JIEOR for INTEGER(4); KIEOR for INTEGER(8).
PGF77 Available.
Sun F77 Available.
IERRNO_ get the errno value for the last detected system error
IBM XLF ii=IERRNO_() returns the errno value.
IFIX convert real to integer type
Available on all platforms.
syntax IFIX(real)
ILEN get number of bits in two's complement representation of an integer
DEC F90 ii=ILEN(int)
IBM XLF ii=ILEN(int)
IMAG imaginary part of a complex number
syntax IMAG(cmplx)
IBM XLF Available.
DEC F77 Available.
Sun F77 Available.
INDEX find one character string in another
syntax INDEX(string, substring[,back)
Fortran 77 Back argument not available.
Fortran 90 Optional back argument available.
IBM XLF Optional back argument available.
CF90 Available.
DEC F90 Optional back argument available.
Sun F77 Available. RINDEX finds last occurrence of string
Sun F90 Available. RINDEX finds last occurrence of string
INT conversion to integer type
syntax INT(arg[,kind)
Fortran 77 Kind argument is not available.
Fortran 90 Optional second argument for kind available.
IBM XLF Optional second argument for kind available.
DEC F90 Optional second argument for kind available.
PGF77 Result is integer*4; JINT is same; use IINT for integer*2 result.
INT2CHAR transfer integer variable to Hollerith data
CIVIC In UNICOS must use ICHAR to convert integer to character. INT2CHAR is not available.
INTINFO return information about internal file parameters
CIVIC INTINFO not available in UNICOS. UNICOS does not support internal files the same way as LTSS does. On UNICOS an internal file is represented as a character variable, character array element, or character substring and is not associated with a unit.
INTLINK link unit to internal file
CIVIC INTLINK not available in UNICOS. UNICOS does not support internal files the same way as LTSS does. On UNICOS an internal file is represented as a character variable or character array element.
IOSCALE set default scale for formatted E output editing
CIVIC IOSCALE not available in UNICOS. The ANSI 77 scale factor of zero is the default in UNICOS. The only way to change this is to use the P edit descriptor on the FORMAT statement. There is no way to change the default scale factor from zero to some other value as ioscale does.
IOSTATUS return file status for last file access
CIVIC On UNICOS, for iflag=iostatus(unit[,errlab]) use err= or iostat= on read statement, call aqwait(aap,reply,reqid,status), unit(unit), length(unit), or call waitms(unit,istat[,ierr]) Available under UNICOS as IQIOSTAT, but only in support of 3-argument buffer in/out. There are various methods of getting the same type of information on UNICOS. Not all of the same type of information will be available and each program will have to be evaluated on how the data returned by iostatus is used.

Different types of information are available depending on the type of I/O routines being used. The err and iostat parameters on the read statement return much of the information provided by iostatus.

call aqwait waits until the asynchronous queued I/O request is complete and returns information on the request.

call waitms waits for completion of an asynchronous I/O operation and returns the status.

The unit and length functions are used with 2 argument buffer in statements to return similar information.

IOWAIT return status of overlapped I/O request
CIVIC On UNICOS, for iflag=iowait(unit[,errlab]) use
call aqstat(aap,reply,reqid,status) or
call checkms(unit,istat[,ierr])
The only way of getting a status of an I/O request without waiting for the request to end is with the AQSTAT routine when doing asynchrous I/O or the CALL CHECKMS routine for asynchronous random access I/O.

Two argument BUFFER IN functions (unit and length) both wait for the I/O request to complete. The read statement also waits for the I/O request to complete.

IQ8QARGS implicit variable number of arguments received
Fortran 77 Not Available.
Fortran 90 Must use PRESENT intrinsic to check for specific arguments.
IBM XLF Must use PRESENT intrinsic to check for specific arguments.
CIVIC Available.
CF77 Use NUMARG()
CF90 Use NUMARG()
IQ8QDSP implicit variable pointer to scratch area to use
Fortran 77 Not Available.
Fortran 90 Not Available.
CIVIC Available.
CF77 Not needed. Space is taken from SMM as needed.
CF90 Not needed. Space is taken from SMM as needed.
IQ8QRET implicit variable the return address in the calling routine
Fortran 77 Not Available.
Fortran 90 Not Available.
CIVIC Available.
IRAND get a random integer value
IBM XLF ii=IRAND() returns an integer greater than 0 and less than 32769. CALL SRAND(ii) is used to set the seed value.
Sun F77 ii=IRAND(k) returns an integer greater than 0 and less than 2147483647 if k.eq.0; otherwise resets or reseeds sequence.
Sun F90 ii=IRAND(k) returns an integer greater than 0 and less than 2147483647 if k.eq.0; otherwise resets or reseeds sequence.
IRTC clock register as integer
Fortran 77 Not Available.
IBM XLF Available. Result is integer*8. Use DTIME_ or ETIME_ to get user and system time since last call or since start of the process. Results are returned in a structure.
CIVIC Available.
CF77 Available.
CF90 Available.
DEC F77 SECNDS for time in seconds (minus argument).
DEC F90 SECNDS for time in seconds (minus argument).
PGF77 Use TIME or SECNDS for time in seconds.
Sun F77 Use DTIME or ETIME to get user or system time.
SECNDS for time in seconds (minus argument).
Sun F90 Use DTIME or ETIME to get user or system time.
SECNDS for time in seconds (minus argument).
ISHA arithmetic shift of an integer
DEC F90 ii=ISHA(in,shift_count) shifts left if shift_count is positive, right if negative.
ISHFT logical shift of an integer
syntax ISHFT(int, count)
Fortran 90 Available.
IBM XLF Available.
CF77 Available.
CF90 Available.
DEC F77 Available.
DEC F90 Available. IISHFT is specific for INTEGER(2); JISHFT for INTEGER(4); KISHFT for INTEGER(8).
PGF77 Available.
Sun F77 Available.
ISHFTC circular shift of rightmost bits of an integer
syntax ISHFTC(int, count[,size])
Fortran 90 Available.
IBM XLF Available.
CF77 Available.
CF90 Available.
DEC F77 Available.
DEC F90 Available. IISHFTC is specific for INTEGER(2); JISHFTC for INTEGER(4); KISHFTC for INTEGER(8).
PGF77 Available.
Sun F77 Available.
ISIGN transfer sign of integer
Available on all platforms.
syntax ISIGN(int1, int2)
DEC F90 Available. IISIGN is specific for INTEGER(2); KISIGN for INTEGER(8).
ISNAN test for Not-a-Number (NaN)
DEC F90 logical=ISNAN(real)
IZACTSUF report on active suffices
CIVIC err=IZACTSUF(suffixarray). Available in cbaselib--always reports only the "a" suffix is active.
IZBYPASS set/clear message bypasses
CIVIC err=IZBYPASS(onoff,how,who). Available in cbaselib--always returns an error.
IZCHANGE rename a file
IBM XLF ierr=MFCHANGE(oldpath,newpath) in mbase
CIVIC err=IZCHANGE(oldname,newname,oldflag,newflag). Available in cbaselib.
CF77 ierr=MFCHANGE(oldpath,newpath) in mbase
CF90 ierr=MFCHANGE(oldpath,newpath) in mbase
DEC F77 ierr=MFCHANGE(oldpath,newpath) in mbase
DEC F90 ierr=MFCHANGE(oldpath,newpath) in mbase
PGF77 ierr=MFCHANGE(oldpath,newpath) in mbase
Sun F77 ierr=MFCHANGE(oldpath,newpath) in mbase
IZCLOSE close a file
IBM XLF ierr=MFCLOSE(ioc,rwx) in mbase
CIVIC err=IZCLOSE(ioc,rwaccess). Available in cbaselib. As in nbaselib, permissions are not changed.
CF77 ierr=MFCLOSE(ioc,rwx) in mbase
CF90 ierr=MFCLOSE(ioc,rwx) in mbase
DEC F77 ierr=MFCLOSE(ioc,rwx) in mbase
DEC F90 ierr=MFCLOSE(ioc,rwx) in mbase
PGF77 ierr=MFCLOSE(ioc,rwx) in mbase
Sun F77 ierr=MFCLOSE(ioc,rwx) in mbase
IZCLSSSD close an SSD file
CIVIC err=IZCLSSSD(ioc,dopt). Available in cbaselib--always returns an error.
IZCREATE create a file
IBM XLF ierr=MFOPEN(ioc,name,status,mode,size,rwx) in mbase with action set to indicate create.
CIVIC err=IZCREATE(ioc,filename,filesize). Available in cbaselib. Filesize is ignored on Unicos
CF77 ierr=MFOPEN(ioc,name,status,mode,size,rwx) in mbase with action set to indicate create.
CF90 ierr=MFOPEN(ioc,name,status,mode,size,rwx) in mbase with action set to indicate create.
DEC F77 ierr=MFOPEN(ioc,name,status,mode,size,rwx) in mbase with action set to indicate create.
DEC F90 ierr=MFOPEN(ioc,name,status,mode,size,rwx) in mbase with action set to indicate create.
PGF77 ierr=MFOPEN(ioc,name,status,mode,size,rwx) in mbase with action set to indicate create.
Sun F77 ierr=MFOPEN(ioc,name,status,mode,size,rwx) in mbase with action set to indicate create.
IZCRLVL set default file creation level
IBM XLF Not available. UMASK_(mask) can be used to set the file mode creation mask.
CIVIC err=IZCRLVL(...). A No-op in cbaselib.
IZDKIN read asynchronously from disk
IBM XLF ierr=MFDKIN(ioc,memaddr,dskaddr,bytecount) in mbase. File must have been opened or created with MFOPEN.
CIVIC err=IZDKIN(ioc,array,dskad,wordcount). Available in cbaselib. File must have been opened with izopen or created with izcreate.
CF77 ierr=MFDKIN(ioc,memaddr,dskaddr,bytecount) in mbase. File must have been opened or created with MFOPEN.
CF90 ierr=MFDKIN(ioc,memaddr,dskaddr,bytecount) in mbase. File must have been opened or created with MFOPEN.
DEC F77 ierr=MFDKIN(ioc,memaddr,dskaddr,bytecount) in mbase. File must have been opened or created with MFOPEN.
DEC F90 ierr=MFDKIN(ioc,memaddr,dskaddr,bytecount) in mbase. File must have been opened or created with MFOPEN.
PGF77 ierr=MFDKIN(ioc,memaddr,dskaddr,bytecount) in mbase. File must have been opened or created with MFOPEN.
Sun F77 ierr=MFDKIN(ioc,memaddr,dskaddr,bytecount) in mbase. File must have been opened or created with MFOPEN.
IZDKOUT write asynchronously to disk
IBM XLF ierr=MFDKOUT(ioc,memaddr,dskaddr,bytecount) in mbase. File must have been opened or created with MFOPEN.
CIVIC err=IZDKOUT(ioc,array,dskad,wordcount). Available in cbaselib. File must have been opened with izopen or created with izcreate. Asynchronous write--use IZIOSTAT to wait for completion.
CF77 ierr=MFDKOUT(ioc,memaddr,dskaddr,bytecount) in mbase. File must have been opened or created with MFOPEN.
CF90 ierr=MFDKOUT(ioc,memaddr,dskaddr,bytecount) in mbase. File must have been opened or created with MFOPEN.
DEC F77 ierr=MFDKOUT(ioc,memaddr,dskaddr,bytecount) in mbase. File must have been opened or created with MFOPEN.
DEC F90 ierr=MFDKOUT(ioc,memaddr,dskaddr,bytecount) in mbase. File must have been opened or created with MFOPEN.
PGF77 ierr=MFDKOUT(ioc,memaddr,dskaddr,bytecount) in mbase. File must have been opened or created with MFOPEN.
Sun F77 ierr=MFDKOUT(ioc,memaddr,dskaddr,bytecount) in mbase. File must have been opened or created with MFOPEN.
IZDKPTRN write disk pattern in a file
CIVIC err=IZDKPTRN(ioc,pattern,len,dskad). Available in cbaselib. Asynchronous write--use IZIOSTAT to wait for completion.
IZDROP create a drop file
CIVIC err=izdrop(name,size,flag). Available in cbaselib. Only use under UNICOS is to initialize the library. Arguments are ignored in UNICOS.
IZDSCNEK dissconnect a controllee
IBM XLF ierr=MZDSCNEK(handle) in mbase.
CIVIC err=IZDCNEK(dummy). Available in cbaselib. Dummy argument now means: 0: kill current controllee--not restartable; 1: controllee remains and will be restartable.
CF77 ierr=MZDSCNEK(handle) in mbase.
CF90 ierr=MZDSCNEK(handle) in mbase.
DEC F77 ierr=MZDSCNEK(handle) in mbase.
DEC F90 ierr=MZDSCNEK(handle) in mbase.
PGF77 ierr=MZDSCNEK(handle) in mbase.
Sun F77 ierr=MZDSCNEK(handle) in mbase.
IZDSTROY destroy a file
IBM XLF ierr=MFDSTROY(name) in mbase.
CIVIC err=IZDSTROY(name,justify). Available in cbaselib.
CF77 ierr=MFDSTROY(name) in mbase.
CF90 ierr=MFDSTROY(name) in mbase.
DEC F77 ierr=MFDSTROY(name) in mbase.
DEC F90 ierr=MFDSTROY(name) in mbase.
PGF77 ierr=MFDSTROY(name) in mbase.
Sun F77 ierr=MFDSTROY(name) in mbase.
IZENVMCH return hardware information
CIVIC err=IZENVMCH(...). Available in cbaselib.
IZENVOS return operating system information
CIVIC err=IZENVOS(...). Available in cbaselib. In UNICOS returns version and name only, not time or date.
IZENVSSD return SSD information
CIVIC err=IZENVSSD(...). Dummy in cbaselib--always returns an error.
IZEXT zero extend logical to integer*2
syntax IZEXT(arg)
DEC F77 Available.
DEC F90 Available.
PGF77 Available.
Sun F77 Available.
IZEXIT exit from the machine
IBM XLF call MZEXIT(flag,exitval) in mbase or CALL EXIT_(exitval).
CIVIC call IZEXIT(flag[,exitstatus]). Available in cbaselib. Leaves a core file on Unicos if flag=1.
CF77 call MZEXIT(flag,exitval) in mbase.
CF90 call MZEXIT(flag,exitval) in mbase.
DEC F77 call MZEXIT(flag,exitval) in mbase.
DEC F90 call MZEXIT(flag,exitval) in mbase.
PGF77 call MZEXIT(flag,exitval) in mbase.
Sun F77 call MZEXIT(flag,exitval) in mbase.
IZFILNDX return file index
IBM XLF ierr=MGFILNDX(pathname,names,max,nrcv) in mbase.
CIVIC err=IZFILNDX(array,max,type,nrcv). Available in cbaselib. In UNICOS the file index information for the current directory is returned. Fourteen character file names must be allowed.
CF77 ierr=MGFILNDX(pathname,names,max,nrcv) in mbase.
CF90 ierr=MGFILNDX(pathname,names,max,nrcv) in mbase.
DEC F77 ierr=MGFILNDX(pathname,names,max,nrcv) in mbase.
DEC F90 ierr=MGFILNDX(pathname,names,max,nrcv) in mbase.
PGF77 ierr=MGFILNDX(pathname,names,max,nrcv) in mbase.
Sun F77 ierr=MGFILNDX(pathname,names,max,nrcv) in mbase.
IZFILSIZ change file size of existing file
IBM XLF ierr=MFSHRINK(name,newsize) in mbase or ierr=MFWRZERO(ioc,size) in mbase to expand file by writing zeros.
CIVIC err=IZFILSIZ(...). Available in cbaselib. In UNICOS if the new file size is smaller, the file will be truncated; if larger the system will be informed; if equal, unused blocks will be released.
CF77 ierr=MFSHRINK(name,newsize) in mbase or ierr=MFWRZERO(ioc,size) in mbase to expand file by writing zeros.
CF90 ierr=MFSHRINK(name,newsize) in mbase or ierr=MFWRZERO(ioc,size) in mbase to expand file by writing zeros.
DEC F77 ierr=MFSHRINK(name,newsize) in mbase or ierr=MFWRZERO(ioc,size) in mbase to expand file by writing zeros.
DEC F90 ierr=MFSHRINK(name,newsize) in mbase or ierr=MFWRZERO(ioc,size) in mbase to expand file by writing zeros.
PGF77 ierr=MFSHRINK(name,newsize) in mbase or ierr=MFWRZERO(ioc,size) in mbase to expand file by writing zeros.
Sun F77 ierr=MFSHRINK(name,newsize) in mbase or ierr=MFWRZERO(ioc,size) in mbase to expand file by writing zeros.
IZGACID returns account name associated with calling process
CF77 Available in cbaselib.
IZGCRSIZ returns current size of calling process
CF77 Available in cbaselib.
IZGETCHG return user charged time
CIVIC err=IZGETCHG(...). Available in cbaselib. In UNICOS the unweighted CPU time will be returned.
IZGETIOC get an available IOC number
IBM XLF ierr=MFGETIOC(ioc) in mbase.
CIVIC err=IZGETIOC(ioc). Available in cbaselib.
CF77 ierr=MFGETIOC(ioc) in mbase.
CF90 ierr=MFGETIOC(ioc) in mbase.
DEC F77 ierr=MFGETIOC(ioc) in mbase.
DEC F90 ierr=MFGETIOC(ioc) in mbase.
PGF77 ierr=MFGETIOC(ioc) in mbase.
Sun F77 ierr=MFGETIOC(ioc) in mbase.
IZGLOGIN returns the login name associated with the calling process
IBM XLF ierr=MGLOGNM(name,len) in mbase gets log-in name for current session or use CALL GETLOG_(name).
CF77 ierr=MGLOGNM(name,len) in mbase gets log-in name for current session or use IZGLOGIN in cbaselib.
CF90 ierr=MGLOGNM(name,len) in mbase gets log-in name for current session.
DEC F77 ierr=MGLOGNM(name,len) in mbase gets log-in name for current session.
DEC F90 ierr=MGLOGNM(name,len) in mbase gets log-in name for current session.
PGF77 ierr=MGLOGNM(name,len) in mbase gets log-in name for current session.
Sun F77 ierr=MGLOGNM(name,len) in mbase gets log-in name for current session.
IZGETME get a message from controllee
IBM XLF ierr=MZGETMC(handle,msg,wait,nrcv) in mbase.
CIVIC err=IZGETME(msg,max,rls,nrcv). Available in cbaselib. In UNICOS, subject to limitations.
CF77 ierr=MZGETMC(handle,msg,wait,nrcv) in mbase.
CF90 ierr=MZGETMC(handle,msg,wait,nrcv) in mbase.
DEC F77 ierr=MZGETMC(handle,msg,wait,nrcv) in mbase.
DEC F90 ierr=MZGETMC(handle,msg,wait,nrcv) in mbase.
PGF77 ierr=MZGETMC(handle,msg,wait,nrcv) in mbase.
Sun F77 ierr=MZGETMC(handle,msg,wait,nrcv) in mbase.
IZGETMR get a message from controller
IBM XLF Use CALL GETARG(n,arg) to get nth execute line argument; ierr=MZGETMP(msg,wait,nrcv) in mbase to get other messages from parent process.
CIVIC err=IZGETMR(msg,max,wait,nrcv). Available in cbaselib subject to limitations.
CF77 Use CALL GETARG(n,arg) to get nth execute line argument; ierr=MZGETMP(msg,wait,nrcv) in mbase to get other messages from parent process.
CF90 Use CALL GETARG(n,arg) to get nth execute line argument; ierr=MZGETMP(msg,wait,nrcv) in mbase to get other messages from parent process.
DEC F77 Use CALL GETARG(n,arg) to get nth execute line argument; ierr=MZGETMP(msg,wait,nrcv) in mbase to get other messages from parent process.
DEC F90 Use CALL GETARG(n,arg) to get nth execute line argument; ierr=MZGETMP(msg,wait,nrcv) in mbase to get other messages from parent process.
PGF77 Use CALL GETARG(n,arg) to get nth execute line argument; ierr=MZGETMP(msg,wait,nrcv) in mbase to get other messages from parent process.
Sun F77 Use CALL GETARG(n,arg) to get nth execute line argument; ierr=MZGETMP(msg,wait,nrcv) in mbase to get other messages from parent process.
Sun F90 Use CALL GETARG(n,arg) to get nth execute line argument; ierr=MZGETMP(msg,wait,nrcv) in mbase to get other messages from parent process.
IZGETPID returns process ID associated with the calling process
IBM XLF ierr=MGPID(pid) in mbase or pid=GETPID_().
CF77 ierr=MGPID(pid) in mbase or IZGETPID in cbaselib
CF90 ierr=MGPID(pid) in mbase
DEC F77 ierr=MGPID(pid) in mbase
DEC F90 ierr=MGPID(pid) in mbase
PGF77 ierr=MGPID(pid) in mbase or pid=GETPID()
Sun F77 ierr=MGPID(pid) in mbase or pid=GETPID()
IZGETRTC get real time clock
IBM XLF xx=RTC() returns time in real*8 seconds.
CIVIC rtc=IZGETRTC(dummy). Available in cbaselib.
CF77 xx=RTC() for real value or ii=IRTC() for integer
CF90 xx=RTC() for real value or ii=IRTC() for integer
IZGETSE get symbols from controllee
IBM XLF ierr=MZGETSC(handle,sym,max,wait,nrcv) in mbase.
CIVIC err=IZGETSE(sym,max,wait,nrcv,justify). Available in cbaselib.
CF77 ierr=MZGETSC(handle,sym,max,wait,nrcv) in mbase.
CF90 ierr=MZGETSC(handle,sym,max,wait,nrcv) in mbase.
DEC F77 ierr=MZGETSC(handle,sym,max,wait,nrcv) in mbase.
DEC F90 ierr=MZGETSC(handle,sym,max,wait,nrcv) in mbase.
PGF77 ierr=MZGETSC(handle,sym,max,wait,nrcv) in mbase.
Sun F77 ierr=MZGETSC(handle,sym,max,wait,nrcv) in mbase.
IZGETSR get symbols from controller
IBM XLF ierr=MZGETSP(sym,max,wait,nrcv) in mbase.
CIVIC err=IZGETSR(sym,max,wait,nrcv,justify). Available in cbaselib.
CF77 ierr=MZGETSP(sym,max,wait,nrcv) in mbase.
CF90 ierr=MZGETSP(sym,max,wait,nrcv) in mbase.
DEC F77 ierr=MZGETSP(sym,max,wait,nrcv) in mbase.
DEC F90 ierr=MZGETSP(sym,max,wait,nrcv) in mbase.
PGF77 ierr=MZGETSP(sym,max,wait,nrcv) in mbase.
Sun F77 ierr=MZGETSP(sym,max,wait,nrcv) in mbase.
IZGETXST get exit status
IBM XLF err=MZSTAT(handle,exit_status) in mbase.
CIVIC err=IZGETXST(...). Available in cbaselib.
CF77 err=MZSTAT(handle,exit_status) in mbase.
CF90 err=MZSTAT(handle,exit_status) in mbase.
DEC F77 err=MZSTAT(handle,exit_status) in mbase.
DEC F90 err=MZSTAT(handle,exit_status) in mbase.
PGF77 err=MZSTAT(handle,exit_status) in mbase.
Sun F77 err=MZSTAT(handle,exit_status) in mbase.
IZGIVE give file to another user
CIVIC err=IZGIVE(filename,user,justify). Available in cbaselib with limitations.
IZHARD get control of hardware errors
CIVIC err=IZHARD(mask,routine). Available in cbaselib. In UNICOS, when the user entry point is called the value for "taskid" will not be set.
IZIOCNAM return the name associated with an IOC
IBM XLF ierr=MFIOCNAM(ioc,namebuf,namesize) in mbase.
CIVIC err=IZIOCNAM(...). Available in cbaselib.
CF77 ierr=MFIOCNAM(ioc,namebuf,namesize) in mbase.
CF90 ierr=MFIOCNAM(ioc,namebuf,namesize) in mbase.
DEC F77 ierr=MFIOCNAM(ioc,namebuf,namesize) in mbase.
DEC F90 ierr=MFIOCNAM(ioc,namebuf,namesize) in mbase.
PGF77 ierr=MFIOCNAM(ioc,namebuf,namesize) in mbase.
Sun F77 ierr=MFIOCNAM(ioc,namebuf,namesize) in mbase.
IZIODONE wait for all disk i/o to complete
IBM XLF ierr=MFIODONE() in mbase.
CIVIC err=IZIODONE(...). Available in cbaselib.
CF77 ierr=MFIODONE() in mbase.
CF90 ierr=MFIODONE() in mbase.
DEC F77 ierr=MFIODONE() in mbase.
DEC F90 ierr=MFIODONE() in mbase.
PGF77 ierr=MFIODONE() in mbase.
Sun F77 ierr=MFIODONE() in mbase.
IZIOSTAT wait for i/o to complete on specific IOC
IBM XLF ierr=MFIOSTAT(ioc,giveup,bytecount) in mbase.
CIVIC err=IZIOSTAT(ioc,giveup,wrdcnt). Available in cbaselib.
CF77 ierr=MFIOSTAT(ioc,giveup,bytecount) in mbase.
CF90 ierr=MFIOSTAT(ioc,giveup,bytecount) in mbase.
DEC F77 ierr=MFIOSTAT(ioc,giveup,bytecount) in mbase.
DEC F90 ierr=MFIOSTAT(ioc,giveup,bytecount) in mbase.
PGF77 ierr=MFIOSTAT(ioc,giveup,bytecount) in mbase.
Sun F77 ierr=MFIOSTAT(ioc,giveup,bytecount) in mbase.
IZLCLOSE close a file (list argument)
IBM XLF Not available. Use MFCLOSE.
CIVIC err=IZLCLOSE(list,lenlist). Available in cbaselib. In UNICOS the load length flag and load length size are ignored.
PGF77 Not available. Use MFCLOSE.
Sun F77 Not available. Use MFCLOSE.
IZLCREAT create a file (list argument)
IBM XLF Not available. Use MFOPEN.
CIVIC err=IZLCREAT(list,lenlist). Available in cbaselib. In UNICOS, punit (select a unit), length, and justify flag are not used.
PGF77 Not available. Use MFOPEN.
Sun F77 Not available. Use MFOPEN.
IZLDINFO return time, date, & machine where code loaded
IBM XLF ierr=MGLDINFO(time,date) in mbase.
CIVIC err=IZLDINFO(time,date,mach). Available in cbaselib. Requires system call overhead in UNICOS.
CF77 ierr=MGLDINFO(time,date) in mbase.
CF90 ierr=MGLDINFO(time,date) in mbase.
DEC F77 ierr=MGLDINFO(time,date) in mbase.
DEC F90 ierr=MGLDINFO(time,date) in mbase.
PGF77 ierr=MGLDINFO(time,date) in mbase.
Sun F77 ierr=MGLDINFO(time,date) in mbase.
IZLOPEN open a file (list argument)
IBM XLF Not available. Use MFOPEN.
CIVIC err=IZLOPEN(list,lenlist). Available in cbaselib. In UNICOS the punit, own, and load length values are not returned and the justify flag is not used.
PGF77 Not available. Use MFOPEN.
Sun F77 Not available. Use MFOPEN.
IZLOPSSD open SSD file
CIVIC err=IZLOPSSD(list,lenlist). Dummy in cbaselib that always returns an error.
IZLRUNSF run controllee on another suffix
CIVIC err=IZLRUNSF(a,length). Dummy in cbaselib that always returns an error.
IZM00 return cpu, i/o, and system times
IBM XLF totaltime=ETIME_(time_struct) gets user and system elapsed time in the time_struct derived type variable and returns the sum of those times as the function value. DTIME_ is similar except that the function value is just the user and system time since the last call to DTIME_.
CIVIC err=IZM00(array). Available in cbaselib. In UNICOS, I/O time will always be zero.
PGF77 totaltime=ETIME(timearray) gets cpu time in timearray(1) and system time in timearray(2).
IZM01 return time, date, and machine letter
IBM XLF ierr=MGHOSTNM(hostname,len) in mbase to get host name or ierr=HOSTNM_(hostname); ierr=MGTIME(time,date) in mbase to get current ASCII time and date; ITIME_ to get time in a numerical form returned in a structure; TIME_() to get the current time as integer*4.
CIVIC err=IZM01(array). Available in cbaselib.
CF77 ierr=MGHOSTNM(hostname,len) in mbase to get host name. ierr=MGTIME(time,date) in mbase to get current ASCII time and date.
CF90 ierr=MGHOSTNM(hostname,len) in mbase to get host name. ierr=MGTIME(time,date) in mbase to get current ASCII time and date.
DEC F77 ierr=MGHOSTNM(hostname,len) in mbase to get host name. ierr=MGTIME(time,date) in mbase to get current ASCII time and date.
DEC F90 ierr=MGHOSTNM(hostname,len) in mbase to get host name. ierr=MGTIME(time,date) in mbase to get current ASCII time and date.
PGF77 ierr=MGHOSTNM(hostname,len) in mbase to get host name. ierr=MGTIME(time,date) in mbase to get current ASCII time and date.
Sun F77 ierr=MGHOSTNM(hostname,len) in mbase to get host name or ierr=HOSTNM(name)
ierr=MGTIME(time,date) in mbase to get current ASCII time and date
call ITIME(array) to get current system time.
Sun F90 ierr=MGHOSTNM(hostname,len) in mbase to get host name or ierr=HOSTNM(name)
ierr=MGTIME(time,date) in mbase to get current ASCII time and date
call ITIME(array) to get current system time.
IZM02 return user #, account #, drop filename, & suffix letter
IBM XLF ierr=MGLOGNM(name,len) in mbase gets log-in name for current session.
CIVIC err=IZM02(array). Available in cbaselib. In UNICOS, suffix will always be "a" and dropname will be constructed from the process id.
CF77 ierr=MGLOGNM(name,len) in mbase gets log-in name for current session.
CF90 ierr=MGLOGNM(name,len) in mbase gets log-in name for current session.
DEC F77 ierr=MGLOGNM(name,len) in mbase gets log-in name for current session.
DEC F90 ierr=MGLOGNM(name,len) in mbase gets log-in name for current session.
PGF77 ierr=MGLOGNM(name,len) in mbase gets log-in name for current session.
Sun F77 ierr=MGLOGNM(name,len) in mbase gets log-in name for current session.
IZM03 return time limit, priority, bank pool
IBM XLF MGLIMIT in mbase returns the remaining time limit for the process.
CIVIC err=IZM03(array). Available in cbaselib. UNICOS returns the maximum number of cpu clocks allowed for a job, the "nice" value, and nothing that corresponds to the bank pool. So IZM03 is a stub. Returns interactive or batch time limit for interactive or batch job respectively.
CF77 MGLIMIT in mbase returns the remaining time limit for the process.
CF90 MGLIMIT in mbase returns the remaining time limit for the process.
DEC F77 MGLIMIT in mbase returns the remaining time limit for the process.
DEC F90 MGLIMIT in mbase returns the remaining time limit for the process.
PGF77 MGLIMIT in mbase returns the remaining time limit for the process.
Sun F77 MGLIMIT in mbase returns the remaining time limit for the process.
IZM04 return controller and controllee names
CIVIC err=IZM04(array). Available in cbaselib. In UNICOS, names returned are based on the process id's.
IZM05 return system master clock
CIVIC err=IZM05(array). Dummy in cbaselib as in nbaselib.
IZMACH return type of CRAY machine
CIVIC mtype=IZMACH(dummy). Available in cbaselib.
IZMAXFL return largest allowable field length
IBM XLF ierr=MGMAXFL(maxfl) in mbase (size in bytes).
CIVIC err=IZMAXFL(maxfl). Available in cbaselib.
CF77 ierr=MGMAXFL(maxfl) in mbase (size in bytes).
CF90 ierr=MGMAXFL(maxfl) in mbase (size in bytes).
DEC F77 ierr=MGMAXFL(maxfl) in mbase (size in bytes).
DEC F90 ierr=MGMAXFL(maxfl) in mbase (size in bytes).
PGF77 ierr=MGMAXFL(maxfl) in mbase (size in bytes).
Sun F77 ierr=MGMAXFL(maxfl) in mbase (size in bytes).
IZMICS return microsecond clock
IBM XLF ierr=MGMICS(sec, usec) in mbase.
CIVIC mtime=IZMICS(dummy). Available in cbaselib.
CF77 ierr=MGMICS(sec, usec) in mbase.
CF90 ierr=MGMICS(sec, usec) in mbase.
DEC F77 ierr=MGMICS(sec, usec) in mbase.
DEC F90 ierr=MGMICS(sec, usec) in mbase.
PGF77 ierr=MGMICS(sec, usec) in mbase.
Sun F77 ierr=MGMICS(sec, usec) in mbase.
IZMODTLP modify time limit and priority
CIVIC err=IZMODTLP(newpri,oldpri,newtl,oldtl). Available in cbaselib, but can only be used to reduce priority.
IZMSGINT set terminal interrupts
CIVIC err=IZMSGINT(flag,routine). Available in cbaselib. In UNICOS, interrupts can only occur when a control-C is typed--not on "any" character typed.
IZNEWACT reset account number
CIVIC err=IZNEWACT(newact). Dummy routine in cbaselib.
IZNITIAL initialize controllee
IBM XLF status=SYSTEM(string) can be used to start string or ierr=MZNITIAL(filename,timelim,handle,cmdline) in mbase.
CIVIC err=IZNITIAL(name,tl,pr). Available in cbaselib. In UNICOS, time limit cannot be set and priority can only be reduced.
CF77 ierr=MZNITIAL(filename,timelim,handle,cmdline) in mbase.
CF90 ierr=MZNITIAL(filename,timelim,handle,cmdline) in mbase.
DEC F77 status=SYSTEM(string) can be used to start string or ierr=MZNITIAL(filename,timelim,handle,cmdline) in mbase.
DEC F90 status=SYSTEM(string) can be used to start string or ierr=MZNITIAL(filename,timelim,handle,cmdline) in mbase.
PGF77 status=SYSTEM(string) can be used to start string or ierr=MZNITIAL(filename,timelim,handle,cmdline) in mbase.
Sun F77 status=SYSTEM(string) can be used to start string or ierr=MZNITIAL(filename,timelim,handle,cmdline) in mbase.
Sun F90 status=SYSTEM(string) can be used to start string or ierr=MZNITIAL(filename,timelim,handle,cmdline) in mbase.
IZOPEN open a disk file
IBM XLF ierr=MFOPEN(ioc,name,status,mode,size,rwx) in mbase.
CIVIC err=IZOPEN(ioc,name,size,rwaccess). Available in cbaselib with differences in rwaccess.
CF77 ierr=MFOPEN(ioc,name,status,mode,size,rwx) in mbase.
CF90 ierr=MFOPEN(ioc,name,status,mode,size,rwx) in mbase.
DEC F77 ierr=MFOPEN(ioc,name,status,mode,size,rwx) in mbase.
DEC F90 ierr=MFOPEN(ioc,name,status,mode,size,rwx) in mbase.
PGF77 ierr=MFOPEN(ioc,name,status,mode,size,rwx) in mbase.
Sun F77 ierr=MFOPEN(ioc,name,status,mode,size,rwx) in mbase.
IZOPMSG send message to operator
CIVIC err=IZOPMSG(msg,len). Available in cbaselib.
IZOPNSSD open SSD shadow file
CIVIC err=IZOPNSSD(ioc,name,size,rwaccess,popt). Dummy in cbaselib that always returns an error.
IZPRGFL return current field length
IBM XLF ierr=MGPRGFL(fieldlength) in mbase.
CIVIC err=IZPRGFL(fieldlength) in cbaselib.
CF77 ierr=MGPRGFL(fieldlength) in mbase.
CF90 ierr=MGPRGFL(fieldlength) in mbase.
DEC F77 ierr=MGPRGFL(fieldlength) in mbase.
DEC F90 ierr=MGPRGFL(fieldlength) in mbase.
PGF77 ierr=MGPRGFL(fieldlength) in mbase.
Sun F77 ierr=MGPRGFL(fieldlength) in mbase.
IZPRGLVL return current security level
CIVIC err=IZPRGLVL(level). Available in cbaselib.
IZPRGNAM return program name
IBM XLF call GETARG(0,origname)
CIVIC err=IZPRGNAM(origname). Available in cbaselib. In UNICOS, name may be a long pathname.
CF77 call GETARG(0,origname)
CF90 call GETARG(0,origname)
PGF77 call GETARG(0,origname)
Sun F77 call GETARG(0,origname)
IZREGDMP return register set after hardware interrupt
CIVIC err=IZREGDMP(regset,taskid,regptr,reglen). Available in cbaselib, but format may differ slightly.
IZRELPI release or return from interrupt
CIVIC err=IZRELPI(flag). Dummy routine in cbaselib as in nbaselib.
IZRENDRP rename drop file
CIVIC err=IZRENDRP(...). IZRENDRP not available in cbaselib.
IZRLSIOC release a reservation on an IOC
IBM XLF ierr=MFRLSIOC(ioc) in mbase.
CIVIC err=IZRLSIOC(ioc). Available in cbaselib.
CF77 ierr=MFRLSIOC(ioc) in mbase.
CF90 ierr=MFRLSIOC(ioc) in mbase.
DEC F77 ierr=MFRLSIOC(ioc) in mbase.
DEC F90 ierr=MFRLSIOC(ioc) in mbase.
PGF77 ierr=MFRLSIOC(ioc) in mbase.
Sun F77 ierr=MFRLSIOC(ioc) in mbase.
IZRSVIOC reserve a specific IOC
IBM XLF ierr=MFRSVIOC(ioc) in mbase.
CIVIC err=IZRSVIOC(ioc). Available in cbaselib.
CF77 ierr=MFRSVIOC(ioc) in mbase.
CF90 ierr=MFRSVIOC(ioc) in mbase.
DEC F77 ierr=MFRSVIOC(ioc) in mbase.
DEC F90 ierr=MFRSVIOC(ioc) in mbase.
PGF77 ierr=MFRSVIOC(ioc) in mbase.
Sun F77 ierr=MFRSVIOC(ioc) in mbase.
IZRUNOFS initialize a controllee from a LIB file
CIVIC err=IZRUNOFS(filename,timelim,priority,offset,loadlen). Dummy routine in cbaselib.
IZSCMLCM adjust field length
CIVIC err=IZSCMLCM(newfls,newfll). Available in cbaselib. In UNICOS, may conflict with C codes using malloc and free.
IZSETPI set program interrupt
CIVIC err=IZSETPI(label,flag). Dummy in cbaselib as in nbaselib.
IZSETPM set for performance monitoring
CIVIC err=IZSETPM(option,savearea,length). IZSETPM not available in cbaselib.
IZSETXV set exit status
IBM XLF Can't set exit status until CALL EXIT_(status)
CIVIC err=IZSETXV(status). Available in cbaselib. Must then exit program with IZEXIT to make status known.
DEC F77 Can't set exit status until CALL EXIT(status)
DEC F90 Can't set exit status until CALL EXIT(status)
PGF77 Can't set exit status until CALL EXIT(status)
Sun F77 Can't set exit status until CALL EXIT(status)
Sun F90 Can't set exit status until CALL EXIT(status)
IZSHRINK truncate file size
IBM XLF ierr=MFSHRINK(name,size) in mbase can be used to truncate a file.
CIVIC err=IZSHRINK(filename,newsize,justify). Available in cbaselib.
CF77 ierr=MFSHRINK(name,size) in mbase can be used to truncate a file.
CF90 ierr=MFSHRINK(name,size) in mbase can be used to truncate a file.
DEC F77 ierr=MFSHRINK(name,size) in mbase can be used to truncate a file.
DEC F90 ierr=MFSHRINK(name,size) in mbase can be used to truncate a file.
PGF77 ierr=MFSHRINK(name,size) in mbase can be used to truncate a file.
Sun F77 ierr=MFSHRINK(name,size) in mbase can be used to truncate a file.
IZSNDEXT send message to controllee and exit
CIVIC err=IZSNDEXT(msg,len,rplcflag,dstflag). Available in cbaselib.
IZSNDME send message to controllee
IBM XLF ierr=MZSNDMC(handle,msg,len) in mbase.
CIVIC err=IZSNDME(msg,len,ntfy). Available in cbaselib.
CF77 ierr=MZSNDMC(handle,msg,len) in mbase.
CF90 ierr=MZSNDMC(handle,msg,len) in mbase.
DEC F77 ierr=MZSNDMC(handle,msg,len) in mbase.
DEC F90 ierr=MZSNDMC(handle,msg,len) in mbase.
PGF77 ierr=MZSNDMC(handle,msg,len) in mbase.
Sun F77 ierr=MZSNDMC(handle,msg,len) in mbase.
IZSNDMR send message to controller
IBM XLF ierr=MZSNDMP(msg,len,dest) in mbase.
CIVIC err=IZSNDMR(msg,len,dest). Available in cbaselib.
CF77 ierr=MZSNDMP(msg,len,dest) in mbase.
CF90 ierr=MZSNDMP(msg,len,dest) in mbase.
DEC F77 ierr=MZSNDMP(msg,len,dest) in mbase.
DEC F90 ierr=MZSNDMP(msg,len,dest) in mbase.
PGF77 ierr=MZSNDMP(msg,len,dest) in mbase.
Sun F77 ierr=MZSNDMP(msg,len,dest) in mbase.
IZSSDST check SSD copy status
CIVIC err=IZSSDST(ioc,wait). Dummy in cbaselib that returns an error.
IZSUSFIL suspend for a time limit or until a file arrives
CIVIC err=IZSUSFIL(...). IZSUSFIL not available in cbaselib.
IZSUSPND suspend for a time limit
IBM XLF call SLEEP_(seconds) or ierr=USLEEP_(microseconds)
CIVIC err=IZSUSPND(time). Available in cbaselib.
CF77 ii = SLEEP(seconds)
CF90 ii = SLEEP(seconds)
PGF77 call SLEEP(seconds)
Sun F77 call SLEEP(seconds)
Sun F90 call SLEEP(seconds)
JDATE current Julian date
IBM XLF Available.
CIVIC Available.
CF77 Available.
CF90 Available.
KIND get kind type value
syntax KIND(arg)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
LBOUND get lower bounds of an array
syntax LBOUND(array[,dim])
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
LBYT extract the bits from part of a word
Fortran 90 For lbyt(x,pos,len) use IBITS(x,pos,len)
IBM XLF For lbyt(x,pos,len) use IBITS(x,pos,len)
CIVIC Available.
CF77 For lbyt(x,pos,len) use IBITS(x,pos,len)
CF90 For lbyt(x,pos,len) use IBITS(x,pos,len)
DEC F77 For lbyt(x,pos,len) use IBITS(x,pos,len)
DEC F90 For lbyt(x,pos,len) use IBITS(x,pos,len)
PGF77 For lbyt(x,pos,len) use IBITS(x,pos,len)
Sun F77 For lbyt(x,pos,len) use IBITS(x,pos,len)
LEADZ get the leading zero count of a variable
syntax LEADZ(arg)
IBM XLF Available.
CIVIC Available.
CF77 Available.
CF90 Available.
DEC F90 Available. arg must be integer.
Sun F90 Available.
LEN length of character string
syntax LEN(string)
IBM XLF Available or use len=LENCHR_(string)
CF90 Available.
DEC F90 Available.
LEN_TRIM string length without trailing blanks
syntax LEN_TRIM(string)
Fortran 90 Available.
IBM XLF Available or use LNBLNK_(string)
CIVIC Available in libfor.a in UNICOS on the JEDI, LUKE, and LEIA machines.
CF77 TRIMLEN(string)
CF90 Available.
DEC F77 LNBLNK(string)
DEC F90 Available.
PGF77 LNBLNK(string)
Sun F77 LNBLNK(string)
Sun F90 LNBLNK(string)
LENGTH number of words successfully transferred
CF77 Available.
CF90 Available.
LGAMMA natural log of gamma function
syntax LGAMMA(real)
IBM XLF Available.
LGE lexically greater than or equal
Available on all platforms.
syntax LGE(string1, string2)
LGT lexically greater than
Available on all platforms.
syntax LGT(string1, string2)
LINK assign I/O devices to unit specifiers
IBM XLF A function by this name is available, but this is a C routine that creates a file system link. It must be called with NULL terminated strings. For example, ierr=link("file", "newlink") if the -qnullterm option is used.
CIVIC LINK not available in UNICOS--use OPEN statment. Most of what CALL LINK does can be implemented in different ways on UNICOS. Assigning files to unit specifiers can be accomplished with the UNICOS ASSIGN command. The need to create a dropfile on UNICOS does not exist. The FSIGCTL subroutine call enables/disables control of hardware errors. call link('unit3=(file,create,text)//') becomes open(unit=3,file="file",status="new")
DEC F77 LINK routine that is available has a different purpose.
DEC F90 LINK routine that is available has a different purpose.
PGF77 Not available. The link function creates a file system link.
Sun F77 Not available. The link function creates a file system link.
LLE lexically less than or equal
Available on all platforms.
syntax LLE(string1, string2)
LLT lexically less than
Available on all platforms.
syntax LLT(string1, string2)
LOADINFO return date and time program was loaded
CIVIC Available in libfor.a in UNICOS on the JEDI, LUKE, and LEIA machines. Note: for C programs on Unicos, the load date and time are available in words 4 and 5 of common block '_infoblk'.
CF77 Available in libfor.a in UNICOS on the JEDI, LUKE, and LEIA machines.
CF90 Available in libfor.a in UNICOS on the JEDI, LUKE, and LEIA machines.
LOC get the location (address) of the argument
IBM XLF Available.
CIVIC External call; parcel address on external or alpha label.
CF77 Available.
CF90 Available. Returns word address on Unicos. Argument cannot be a routine name.
DEC F77 %LOC(arg) returns byte address as integer*8.
DEC F90 %LOC(arg) returns byte address as integer*8.
PGF77 Available. Returns byte address. Argument cannot be a routine name.
Sun F77 Available. Returns byte address.
Sun F90 Available. Returns byte address.
LOG natural logarithm
Available on all platforms.
syntax LOG(arg)
LOG10 common logarithm
Available on all platforms.
syntax LOG10(real)
LOGI inline natural logarithm
CIVIC Available. Alternate for LOG(r1).
LOGICAL convert between kinds of logicals
syntax LOGICAL(logical[,kind])
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
LRSHFT logical right shift
syntax LRSHFT(int, count)
CF77 Use SHIFTR(int, count)
CF90 Use SHIFTR(int, count)
DEC F90 Use ISHL(int, -count)
Sun F77 Available.
LSHIFT logical left shift
syntax LSHIFT(int, count)
IBM XLF Available.
CF77 Use SHIFTL(int, count)
CF90 Use SHIFTL(int, count)
DEC F77 Available.
DEC F90 Available.
PGF77 Available.
Sun F77 Available.
LTIME_ get the local time in numerical form
IBM XLF Available. TIME_() to get GMT in numerical seconds.
Sun F77 Use LTIME
Sun F90 Use LTIME
MALLOC get heap space
IBM XLF Argument is byte size, result is byte address (or 0 if error). This is a C routine and must be called with ptr = MALLOC(%VAL(bytesize)). Use FREE(%VAL(addr)) to release space.
CF77 Use CALL HPALLOC(addr, len, errcode, abort).
CF90 Use CALL HPALLOC(addr, len, errcode, abort).
DEC F77 Available.
DEC F90 Available.
PGF77 Argument is byte size, result is byte address (or 0 if error). Use FREE(addr) to release space.
Sun F77 Argument is byte size, result is byte address (or 0 if error). Use FREE(addr) to release space.
Sun F90 Argument is byte size, result is byte address (or 0 if error). Use FREE(addr) to release space.
MASK build mask from left or right
Fortran 90 Not available. Use something like
result=0; CALL MVBITS(-1,0,count,result,0).
CIVIC Available. Equivalent to Q8MOM(iii).
CF77 Available.
CF90 Available.
PGF77 Use MVBITS or LSHIFT(-1,-iii) for left mask in 32 bits or RSHIFT(-1,-iii) for right mask in 32 bits.
MATMUL matrix multiply
syntax MATMUL(matrix1, matrix2)
Fortran 90 Available.
IBM XLF Available. An optional third argument may be used to specify the algorithm to use.
CF77 Available. Should be declared in INTRINSIC statement.
CF90 Available.
DEC F90 Available.
MAX maximum value
Available on all platforms.
syntax MAX(arg1, arg2 [,arg...])
MAX0 maximum of integers as integer
Available on all platforms.
syntax MAX0(int1, int2 [,int...])
MAX1 maximum of reals as integer
Available on all platforms.
syntax MAX1(real1, real2 [,real...])
MAXAF maximum value from integer array
CIVIC Available.
CF77 For J=MAXAF(IA,K1,K2,L,M) use

M=K1
J=IA(K1)
DO I=K1,K2,L
IF (IA(I).GT.J) THEN
J=IA(I)
M=I
ENDIF
ENDDO

MAXEXPONENT get maximum exponent for a real type
syntax MAXEXPONENT(real)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
Sun F77 EPEMAX(real)
MAXLOC index of maximum element of an array
syntax MAXLOC(array[,mask])
Fortran 90 Available.
HPF Available. DIM may be added.
IBM XLF Available.
CF77 Available. Should be declared in INTRINSIC statement.
CF90 Available.
DEC F90 Available. DIM may be added.
MAXVAL value of maximum elements of an array
syntax MAXVAL(array [,dim [,mask]])
Fortran 90 Available.
IBM XLF Available.
CF77 Available. Should be declared in INTRINSIC statement.
CF90 Available.
DEC F90 Available.
MCLOCK time used by this process and all of it's child processes since the start of this process
IBM XLF Available. Returns integer*4 value which is number of one-hundredths of a second.
PGF77 Available.
MERGE choose alternatives based on the value of a mask
syntax MERGE(tsource, fsource, mask)
Fortran 90 Available.
IBM XLF Available.
CF77 Available.
CF90 Available.
DEC F90 Available.
MIN minimum value
Available on all platforms.
syntax MIN(arg1, arg2 [,arg...])
MIN0 minimum of integers as integer
Available on all platforms.
syntax MIN0(int1, int2 [,int...])
MIN1 minimum of reals as integer
Available on all platforms.
syntax MIN1(real1, real2 [,real...])
MINAF minimum value from integer array
CIVIC Available.
CF77 For J=MINAF(IA,K1,K2,L,M) use

M=K1
J=IA(K1)
DO I=K1,K2,L
IF (IA(I).LT.J) THEN
J=IA(I)
M=I
ENDIF
ENDDO

MINEXPONENT get minimum exponent for a real type
syntax MINEXPONENT(real)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
Sun F77 EPEMIN(real)
MINLOC index of minimum element of an array
syntax MINLOC(array[,mask])
Fortran 90 Available.
HPF Available. DIM may be added.
IBM XLF Available.
CF77 Available. Should be declared in INTRINSIC statement.
CF90 Available.
DEC F90 Available. DIM may be added.
MINVAL value of minimum elements of an array
syntax MINVAL(array [,dim [,mask]])
Fortran 90 Available.
IBM XLF Available.
CF77 Available. Should be declared in INTRINSIC statement.
CF90 Available.
DEC F90 Available.
MOD remainder of division
Available on all platforms.
syntax MOD(arg1, arg2)
DEC f90 Available. IMOD is specific for INTEGER(2); KMOD for INTEGER(8).
MODULO modulo function
syntax MODULO(arg1, arg2)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
MOVE copy a word array
CIVIC Available in libfor.a in UNICOS. Alternatively, may use a loop structure.
MPROMPT specify prompt message string
CIVIC MPROMPT not available in UNICOS. This type of message processing is not available in UNICOS. A task executing at a terminal is able to read and write from standard input and output with standard reads and writes. Two separate jobs may pass messages through named pipes. Can use izgetmr to check for message and then use izsndmr to send a prompt.
MSGFLAG specify message interrupt flag
CIVIC MSGFLAG not available in UNICOS. This type of message processing is not available in UNICOS. A task executing at a terminal is able to read and write from standard input and output with standard reads and writes. Two separate jobs may pass messages through named pipes.
MSGFRE get message from user program controller
CIVIC MSGFRE not available in UNICOS. This type of message processing is not available in UNICOS. A task executing at a terminal is able to read and write from standard input and output with standard reads and writes. Two separate jobs may pass messages through named pipes.
MSGFRR get message from controller
CIVIC MSGFRR not available in UNICOS. This type of message processing is not available in UNICOS. A task executing at a terminal is able to read and write from standard input and output with standard reads and writes. Two separate jobs may pass messages through named pipes.
MSGINFO get parameters for a unit specifier
CIVIC MSGINFO not available in UNICOS. This type of message processing is not available in UNICOS. A task executing at a terminal is able to read and write from standard input and output with standard reads and writes. Two separate jobs may pass messages through named pipes.
MSGLEN set line & message character-length limits
CIVIC MSGLEN not available in UNICOS. This type of message processing is not available in UNICOS. A task executing at a terminal is able to read and write from standard input and output with standard reads and writes. Two separate jobs may pass messages through named pipes.
MSGLINK associate unit specifier with message traffic
CIVIC MSGLINK not available in UNICOS. This type of message processing is not available in UNICOS. A task executing at a terminal is able to read and write from standard input and output with standard reads and writes. Two separate jobs may pass messages through named pipes. To read from controller or terminal can use izgetmr.
MSGOP send message to operator terminal
CIVIC On UNICOS, use istat=ishell('msgi msg-string'). Can also use ishell to send MSGR.
MSGTOE start controllee (possibly with a message)
CIVIC MSGTOE not available in UNICOS. This type of message processing is not available in UNICOS. A task executing at a terminal is able to read and write from standard input and output with standard reads and writes. Two separate jobs may pass messages through named pipes.
MSGTOR send message to controller
CIVIC MSGTOR not available in UNICOS. This type of message processing is not available in UNICOS. A task executing at a terminal is able to read and write from standard input and output with standard reads and writes. Two separate jobs may pass messages through named pipes.
MSGTTY send message to terminal
CIVIC MSGTTY not available in UNICOS. This type of message processing is not available in UNICOS. A task executing at a terminal is able to read and write from standard input and output with standard reads and writes. Two separate jobs may pass messages through named pipes. Can use izsndmr.
MVBITS copy a sequence of bits from one object to another
syntax CALL MVBITS(from, frompos, len, to, topos)
Fortran 90 Available.
IBM XLF Available.
CF77 Available.
CF90 Available.
DEC F77 Available.
DEC F90 Available.
PGF77 Available.
Sun F77 Available.
Sun F90 Available.
MY_PE get the number of the processing element (PE) code is running on
CF90 Integer returned is in the range 0 to n-1 where n is the number of PEs executing the current program.
MZALLOC get space from SMM
IBM XLF Use ptr=MALLOC(%VAL(bytelen))
CIVIC For ierr=MZALLOC(addr,len) use call HPALLOC(addr,len,err,abort) or ierr=MALLOC(name,ptr,len) from MMLIB.
CF77 For ierr=MZALLOC(addr,len) use call HPALLOC(addr,len,err,abort)
CF90 For ierr=MZALLOC(addr,len) use call HPALLOC(addr,len,err,abort)
DEC F77 Use ptr=MALLOC(len) (Fortran callable version of C routine).
DEC F90 Use ptr=MALLOC(len) (Fortran callable version of C routine).
PGF77 Use ptr=MALLOC(bytelen)
Sun F77 Use ptr=MALLOC(bytelen)
MZCHANGE change size of space from SMM
CIVIC For ierr=MZCHANGE(addr,len) use
call HPCLMOVE(addr,len,err,abort)
or call HPNEWLEN(addr,len,err,abort)
CF77 For ierr=MZCHANGE(addr,len) use
call HPCLMOVE(addr,len,err,abort)
or call HPNEWLEN(addr,len,err,abort)
CF90 For ierr=MZCHANGE(addr,len) use
call HPCLMOVE(addr,len,err,abort)
or call HPNEWLEN(addr,len,err,abort)
MZDALLOC get space from SMM
IBM XLF Use FREE(%VAL(ptr))
CIVIC For ierr=MZDALLOC(addr,len) use call HPDEALLC(addr,err,abort).
CF77 For ierr=MZDALLOC(addr,len) use call HPDEALLC(addr,err,abort).
CF90 For ierr=MZDALLOC(addr,len) use call HPDEALLC(addr,err,abort).
DEC F77 Use FREE(ptr) (Fortran callable version of C routine).
DEC F90 Use FREE(ptr) (Fortran callable version of C routine).
Sun F77 Use FREE(ptr).
NEAREST get nearest machine representable number
syntax NEAREST(real1, real2)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
NEQV logical difference
Fortran 90 Not available. Use IEOR(x,y).
IBM XLF Not available. Use IEOR(x,y).
CIVIC Available.
CF77 Available.
CF90 Available or use IEOR(x,y).
DEC F77 Not available. Use IEOR(x,y).
DEC F90 Not available. Use IEOR(x,y).
PGF77 Available. Result is typeless.
NINT round to nearest integer
syntax NINT(int[,kind])
Fortran 77 Kind argument is not available.
Fortran 90 Optional kind argument is available.
IBM XLF Optional kind argument is available.
NOT bitwise complement
syntax NOT(int)
Fortran 90 Available.
IBM XLF Available.
CIVIC .comp.
CF77 Available.
CF90 Available.
DEC F77 Available.
DEC F90 Available.
PGF77 Available.
Sun F77 Available.
NULL Generate a disassociated pointer
syntax ptr=NULL([mold])
Fortran 95 Available.
DEC F90 Available.
NUMARG get the number of arguments that this routine received
Fortran 90 Not available. Must use PRESENT to check specific arguments.
IBM XLF Not available. Must use PRESENT to check specific arguments.
CIVIC Available only under lang=cft. An alternative is to define a statement function as: clll. numarg() = iq8qargs
CF77 Available.
CF90 Available.
NUMBER_OF_PROCESSORS number of processors available to program
HPF Available.
DEC F90 Available.
IBM XLF Available but always returns 1.
NUM_PARTHDS number of threads that should be created to run the program
IBM XLF Available.
NUM_USRTHDS number of threads that the user is expected to explicitly create during the run of the program
IBM XLF Available.
NWORKERS number of processors executing a routine
DEC F77 Available. Result is always 1.
DEC F90 Available. Result is always 1.
OPEN open an existing file
IBM XLF A function by this name is available, but this is a C routine that deals with C style I/O. The arguments must be a NULL terminated character string and flags and mode passed by value.
CIVIC Use OPEN statement for most capabilities. Additional routines include: OPENMS and OPENDR for record addressable random access files, AQOPEN for asynchronous queued I/O, and WOPEN for word addressable random access files. See INTRO5 in Volume 1: UNICOS Fortran Library Reference Manual--SR-2079.
CF77 Available is OPEN(path, flag, mode).
CF90 Available is OPEN(path, flag, mode).
OPENL set file parameters and open an existing file
CIVIC In UNICOS, must use a combination of OPEN stmt and ASSIGN command. OPENL is not available.
OR bitwise logical inclusive disjunction
Fortran 90 Use IOR(x,y) with integer arguments.
IBM XLF Use IOR(x,y) with integer arguments.
CIVIC Library function equivalent to arg1.un.arg2 -- bitwise or. To convert to CF77, no change needed. To convert to F90, change or(x,y) to IOR(x,y) for integer x and y
CF77 or(x,y) is equivalent to CIVIC x.un.y Alternate forms are x.or.y and x.o.y
CF90 Available or use IOR with integer arguments.
DEC F77 Equivalent to IOR.
DEC F90 Equivalent to IOR.
PGF77 Bitwise or; result is typeless; IOR is available for integers (with integer result).
Sun F77 Bitwise or of integers with integer result; identical to IOR.
ORGFILE return original program file name
CIVIC On UNICOS there are no dropfiles, so call may not be meaningfull. May be able to use icnt=getarg(0,charname) to get name under which this job started execution.
PACK pack an array into a vector
syntax PACK(array, mask [,vector])
Fortran 90 Available.
IBM XLF Available.
CF77 Available. Should be declared in INTRINSIC statement.
CF90 Available.
DEC F90 Available.
PAUSE temporarily halt program execution
IBM XLF A function by this name is available, but this is a C routine that waits for any signal to be received. The function takes no argument.
CIVIC PAUSE not available in UNICOS--for call pause [(id)] use pause [id] statement.
CF77 Available.
CF90 Available.
POOLINFO get program and bank time remaining
CIVIC POOLINFO not available in UNICOS--for call poolinfo(time,poolrem) use call tremain(time) to get remaining time for current job.
CF77 call TREMAIN(time) to get remaining time for current job.
CF90 call TREMAIN(time) to get remaining time for current job.
POPCNT count of bits set
CIVIC Available.
CF77 Available.
CF90 Available.
DEC F90 Available.
Sun F90 Available.
POPPAR parity of bit set
Fortran 77 Not avalable.
Fortran 90 Not directly available.
CIVIC Available.
CF77 Available.
CF90 Available.
DEC F90 Available.
Sun F90 Available.
POSREC position sequential file at absolute word address
CIVIC POSREC not available in UNICOS In UNICOS, can set up the file as a direct access file and reference each record directly. This allows each record to be accessed with read statements using the rec= option. (See CF77 Reference Manual.) Can use Buffer in/out and position with the setpos statement. (See Fortran Library Reference Manual.)
POWRFD double precision power function
Fortran 77 Not avalable.
Fortran 90 Not avalable.
CIVIC Available. Alternate for d1**d2
PRECISION get decimal precision of a real type
syntax PRECISION(arg)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
PRESENT see if an optional argument is present
syntax PRESENT(arg)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
PROCESSORS_SHAPE get the shape of the hardware processor array
syntax array=PROCESSORS_SHAPE()
DEC F90 Available.
PRODUCT product of elements of an array
syntax PRODUCT(array [,dim [,mask]])
Fortran 90 Available.
IBM XLF Available.
CF77 Available. Should be declared in INTRINSIC statement.
CF90 Available.
DEC F90 Available.
Q8DEF test if the argument is a literal or named constant
Fortran 77 Not avalable.
Fortran 90 Not avalable.
CIVIC Available.
Q8EXCH exit to the system
Fortran 77 Not avalable.
Fortran 90 Not avalable.
CIVIC Available.
Q8EXIT exit to the system
Fortran 77 Not avalable.
Fortran 90 Not avalable.
CIVIC Available.
Q8IOSTAT return file status for last three argument buffer in/out
Fortran 77 Not avalable.
Fortran 90 Not avalable.
CIVIC Available in libfor.a in UNICOS on the JEDI, LUKE, and LEIA machines as IQIOSTAT.
Q8LOCK set a hardware semaphore
Fortran 77 Not avalable.
Fortran 90 Not avalable.
CIVIC Available.
Q8MOM form a mask at left or right end of word
Fortran 77 Not avalable.
Fortran 90 Not avalable.
IBM XLF Use shiftr(-1,bits_per_int+cnt) for cnt<0.
CIVIC Available.
CF77 Use shiftl(-1,64-cnt) for cnt>0 or shiftr(-1,64+cnt) for cnt<0.
CF90 Use shiftl(-1,64-cnt) for cnt>0 or shiftr(-1,64+cnt) for cnt<0.
PGF77 Use LSHIFT(-1,-cnt) for cnt>0 or RSHIFT(-1,cnt) for cnt<0 in 32 bit words
Q8POP count of bits set in word
Fortran 77 Not avalable.
Fortran 90 Not avalable.
CIVIC Available.
CF77 Use POPCNT(x)
CF90 Use POPCNT(x)
Q8PROD product of elements of vector
Fortran 77 Not avalable.
Fortran 90 Use PRODUCT(array) for word array.
IBM XLF Use PRODUCT(array) for word array.
CIVIC Available.
CF77 Use PRODUCT(x)
CF90 Use PRODUCT(x)
PGF77 Not available. Must use a loop.
Q8RESTOR restore B and T register values from an array
Fortran 77 Not avalable.
Fortran 90 Not avalable.
CIVIC Available.
Q8RTC get the value of the real time clock
Fortran 77 Not avalable.
Fortran 90 Not avalable.
IBM XLF xx=RTC() for real*8 seconds or ii=IRTC() for integer*8 nonoseconds.
CIVIC Available only here. Use IRTC for CFT or CF77.
CF77 xx=RTC() for real value or ii=IRTC() for integer
CF90 xx=RTC() for real value or ii=IRTC() for integer
Q8SAVE save B and T register values to an array
Fortran 77 Not avalable.
Fortran 90 Not avalable.
CIVIC Available.
Q8SUM add up the elements of a vector
Fortran 77 Not avalable.
Fortran 90 Use SUM(array) for word array.
IBM XLF Use SUM(array) for word array.
CIVIC Available.
CF77 Use SUM(array)
CF90 Use SUM(array)
PGF77 Not available. Must use a loop.
Q8UNLOCK clear a hardware semaphore
Fortran 77 Not avalable.
Fortran 90 Not avalable.
CIVIC Available.
QACOPY copy contents of one array to another
Fortran 77 Not avalable.
Fortran 90 Not avalable. Use an array assignment statement.
IBM XLF Not avalable. Use an array assignment statement.
CIVIC QACOPY not available in UNICOS--must use a DO Loop.
QCMPLX convert a number to extended precision complex
IBM XLF Available.
QSORT_ sort an array
IBM XLF Available.
Sun F77 Use QSORT
Sun F90 Use QSORT
QEXT convert a number to real(16)
syntax quad=QEXT(number)
DEC F90 Available. QEXTD is specific for REAL(8) input. QFLOAT may also be used to convert any integer to REAL(8).
IBM XLF Available.
QUIT terminate program executeion
CIVIC In UNICOS, for call quit[(saveflag)] use stop
RADIX the base of model numbers of type real
syntax RADIX(arg)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
Sun F77 EPBASE(arg)
RANDOM_NUMBER get a random number
syntax CALL RANDOM_NUMBER(result)
Fortran 77 Not avalable.
Fortran 90 Available.
IBM XLF Available. Alternate is RAND()
CF90 Available.
DEC F77 RAN(seed) or RAND(0).
DEC F90 Available. Alternates are RAN(seed) and RANDU(seed1,seed2,rslt).
PGF77 RAN(seed) or RAND(0).
Sun F77 RAN(seed) or RAND(0).
Sun F90 RAN(seed) or RAND(0).
RANDOM_SEED get or set the seed for random_number
syntax CALL RANDOM_SEED([size [,put [,get]]])
Fortran 90 Available.
IBM XLF Available. An extra optional argument may be used to determine which random number generator to use.
CF90 Available.
DEC F90 Available.
RANF get a random number
Fortran 90 Not available. Use CALL RANDOM_NUMBER(result).
IBM XLF Not available. Use CALL RANDOM_NUMBER(result).
CIVIC Available.
CF77 Available.
CF90 Available.
DEC F77 Not available. Use RAND(0).
PGF77 Not available. RAND(0) returns real*8 between 0 and 1.
Sun F77 Not available. Use DRAND48. Library interface to use RANF on Cray's and DRAND48 on workstations is available on Unicos in /u2/h/busby/pub/random.tar.Z (which can be be unpacked with zcat random.tar.Z | tar xf ).
RANGE get decimal exponent range of real type
syntax RANGE(arg)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
RANGET get the random number seed
Fortran 90 Not available. Use RANDOM_SEED(GET = seed)
IBM XLF Not available. Use RANDOM_SEED(GET = seed)
CIVIC Available.
CF77 Available.
CF90 Available.
RANSET set the random number seed
Fortran 90 Not available. Use RANDOM_SEED(PUT = seed).
IBM XLF Not available. Use RANDOM_SEED(PUT = seed). SRAND is used to set the seed for IRAND.
CIVIC Available.
CF77 Available.
CF90 Available.
PGF77 Not available. Use CALL SRAND(iseed) to set seed for RAND.
RDABS read an absolute word addressable file
CIVIC In UNICOS, for call rdabs(unit,result,count,addr[,ierr]) use
err = izdkin(unit,result,addr,count) or
call getwa(file,result,addr,count[,ierr]) and
call seek(file,addr,count[,ierr])
RDBIN read a binary record from a sequential file
CIVIC In UNICOS, for call rdbin(unit,var,count[,type[,ierr]]) use
call read(unit,var,count,status,ubc)
call readp(unit,var,count,status,ubc)
read (unit) var -- unformatted read The type parameter on the call rdbin statement identifies the type of data read in. The routines on UNICOS do not provide this information. The program will need to know what type of data is being read in instead of waiting for rdbin to tell it.
CF77 Use READ or READP.
CF90 Use READ or READP.
RDLINE read a character record
CIVIC RDLINE not available in UNICOS. Use formatted read. With formated read, the length of the nonblank data read will not be returned as it is by rdline.
REAL conversion to real type
syntax REAL(arg [,kind])
Fortran 77 Kind argument is not available.
Fortran 90 Optional kind argument is available.
IBM XLF Optional kind argument is available.
DEC F90 Optional kind argument is available.
RECINFO return information about current interrecord word
CIVIC RECINFO not available in UNICOS.
REGPTR get address of register save area
CIVIC REGPTR not available in UNICOS.
REPEAT concatinate several copies of a string
syntax REPEAT(string, count)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
RESHAPE construct an array of given shape from elements of another array
syntax RESHAPE(source, shape [,pad [,order]])
Fortran 90 Available.
IBM XLF Available.
CF77 Available. Should be declared in INTRINSIC statement.
CF90 Available.
DEC F90 Available.
REWIND position to first record of file
IBM XLF A function by this name is available, but this is a C routine that deals with C stream I/O. The file must have been opened with FOPEN.
CIVIC On UNICOS, for call rewind(us[,errlab]) use rewind(unit=us[,err=errlab])
Sun F77 Not available. In rewind statement, unit can be unconnected but should not be connected for direct access.
RNFL get a random number
Fortran 90 Not available. Use RANDOM_NUMBER.
IBM XLF Not available. Use RANDOM_NUMBER.
CIVIC Available.
CF77 Not available. Use RANF.
CF90 Not available. Use RANF or RANDOM_NUMBER.
PGF77 val=RAN(seed) or double=RAND() or real=RANDOM(0) or double=DRANDM(0)
Sun F77 RAND for real or DRAND for double precision random number.
RRSPACING reciprocal of relative spacing of model numbers near a given value
syntax RRSPACING(real)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
RSHIFT arithmetic right shift
IBM XLF Available for integer arguments.
DEC F77 Available.
DEC F90 Available.
PGF77 Available for integer arguments.
CF90 Use SHIFTA.
Sun F77 Available for integer arguments.
RTC clock register as real
IBM XLF Available. Result is real*8.
CIVIC Available.
CF77 Available.
CF90 Available.
SBYT modify only specified bits in a variable
Fortran 90 For SBYT(sink,shiftl,size,source) use call MVBITS(source,0,size,sink,shiftl)
IBM XLF For SBYT(sink,shiftl,size,source) use call MVBITS(source,0,size,sink,shiftl)
CIVIC Available.
CF77 Use MVBITS.
CF90 Use MVBITS.
PGF77 MVBITS available--32 bit operands.
SCALE produce real with given coefficient and exponent
syntax SCALE(real, int)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
SCAN scan a string for any character in a set
syntax SCAN(string, set [,back])
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
SECOND get accumulative CPU time
CIVIC Available.
CF77 Available.
CF90 Available.
PGF77 For cputime=second([cputime]) use totaltime=etime(timearray) where timearray(1) gets cputime and timearray(2) gets systemtime and totaltime is cputime+systemtime.
Sun F77 For cputime=second([cputime]) use totaltime=etime(timearray) where timearray(1) gets cputime and timearray(2) gets systemtime and totaltime is cputime+systemtime.
SELECTED_INT_KIND find integer kind needed to represent a specified number
syntax SELECTED_INT_KIND(int)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
SELECTED_REAL_KIND find real kind needed to represent a specified precision and range
syntax SELECTED_REAL_KIND([int1 [,int2]])
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
SET_EXPONENT set the exponent of a real value
syntax SET_EXPONENT(real, int)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
SETBOX specify output box and ID string for hardcopy
CIVIC SETBOX not available in UNICOS.
SETBUF Associate a user-allocated buffer with a disk file
IBM XLF A function by this name is available, but this is a C routine that deals with C stream I/O. The file must have been opened with FOPEN.
CIVIC The UNICOS ASSIGN command may be used to specify the buffer size to be used for a file.
SETCLOSE specify disk file closing parameters
CIVIC SETCLOSE not available in UNICOS. UNICOS performs file truncation automatically, so there is no need to specify a truncate option.

To change the read permissions on a file, the UNICOS CHMOD command must be used. This cannot be changed within a program.

To destroy a file at close time, use the STATUS=DELETE on the CLOSE statement.

SETDAFAT enable maximum record number enforcement
CIVIC SETDAFAT not available in UNICOS. To limit the maximum number of records on UNICOS, use the UNICOS ASSIGN command to restrict the overall size of the file and consequently the number of records that may be written to the file.
SETLINE set line parameters associated with a disk file
CIVIC SETLINE not available in UNICOS. UNICOS does not provide an equivalent routine to set the maximum line length of a text file for formatted data transfers. I/O list and format specification must not specify more than 152 characters.
SETLIST set format for list-directed output
CIVIC SETLIST not available in UNICOS. The same capability to set the format for list-directed output is not available on UNICOS. The following routines are available which allow some manipulation of NAMELIST output but do not provide the same capabilities as CALL SETLIST. CALL WNLLONG, CALL WNLDELM, CALL WNLSEP, CALL WNLREP, CALL WNLFLAG, CALL WNLLINE
SETRTEOPTS change the runtime options for the executing program
IBM XLF Available.
SETRW change read/write access of a disk file
CIVIC SETRW not available in UNICOS. For call setrw(unit,rwflag[,errlab]) use
if (ishell('chmod 777 file')) go to errlab
SHAPE get the shape of an array or scalar
syntax SHAPE(arg)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
SHIFT circular shift
Fortran 90 For shift(i,j) use ishftc(i,j) if j>=0.
IBM XLF For shift(i,j) use ishftc(i,j) if j>=0.
CIVIC Available.
CF77 Available.
CF90 Available.
DEC F90 Not available. Use ISHC(i,j).
PGF77 SHIFT is left logical shift of any type except character or complex. Result is typeless. Right logical shift if count<0. Also: ISHFT or LSHIFT for integer left logical shift; RSHIFT for integer right logical shift; ISHIFTC for integer circular shift of rightmost arg3 bits of arg1.
Sun F77 Three argument ISHFTC is available for circular shifts.
SHIFTL shift left end off
Fortran 90 Three argument form not available; for shiftl(i,j) use shift(i,j).
IBM XLF Three argument form not available; for shiftl(i,j) use shift(i,j).
CIVIC Available.
CF77 Three argument form not available; two argument form same as CIVIC.
CF90 Three argument form not available; two argument form same as CIVIC.
PGF77 Three argument form not available; for shiftl(i,j) use shift(i,j).
Sun F77 Available for integer arguments giving integer result; ISHFT is left shift if arg2 > 0.
SHIFTR shift right end off
Fortran 90 Three argument form not available; for shiftr(i,j) use shift(i,-j).
IBM XLF Three argument form not available; for shiftr(i,j) use shift(i,-j).
CIVIC Available.
CF77 Three argument form not available; two argument form same as CIVIC.
CF90 Three argument form not available; two argument form same as CIVIC.
PGF77 Three argument form not available; for shiftr(i,j) use shift(i,-j).
Sun F77 ISHFT may be used if the 2nd argument is < 0, or LRSHFT is available. Both take integer arguments and produce an integer result.
SIGN transfer of sign
Available on all platforms.
syntax SIGN(arg1, arg2)
SIGNAL establish a signal handler
syntax SIGNAL(signal, procedure)
IBM XLF Available.
CF77 Available.
CF90 Available.
DEC F77 Available.
DEC F90 Available.
PGF77 SIGNAL(signal, procedure, -1)
Sun F77 SIGNAL(signal, procedure, -1)
KILL to send a signal to a process.
Sun F90 SIGNAL(signal, procedure, -1)
KILL to send a signal to a process.
SIN sine
Available on all platforms.
syntax SIN(arg)
SIND sine in degrees
IBM XLF Available.
DEC F90 Available. DSIND is specific for REAL(8); QSIND for REAL(16).
PGF77 Available.
Sun F77 Available. DSIND is specific for DOUBLE; QSIND for REAL(16).
SINH hyperbolic sine
Available on all platforms.
syntax SINH(real)
SIZE extent of an array in a given dimension
syntax SIZE(array [,dim])
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
SIZEOF number of bytes in an expression or type
DEC F77 Available.
DEC F90 Available.
Sun F77 Available.
SKIP position forward or backward in sequential or text file
CIVIC Not Available in UNICOS. To position backwards in a file use the Fortran 77 BACKSPACE statement. If the intention is to position backwards to the beginning of the file use the REWIND statement.

The only way to position forward in the file is to perform a set of READs until the desired record has been read.

SKIPEOF position sequential/text file past end-of-file(s)
CIVIC Not Available in UNICOS. UNICOS does not support multi-file structures. These files will have to be broken apart and referenced as separate units by the program.

File positioning can be controlled by using the POSITION parameter on the OPEN statement. Valid options for the POSITION parameter are REWIND, ASIS, APPEND.

SNGL convert double to real
Available on all platforms.
syntax SNGL(dble)
SPACING absolute spacing of reals in a given area
syntax SPACING(real)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
SPREAD add a dimension to an array by replication
syntax SPREAD(source, dim, count)
Fortran 90 Available.
IBM XLF Available.
CF77 Available. Should be declared in INTRINSIC statement.
CF90 Available.
DEC F90 Available.
SQRT square root
Available on all platforms.
syntax SQRT(arg)
SQRTI inline square root
CIVIC Available. Use SQRT elsewhere.
SUM sum of elements of an array
syntax SUM(array [,dim [,mask]])
Fortran 90 Available.
IBM XLF Available.
CF77 Available. Should be declared in INTRINSIC statement.
CF90 Available.
DEC F90 Available.
SUSPEND temporarily suspend program execution
IBM XLF Use CALL SLEEP_(seconds) or CALL USLEEP_(microseconds).
CIVIC Not Available in UNICOS. For call suspend(seconds) use l = SLEEP(seconds) (SUSPEND in UNICOS is to suspend another process).
CF77 Not available to suspend current process.
CF90 Not available to suspend current process.
SYSTEM execute a system command
syntax SYSTEM(string)
IBM XLF Available.
DEC F77 Available.
DEC F90 Available.
PGF77 Available.
Sun F77 Available. Use SH(string) for fast execution of an sh command.
Sun F90 Available. Use SH(string) for fast execution of an sh command.
SYSTEM_CLOCK value from real-time clock
syntax CALL SYSTEM_CLOCK([count [,count_rate [,count_max]]])
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
TAN tangent
Available on all platforms.
syntax TAN(real)
TAND tangent in degrees
IBM XLF Available.
DEC F90 Available. DTAND is specific for REAL(8); QTAND for REAL(16).
PGF77 Available.
Sun F77 Available. DTAND is specific for DOUBLE; QTAND for REAL(16)
TANH hyperbolic tangent
Available on all platforms.
syntax TANH(real)
TIME return the current system time
IBM XLF Use isecs = TIME() to get the time in seconds.
CF77 Use isecs = TIME() to get the time in seconds since 1/1/70.
CF90 Use isecs = TIME() to get the time in seconds since 1/1/70.
DEC F77 Use CALL TIME(buf) for the current time in character form (hh:mm:ss).
DEC F90 Use CALL TIME(buf) for the current time in character form (hh:mm:ss).
PGF77 Use CALL TIME(buf) for the current time in character form (hh:mm:ss).
Sun F77 Use CALL TIME(buf) for the current time in character form (hh:mm:ss), or use isecs = TIME() with the -lV77 option to get the time in seconds since 1/1/70.
Sun F90 Use CALL TIME(buf) for the current time in character form (hh:mm:ss)
TIMECHRG return charge time data
CIVIC TIMECHRG not available in UNICOS. The C routine GETJTAB returns UNICOS information similar to TIMECHRG. In addition, several UNICOS commands can also produce similar performance related information: PROCSTAT, PROCRPT, JA, ACCTCOM.
TIMEDATE return current date and machine letter
IBM XLF call IDATE_(date_struct) is available to get the date in a numerical format; HOSTNM can be used to get the machine name.
CIVIC Available in libfor.a in UNICOS on the JEDI, LUKE, and LEIA machines. To convert, for call TIMEDATE(time,date,mach[,suffix])
use call CLOCK(time) and/or
call DATE(date)
These UNICOS routines will return the time and date the same as TIMEDATE. The suffix returned by TIMEDATE is not applicable on UNICOS. There is no way to return the machine id.
TIMEF time since first call
IBM XLF Available. Returns real*8.
CF77 Available.
CF90 Available.
TIMELEFT return remaining bank seconds
CIVIC TIMELEFT not available in UNICOS.
TIMEUSED return the CPU, I/O, and system call time used
CIVIC TIMEUSED not available in UNICOS. The C routine GETJTAB returns UNICOS information similar to TIMEUSED. In addition, several UNICOS commands can also produce similar performance related information: PROCSTAT, PROCRPT, JA, ACCTCOM. SECOND can be used to return total time used.
TINY smallest positive real number
syntax TINY(real)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
PGF77 FFRAC() or DFFRAC()
Sun F77 EPTINY(real)
TRANSFER interpret a value as if it were a given type
syntax TRANSFER(arg, mold [,size])
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
TRANSPOSE transpose a matrix
syntax TRANSPOSE(matrix)
Fortran 90 Available.
IBM XLF Available.
CF77 Available. Should be declared in INTRINSIC statement.
CF90 Available.
DEC F90 Available.
TRIM remove trailing blanks from a string
syntax TRIM(string)
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
TRUNCATE shorten an existing disk file
IBM XLF A function by this name is available, but this is a C routine that requires C linkage. It must be called with a NULL terminated string for the file name and the value of the requested byte length. For example, ierr=truncate("file", %val(length)) if the -qnullterm option is used.
CIVIC TRUNCATE not available in UNICOS. Files will be automatically shortened on UNICOS. No equivalent routine is needed.
UBOUND get upper bounds of an array
syntax UBOUND(array[,dim])
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
UNIT wait for asynchronous I/O to complete
CF77 Available.
CF90 Available.
UNPACK unpack a vector into an array
syntax UNPACK(vector, mask, field)
Fortran 90 Available.
IBM XLF Available.
CF77 Available. Should be declared in INTRINSIC statement.
CF90 Available.
DEC F90 Available.
USERINFO return user number, account, dropfile, suffix
CIVIC Available in libfor.a in UNICOS on the JEDI, LUKE, and LEIA machines. The C routine GETJTAB returns the job table which contains the job owner user id (userno). The other information returned by CALL USERINFO is either not available or has no meaning on UNICOS.
USINFO return current use of a unit specifier
CIVIC Native UNICOS does not provide an equivalent function for USINFO. Similar information is available using the INQUIRE statement which may be a viable alternative.
VERIFY verify that the characters in a string are all in a given set
syntax VERIFY(string, set [,back])
Fortran 90 Available.
IBM XLF Available.
CF90 Available.
DEC F90 Available.
WRABS write data to absolute disk file
CIVIC For call WRABS(unit,var,len,addr[,ierr]) use
err = izdkout(unit,var,addr,len) or
call PUTWA(file,var,addr,count[,ierr]) or
call APUTWA(file,var,addr,count[,ierr])
PUTWA does synchronous writes and APUTWA does asynchronous writes.
WRBIN write a binary or character record
CIVIC For call WRBIN(unit,var,count[,type,ierr]) use
call WRITE(unit,var,count,ubc) or
call WRITEP(unit,var,count,ubc)
CALL WRITE and WRITEP perform no data conversion when writing the data to the file. See CALL WRITE in SR-2079, UNICOS FORTRAN LIBRARY REFERENCE MANUAL.
CF77 Use WRITE or WRITEP.
CF90 Use WRITE or WRITEP.
WREOF write an end-of-file mark to sequential or text file
CIVIC For call WREOF(unit[,ierr]) use the ENDFILE statement
WRLINE write character record
CIVIC WRLINE not available in UNICOS. Use write statement.
XL__TRBK provide a trace-back from the current call
IBM XLF Available.
XOR bitwise logical exclusive disjunction
Fortran 90 Use IEOR(x,y) with integer arguments.
IBM XLF Use IEOR(x,y) with integer arguments
CIVIC Library function equivalent to x.xor.y -- bitwise xor.
To convert to CF77, no change needed. To convert to F90, change xor(x,y) to IEOR(x,y) for integer x and y.
CF77 xor(x,y) is equivalent to CIVIC x.xor.y
Alternate forms are x.x.y and x.neqv.y
CF90 Available or use IEOR with integer arguments.
DEC F77 Equivalent to IEOR.
DEC F90 Equivalent to IEOR.
PGF77 Bitwise exclusive or; result is typeless; NEQV is available for for integers (with integer result); IEOR is available for bitwise operation on 2-byte operands.
Sun F77 Bitwise exclusive or of integers producing and integer result; identical to IEOR.
XPKSAVE specify location to save exchange package
CIVIC For call xpksave(saveloc,savelen) use call fxp(dsp,xp,vm,ret) to write the exchange package to an output file.
XQLINK associate a unit specifier with a device
CIVIC XQLINK not available in UNICOS.
XTENDABS increase disk length of open absolute file
CIVIC XTENDABS not available in UNICOS. Not necessary UNICOS allows automatic extension of word addressable files without requiring a special call to increase the file size.
Z6PACK pack a word array into a string of 6-bit bytes
CIVIC call Z6PACK(b6out,w6in,len). Available in cbaselib.
Z6UNPACK unpack a string of 6-bit bytes
CIVIC call Z6UNPACK(w6out,b6in,len). Available in cbaselib.
ZADJNAME left or right justify a name
CIVIC err=ZADJNAME(outname,inname,flag). Available in cbaselib.
ZCARDTYP determines whether a buffer contains ASCII, etc.
CIVIC err=ZCARDTYP(buf,type,max). Available in cbaselib.
ZCETOA convert a binary floating point number to E-type
IBM XLF call MCETOA(aout,xout,v,fw,nd) in mbase.
CIVIC call ZCETOA(aout,xout,v,fw,nd). Available in cbaselib.
CF77 call MCETOA(aout,xout,v,fw,nd) in mbase.
CF90 call MCETOA(aout,xout,v,fw,nd) in mbase.
DEC F77 call MCETOA(aout,xout,v,fw,nd) in mbase.
DEC F90 call MCETOA(aout,xout,v,fw,nd) in mbase.
PGF77 call MCETOA(aout,xout,v,fw,nd) in mbase.
Sun F77 call MCETOA(aout,xout,v,fw,nd) in mbase.
ZCFATOB convert ASCII decimal digits to binary floating point
IBM XLF call MCFATOB(ain,xin,xout,v,tc) in mbase.
CIVIC call ZCFATOB(ain,xin,xout,v,tc). Available in cbaselib.
CF77 call MCFATOB(ain,xin,xout,v,tc) in mbase.
CF90 call MCFATOB(ain,xin,xout,v,tc) in mbase.
DEC F77 call MCFATOB(ain,xin,xout,v,tc) in mbase.
DEC F90 call MCFATOB(ain,xin,xout,v,tc) in mbase.
PGF77 call MCFATOB(ain,xin,xout,v,tc) in mbase.
Sun F77 call MCFATOB(ain,xin,xout,v,tc) in mbase.
ZCFTOA convert a binary floating point number to F-type
IBM XLF call MCFTOA(aout,xout,v,fw,nd) in mbase.
CIVIC call ZCFTOA(aout,xout,v,fw,nd). Available in cbaselib.
CF77 call MCFTOA(aout,xout,v,fw,nd) in mbase.
CF90 call MCFTOA(aout,xout,v,fw,nd) in mbase.
DEC F77 call MCFTOA(aout,xout,v,fw,nd) in mbase.
DEC F90 call MCFTOA(aout,xout,v,fw,nd) in mbase.
PGF77 call MCFTOA(aout,xout,v,fw,nd) in mbase.
Sun F77 call MCFTOA(aout,xout,v,fw,nd) in mbase.
ZCHATOB convert string of ASCII hex digits to binary integer
IBM XLF call MCHATOB(ain,xin,xout,v,tc) in mbase.
CIVIC call ZCHATOB(ain,xin,xout,v,tc). Available in cbaselib.
CF77 call MCHATOB(ain,xin,xout,v,tc) in mbase.
CF90 call MCHATOB(ain,xin,xout,v,tc) in mbase.
DEC F77 call MCHATOB(ain,xin,xout,v,tc) in mbase.
DEC F90 call MCHATOB(ain,xin,xout,v,tc) in mbase.
PGF77 call MCHATOB(ain,xin,xout,v,tc) in mbase.
Sun F77 call MCHATOB(ain,xin,xout,v,tc) in mbase.
ZCHTOA convert binary hexadecimal number to Z-type
IBM XLF call MCHTOA(aout,xout,v,fw,grp) in mbase.
CIVIC call ZCHTOA(aout,xout,v,fw,grp). Available in cbaselib.
CF77 call MCHTOA(aout,xout,v,fw,grp) in mbase.
CF90 call MCHTOA(aout,xout,v,fw,grp) in mbase.
DEC F77 call MCHTOA(aout,xout,v,fw,grp) in mbase.
DEC F90 call MCHTOA(aout,xout,v,fw,grp) in mbase.
PGF77 call MCHTOA(aout,xout,v,fw,grp) in mbase.
Sun F77 call MCHTOA(aout,xout,v,fw,grp) in mbase.
ZCIATOB convert ASCII decimal digits to a binary integer
IBM XLF call MCIATOB(ain,xin,xout,v,tc) in mbase.
CIVIC call ZCIATOB(ain,xin,xout,v,tc). Available in cbaselib.
CF77 call MCIATOB(ain,xin,xout,v,tc) in mbase.
CF90 call MCIATOB(ain,xin,xout,v,tc) in mbase.
DEC F77 call MCIATOB(ain,xin,xout,v,tc) in mbase.
DEC F90 call MCIATOB(ain,xin,xout,v,tc) in mbase.
PGF77 call MCIATOB(ain,xin,xout,v,tc) in mbase.
Sun F77 call MCIATOB(ain,xin,xout,v,tc) in mbase.
ZCITOA convert a binary integer number to I-type
IBM XLF call MCITOA(aout,xout,v,fw,fill) in mbase.
CIVIC call ZCITOA(aout,xout,v,fw,fill) in cbaselib.
CF77 call MCITOA(aout,xout,v,fw,fill) in mbase.
CF90 call MCITOA(aout,xout,v,fw,fill) in mbase.
DEC F77 call MCITOA(aout,xout,v,fw,fill) in mbase.
DEC F90 call MCITOA(aout,xout,v,fw,fill) in mbase.
PGF77 call MCITOA(aout,xout,v,fw,fill) in mbase.
Sun F77 call MCITOA(aout,xout,v,fw,fill) in mbase.
ZCMTOA convert a binary number to machine format
CIVIC Available in cbaselib.
ZCOATOB convert string of ASCII octal digits to binary int
IBM XLF call MCOATOB(ain,xin,xout,v,tc) in mbase.
CIVIC call ZCOATOB(ain,xin,xout,v,tc) in cbaselib.
CF77 call MCOATOB(ain,xin,xout,v,tc) in mbase.
CF90 call MCOATOB(ain,xin,xout,v,tc) in mbase.
DEC F77 call MCOATOB(ain,xin,xout,v,tc) in mbase.
DEC F90 call MCOATOB(ain,xin,xout,v,tc) in mbase.
PGF77 call MCOATOB(ain,xin,xout,v,tc) in mbase.
Sun F77 call MCOATOB(ain,xin,xout,v,tc) in mbase.
ZCOMPEQ compare two arrays for equality
CIVIC call ZCOMPEQ(a1,a2,len,ihit,mask). Available in cbaselib.
ZCOTOA convert a binary octal number to O-type
IBM XLF call MCOTOA(aout,xout,v,fw,grp) in mbase.
CIVIC call ZCOTOA(aout,xout,v,fw,grp) in cbaselib.
CF77 call MCOTOA(aout,xout,v,fw,grp) in mbase.
CF90 call MCOTOA(aout,xout,v,fw,grp) in mbase.
DEC F77 call MCOTOA(aout,xout,v,fw,grp) in mbase.
DEC F90 call MCOTOA(aout,xout,v,fw,grp) in mbase.
PGF77 call MCOTOA(aout,xout,v,fw,grp) in mbase.
Sun F77 call MCOTOA(aout,xout,v,fw,grp) in mbase.
ZEXT zero extend logical to integer*4
syntax ZEXT(arg)
DEC F90 Available. IZEXT is specific for LOGICAL(1) to INTEGER(2); JZEXT for LOGICAL(1) to INTEGER(4); KZEXT for LOGICAL(1) to INTEGER(8).
PGF77 Available.
Sun F77 Available.
ZFILLCHR fill an array with a right-justified character
CIVIC call ZFILLCHR(aout,xout,len,irj). Available in cbaselib.
ZGETAREC get an ASCII record from a buffer
CIVIC err=ZGETAREC(rout,lout,rin,max,wused) in cbaselib.
ZGETBOX get box and id string for an IOC
CIVIC err=ZGETBOX(ioc,str,len). Available in cbaselib.
PGF77 Not Available.
ZMOVEBIT move a bit string
CIVIC call ZMOVEBIT(aout,xout,ain,xin,len). Available in cbaselib.
ZMOVECHR move a character string
IBM XLF call MSMOVCHR(aout,xout,ain,xin,len) in mbase.
CIVIC call ZMOVECHR(aout,xout,ain,xin,len). Available in cbaselib.
CF77 call MSMOVCHR(aout,xout,ain,xin,len) in mbase.
CF90 call MSMOVCHR(aout,xout,ain,xin,len) in mbase.
DEC F77 call MSMOVCHR(aout,xout,ain,xin,len) in mbase.
DEC F90 call MSMOVCHR(aout,xout,ain,xin,len) in mbase.
PGF77 call MSMOVCHR(aout,xout,ain,xin,len) in mbase.
Sun F77 call MSMOVCHR(aout,xout,ain,xin,len) in mbase.
ZMOVEWRD move an array
CIVIC Available in libfor.a in UNICOS on the JEDI, LUKE, and LEIA machines. Call ZMOVEWRD(aout,ain,len,buff).
ZORGHSPZ generate the first family or sequence name
CIVIC call ZORGHSPZ(outname,inname,type,uu). Available in cbaselib.
ZPAKCHRZ pack an array of characters
CIVIC call ZPAKCHRZ(sout,ain,len). Available in cbaselib.
ZPAKIOCZ pack an array into common block ziotable
CIVIC err=ZPAKIOCZ(ioc,aa). Available in cbaselib.
ZPUTAREC move an ASCII record to a buffer
CIVIC call ZPUTAREC(prout,rin,linkflag,use). Available in cbaselib.
ZPUTBOX associate/dissociate box and id with an IOC
CIVIC err=ZPUTBOX(ioc,idstr,ilen). Available in cbaselib.
ZRJCHARZ right-justify and zero-fill a character string
CIVIC call ZRJCHRARZ(aout,sin,len). Available in cbaselib.
ZRJETNAM generate an RJET name
CIVIC err=ZRJETNAM(outname,num,flag). Available in cbaselib.
ZSCANLEQ scan a string from the left for equality
IBM XLF ihit=MSCANLEQ(s,sx,len,char) in mbase.
CIVIC ihit=ZSCANLEQ(s,sx,len,irj) in cbaselib.
CF77 ihit=MSCANLEQ(s,sx,len,char) in mbase.
CF90 ihit=MSCANLEQ(s,sx,len,char) in mbase.
DEC F77 ihit=MSCANLEQ(s,sx,len,char) in mbase.
DEC F90 ihit=MSCANLEQ(s,sx,len,char) in mbase.
PGF77 ihit=MSCANLEQ(s,sx,len,char) in mbase.
Sun F77 ihit=MSCANLEQ(s,sx,len,char) in mbase.
ZSCANLNE scan a string from the left for inequality
IBM XLF ihit=MSCANLNE(s,sx,len,char) in mbase.
CIVIC ihit=ZSCANLNE(s,sx,len,irj) in cbaselib.
CF77 ihit=MSCANLNE(s,sx,len,char) in mbase.
CF90 ihit=MSCANLNE(s,sx,len,char) in mbase.
DEC F77 ihit=MSCANLNE(s,sx,len,char) in mbase.
DEC F90 ihit=MSCANLNE(s,sx,len,char) in mbase.
PGF77 ihit=MSCANLNE(s,sx,len,char) in mbase.
Sun F77 ihit=MSCANLNE(s,sx,len,char) in mbase.
ZSCANRNE scan a string from the right for inequality
IBM XLF ihit=MSCANRNE(s,sx,len,char) in mbase.
CIVIC ihit=ZSCANRNE(s,sx,len,irj) in cbaselib.
CF77 ihit=MSCANRNE(s,sx,len,char) in mbase.
CF90 ihit=MSCANRNE(s,sx,len,char) in mbase.
DEC F77 ihit=MSCANRNE(s,sx,len,char) in mbase.
DEC F90 ihit=MSCANRNE(s,sx,len,char) in mbase.
PGF77 ihit=MSCANRNE(s,sx,len,char) in mbase.
Sun F77 ihit=MSCANRNE(s,sx,len,char) in mbase.
ZSEQHSPZ generate the next name in a sequence of names
CIVIC err=ZSEQHSPZ(nout,xout,inname,num). Available in cbaselib.
ZSIGMA29 compute the LLL 29-bit universal checksum
IBM XLF kremx=MSIGMA29(isum,ain,ibitx,len,krem) in mbase.
CIVIC kremx=ZSIGMA29(isum,ain,ibitx,len,krem) in cbaselib.
CF77 kremx=MSIGMA29(isum,ain,ibitx,len,krem) in mbase.
CF90 kremx=MSIGMA29(isum,ain,ibitx,len,krem) in mbase.
DEC F77 kremx=MSIGMA29(isum,ain,ibitx,len,krem) in mbase.
DEC F90 kremx=MSIGMA29(isum,ain,ibitx,len,krem) in mbase.
PGF77 kremx=MSIGMA29(isum,ain,ibitx,len,krem) in mbase.
Sun F77 kremx=MSIGMA29(isum,ain,ibitx,len,krem) in mbase.
ZSKEYBYT search for a pattern
IBM XLF ihit=MSKEYBYT(s,sx,len,pat,lpat) in mbase.
CIVIC ihit=ZSKEYBYT(s,sx,len,pat,lpat) in cbaselib.
CF77 ihit=MSKEYBYT(s,sx,len,pat,lpat) in mbase.
CF90 ihit=MSKEYBYT(s,sx,len,pat,lpat) in mbase.
DEC F77 ihit=MSKEYBYT(s,sx,len,pat,lpat) in mbase.
DEC F90 ihit=MSKEYBYT(s,sx,len,pat,lpat) in mbase.
PGF77 ihit=MSKEYBYT(s,sx,len,pat,lpat) in mbase.
Sun F77 ihit=MSKEYBYT(s,sx,len,pat,lpat) in mbase.
ZTRANLAT translate the character string
IBM XLF call MTRANLAT(sout,stable,sin,len) in mbase.
CIVIC call ZTRANLAT(sout,stable,sin,len) in cbaselib.
CF77 call MTRANLAT(sout,stable,sin,len) in mbase.
CF90 call MTRANLAT(sout,stable,sin,len) in mbase.
DEC F77 call MTRANLAT(sout,stable,sin,len) in mbase.
DEC F90 call MTRANLAT(sout,stable,sin,len) in mbase.
PGF77 call MTRANLAT(sout,stable,sin,len) in mbase.
Sun F77 call MTRANLAT(sout,stable,sin,len) in mbase.
ZUNPIOCZ unpack an entry from common block ziotable
CIVIC err=ZUNPIOCZ(ioc,aa). Available in cbaselib.
ZVSEEK search for a scalar in an array
CIVIC call ZVSEEK(ihit,ain,ss,len). Available in cbaselib.
ZVXMITS broadcast a scalar word into an array
CIVIC call ZVXMITS(aout,ss,len). Available in cbaselib.