OCv2Flt $SMEI/user/pphick/for/main/herdisk.f
[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).


OCv2Int $SMEI/user/pphick/for/main/herdisk.f
[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.


OGetRecord $SMEI/user/pphick/for/main/herdisk.f
[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.


openfile $SMEI/ucsd/gen/for/h/openfile.h
[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'


OpenTest $SMEI/user/pphick/for/main/opentest.f
[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)


OSExitCmd $SMEI/ucsd/gen/for/os/linux/os_linux.f
[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