[Previous]
[Next]
NAME:
OCv2Flt
PURPOSE:
Translates data in array INP from 40-bit floating point format to a
two 32-bit word format returned in IREAL.
Called by HERDISK.FOR, HERDA.FOR and HERDRED.FOR
CALLING SEQUENCE:
subroutine OCv2Flt(INP,LOR,IREAL)
INPUTS:
INP(*) integer*2 input array in 40-bit format
LOR integer # 5 byte words in INP to be processed ??
OUTPUTS:
IREAL(*) integer output array in 32-bit format
CALLS: ***
CvSwap
CALLED BY:
HERDISK
MODIFICATION HISTORY:
MAY-2000, Paul Hick (UCSD/CASS)
NOV-2001, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
Originally bytes were moved by using a bitwise SHIFT over
8 bits combined with a bitwise OR, e.g. IWA and IWB
were calculated by
IWA = IIOR(IISHFT(IW3,I8),IISHFT(IW4,-I8))
IWB = IIOR(IISHFT(IW4,I8),IISHFT(IW5,-I8))
Using equivalenced variables instead reduces dependence on
intrinsic functions (g77 doesn't yet support IIOR for instance).
[Previous]
[Next]
NAME:
OCv2Int
PURPOSE:
Convert five-byte words to integer*4.
Called by HERDISK.FOR, HERDA.FOR and HERDRED.FOR
CALLING SEQUENCE:
subroutine OCv2Int(iLen,cData,iData)
INPUTS:
iLen integer length of logical cData record
cData(iLen) character*1 logical record
OUTPUTS:
iData(iLen/5) integer logical record converted to integer*4
CALLS:
MVBITS
CALLED BY:
HERDISK
MODIFICATION HISTORY:
MAY-2000, Paul Hick (UCSD/CASS)
NOV-2001, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
Originally nTemp was declared as integer*2. g77 complains about
a type-mismatch in MVBITS. Apparently it wants integer*4 arguments.
[Previous]
[Next]
NAME:
OGetRecord
CALLING SEQUENCE:
subroutine OGetRecord(bSay, LIN,cData,IHOP,cAR,cMonths)
CALLED BY:
HERDISK
INCLUDE:
include 'filparts.h'
include 'dirspec.h'
include 'openfile.h'
CALLS: ***
Say, bOpenFile, cInt2Str, iFilePath, iFreeLun
PROCEDURE:
Read physical records until whole logical record is read.
Save leftover from last-read physical record for next logical record.
Usually there is an extra 5-byte word at the beginning of each physical
record (LPHYS=5) and two 5-byte words at the end of each logical record.
However, when the second extra 5-byte word for the logical record is the
first word of a physical record, there is no other extra 5-byte word at
the beginning of that physical record (LPHYS=0). The same happens in the
HELIOS A reduced data for 1983, 1984 and 1985, when the first extra 5-byte
word for the logical record is the first word of a physical record.
The value of IHOP determines from which file the next record is read
(IHOP=0: same file; IHOP>0: move IHOP files ahead on optical disk)
The original files on the HELIOS optical disks are variable length files.
The physical records are 640 bytes long, separated by a 2-byte EOR marker.
The files are opened as unformatted, sequential access files.
On VMS the records are read by a LVMS=640 element character array.
On NT the records are read by a LDOS=641 element character array.
[Previous]
[Next]
NAME:
openfile
CALLING SEQUENCE:
include 'openfile.h'
INCLUDED BY:
Average, BList_NSO_NOAA, BList_WSO, BList_WSO_NOAA, BRead_WSO, Connect
DailyIPS_UCSD [1], DailyIPS_UCSD [2], ExpandSW, ExtractInsitu, GIPSCAST, GIPSIMP
HERDISK, HOSPlot, HOSRead, HOSUpdate, HOSWrite, NODAT, OGetRecord, Pandora
Pandora_Records, Peep, PrintAll, ReadG, ReadVIPS, ReadVIPSn, SD_TREE, SortIPS
Time2smei_eph, WR2DARR, WriteI4GRD, WriteLOSD, WriteLOSY, WriteR4GRD, bCompressNic
bOpenFile, bReadNic, bUncompressNic, bWriteNic, dailyips [1], dailyips [2], iFltArr
iHOSInfo, iOpenFile, iReadG, ice_read, ice_write, jpl_state, rice, smei_base, smei_cal
smei_cal_build, smei_cal_c3mask, smei_cal_group, smei_cal_write
smei_frm_getlist, smei_frm_path, smei_frm_write, smei_orb, smei_orbit_info2
smei_skyd, sprint
PROCEDURE:
'Default' means 'bit not set'
[Previous]
[Next]
NAME:
OpenTest
PURPOSE:
Test program for bOpenFile
CATEGORY:
Test: bOpenFile
CALLING SEQUENCE:
run $EXE:OPENTEST
INPUTS:
(none)
OUTPUTS:
(none)
CALLS: ***
bOpenFile, iFilePath, iFreeLun, itrim
PROCEDURE:
Creates, writes to and reads from a temporary file using
bOpenFile with various qualifiers.
MODIFICATION HISTORY:
MAY-2000, Paul Hick (UCSD; pphick@ucsd.edu)
[Previous]
[Next]
NAME:
OSExitCmd
PURPOSE:
Terminate program execution. Set an exit code for external use
Current status: disfunctional
CATEGORY:
Machine-dependent functions: Linux, Unix
CALLING SEQUENCE:
subroutine OSExitCmd(Cmd,iCode)
INPUTS:
Cmd character*(*) shell command passed to SYSTEM
iCode integer error code passed to EXIT function
OUTPUTS:
(none)
CALLED BY:
Say, sprint
INCLUDE:
include 'filparts.h'
include 'dirspec.h'
CALLS: ***
bGetLun, iFilePath, iFreeLun, itrim
PROCEDURE:
> The shell command string is written into a file OSExitCmd.tmp in the
$temp directory (if it is not an empty string). In principle the calling
shell could take some action by reading the file.
> The main purpose of this subroutine is to set an exit code to be checked
by a script or command procedure. This is done using the EXIT function.
MODIFICATION HISTORY:
SEP-1999, Paul Hick (UCSD/CASS; pphick@ucsd.edu); Added documentation