PURPOSETo write data to a FMS file.
CALL FMSWRT (LOGUNT, LOCUNT, ARRAY, NUMWRD)
CALL FMSWR8 (LOGUNT, LOCUNT, ARRAY, NUMWRD)
CALL FMSSWR (LOGUNT, ARRAY, NUMWRD)
LOGUNT = Integer.
The FMS file number, which is stored by FMS in the file attribute list as follows:
- Vector file: LUX(1)
- Matrix file diagonal: LUA(2)
- Submatrix: Matrix LUS(1), Integer LUS(2), Vector LUS(8)
LOCUNT = Integer. (FMSWRT only)
LOCUNT = REAL*8. (FMSWR8 only)
The file address (in 8-byte words) where you want to start to write. The first word on the file is located at LOCUNT=1. For FMSWRT, this is an INTEGER. For FMSWR8, this is a REAL*8 Floating Point Number. FMSWR8 allows the addressing of files greater than 2 Gbytes on systems supporting only 32-bit integers.
ARRAY(NUMWRD) = Complex, Real or Integer array.
Memory array containing the data to write.
- NUMWRD = Integer.
Number of WORDS to transfer. For complex data, count each real and imaginary pair as two words.
This subroutine provides write access to FMS files.
Subroutine FMSWRT provides random access, subroutine FMSSWR provides sequential access. You may reset the file location used by FMSSWR by calling FMSEEK, FMSRED, FMSSRD or FMSWRT. When using FMSSWR to write a fixed-length record file, you must specify the record length for NUMWRD.
These subroutines are typically used to write the right-hand vectors and submatrix files prior to FMS processing. They may also be used to write the matrix diagonals if they have been modified. The off-diagonal and integer matrix files should never be written directly. Their format is machine dependent.
If you have multiple right-hand vectors to write you can use FMSPUT to write them with a single call. The larger transfer can provide improved performance.