/usr/share/gnudatalanguage/astrolib/zenpos.pro is in gdl-astrolib 2018.02.16+dfsg-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | PRO ZENPOS, date, ra, dec, latitude=latitude, longitude=longitude, tz=tz
;+
; NAME:
; ZENPOS
; PURPOSE:
; Return the zenith RA and Dec in radians for a given Julian date.
;
; CALLING SEQUENCE:
; ZENPOS, Date, Ra, Dec
;
; INPUT:
; Date The Julian date, in double precision, of the date and time
; for which the zenith position is desired, scalar or vector.
;
; OPTIONAL INPUTS:
; LATITUDE Latitude of the desired location.
; LONGITUDE Longitude of the desired location.
; TZ Time zone (see below).
;
; OUTPUTS:
; Ra The right ascension in RADIANS of the zenith.
; Dec The declination in RADIANS of the zenith.
;
; PROCEDURE:
; The local sidereal time is computed; this is the RA of the zenith.
; It and the observatories latitude (corresponding to the Dec.) are
; converted to radians and returned as the zenith direction.
;
; PROMPTS:
; ZENPOS will prompt for the following 3 parameters if they are not
; defined in the common block SITE (see below) or provided as
; keywords. Keywords override information in the common block.
;
; LAT,LNG - north latitude and east longitude of the desired location
; in DEGREES
; TZONE - Time Zone (in hours) of the desired location (e.g. 4 = EDT,
; 5 = EST)
;
; COMMON BLOCKS:
; SITE - This common block should contain the three scalars LAT, LNG
; and TZONE
;
; PROCEDURE CALLS:
; CT2LST - Convert to Local Mean Sidereal Time
; MODIFICATION HISTORY:
; Written by Michael R. Greason, STX, 14 October 1988.
; Converted to IDL V5.0 W. Landsman September 1997
; Update documentation, longitude now *east* of Greenwich W.L. July 2000
; Add keywords for non-interactive use J. Sapp July 2016
;-
COMMON SITE, lat, lng, tzone
if N_params() EQ 0 then begin
print,'Syntax - zenpos, dte, ra, dec'
print,' dte = Julian Date, Ouput Ra and Dec in radians'
return
endif
; Override common block parameters with keywords
if N_elements(latitude) ne 0 then lat = latitude
if N_elements(longitude) ne 0 then lng = longitude
if N_elements(tz) ne 0 then tzone = tz
if N_elements(lat) eq 0 then read, $
'Enter latitude and longitude (in degrees): ',lat,lng
if N_elements(tzone) eq 0 then read, $
'Enter time zone (in hours): ',tzone
;
; Define the needed conversion factors.
;
d2rad = !DPI / 180.D0
h2rad = !DPI / 12.D0
;
; Get the sidereal time corresponding to the
; supplied date.
;
ct2lst, lst, lng, tzone, date
;
; Compute the RA and Dec.
;
ra = lst * h2rad
dec = ra*0. + lat * d2rad
;
RETURN
END
|