[Previous]
[Next]
NAME:
HLngEarth
PURPOSE:
Returns the heliographic or ecliptic longitude (in degrees) of the
sub-Earth point
CATEGORY:
Celestial mechanics
CALLING SEQUENCE:
double precision function HLngEarth(tt)
INPUTS:
tt(2) integer 2-element standard time
OUTPUTS:
HLngEarth double precision heliographic longitude (degrees, in [0,360)
CALLS: ***
Time2EclipticHeliographic, Time2SunNewcomb
CALLED BY:
Time2Carrington
SEE ALSO:
XMAP_SC_POS
PROCEDURE:
Typically used as external function to e.g. XMAP_SC_POS
MODIFICATION HISTORY:
JAN-1991, Paul Hick (UCSD/CASS)
JUL-1993, Paul Hick (UCSD/CASS; pphick@ucsd.edu), added option to return ecliptic longitude
[Previous]
[Next]
NAME:
HLngEastLimb
PURPOSE:
Returns the heliographic or ecliptic longitude (in degrees) of the
solar east limb
CALLING SEQUENCE:
double precision function HLngEastLimb(tt)
INPUTS:
tt(2) integer 2-element standard time
OUTPUTS:
HLngEastLimb double precision heliographic longitude (degrees, in [0,360)
CALLS: ***
Time2EclipticHeliographic, Time2SunNewcomb
SEE ALSO:
XMAP_SC_POS
PROCEDURE:
Typically used as external function to e.g. XMAP_SC_POS
MODIFICATION HISTORY:
???-????, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
[Previous]
[Next]
NAME:
HLngWestLimb
PURPOSE:
Returns the heliographic or ecliptic longitude (in degrees) of the
solar west limb
CALLING SEQUENCE:
double precision function HLngWestLimb(tt)
INPUTS:
INPUTS:
tt(2) integer 2-element standard time
OUTPUTS:
HLngWestLimb double precision heliographic longitude (degrees, in [0,360)
CALLS: ***
Time2EclipticHeliographic, Time2SunNewcomb
SEE ALSO:
XMAP_SC_POS
PROCEDURE:
Typically used as external function to e.g. XMAP_SC_POS
MODIFICATION HISTORY:
???-????, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
[Previous]
[Next]
NAME:
HOSInquire
PURPOSE:
Determine record length for a Helios file
CATEGORY:
Kludge
CALLING SEQUENCE:
subroutine HOSInquire(cFile,iRecl)
INPUTS:
cFile character*(*) file name
OUTPUTS:
iRecl integer record length in 4-byte words (usually 37 or 6)
= 0 if not succesful
CALLED BY:
iOpenFile [1], iOpenFile [2], iOpenFile [3]
INCLUDE:
include 'dirspec [1].h'
include 'dirspec [2].h'
include 'dirspec [3].h'
include 'dirspec [4].h'
CALLS: ***
CvSwap, Say, bGetLun, iFreeLun
RESTRICTIONS:
It is assumed that the record length is an integer number of
longwords (4-byte words).
PROCEDURE:
> This kludge is necessary for DOS, Unix and Linux. Helios files are opened as
direct access files. It is necessary to explicitly use the recl
keyword to provide the record length in bytes (in VMS this is not necessary).
> The resulting record length can be used directly in an open statement:
open (iU, file=cFile, status='OLD',access='DIRECT', recl=iRecl)
This should work both under DOS, VMS and Linux. Unix has not been tried yet.
> First an inquire by name is tried.
VMS returns the record length in bytes; this is converted to longword.
DOS returns a zero-record length.
The record length is determined from the file content by
looking for photometer/color combinations.
MODIFICATION HISTORY:
JUN-1998, Paul Hick (UCSD/CASS)
JAN-2003, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
Photometer values are now tested for values 1,2,3. If the first photometer
value read from file is not one of these, then bytes are swapped and the
same test is done again. If swapping bytes changes the photometer value to
1,2 or 3 then byte swapping is applied to all integers read from file.
This should allow the routine to work when Helios files created on VMS, Windows
or Linux are opened on a Unix machine and v.v. (iHOSRead uses the same trick)