horizn - nicolob/pep-full GitHub Wiki
Type: subroutine
Defined in: horizn.f
Definition: subroutine HORIZN(xsite,xsitep,nn,jd)
horizn called from rad...,fer...,ang...
nn = negative, entry point cntocc will be called
directly after this call to horizn
nn = positive, no such call to cntocc
n=iabs(nn) = number of sites (1 or 2)
xsite(.,i) = position and velocity of site i relative to
center of earth (i=1,2)
xsitep(.,i)= position and velocity of site i relative to
observed body (i=1,2)
(note that only position coordinates 1,2,3 are used in this
subroutine. coordinates referred to mean equinox and equator of
ref. epoch and units in light seconds, but these do not matter)
if body below horizon at one of the n sites, set jd=-10 if
ict(37) so indicates
ict(37)=-1 do not skip dummy observation which is below horizon
of observing site
ict(37)= 0 skip such a dummy observation
ict(37).gt.0 same as ict(37)=0 plus increment time of observation by
ict(37) minutes for first occurance
iswtch =0 do not increment time by ict(37) minutes
(set zero by entry point hrzswt called from subroutine
obsred after new dummy card read or set zero after time
incremented by ict(37) minutes)
iswtch =1 all right to increment time by ict(37) minutes
(set one if found to be above horizon
as signal to next point)
eps(13)= sine of elevation angle below which observed body is below
horizon at transmitting site or 2nd observing site, if any,
for dummy observations in subroutine horizn
eps(17)= sine of elevation angle below which observed body is below
horizon at observing site for dummy observations in
subroutine horizn
eps(18)= impact distance in kilometers below which observed body is
occulted by its central body for dummy observations in
subroutine horizn (entry point cntocc)
jct(35) = hour of start of dummy observations each day
jct(36) = minute of start
jct(37) = hour of end of dummy observations each day
jct(38) = minute of end
if jct(35 to 38) are zero, every time within day is allowed
dummy observations done just between jct(35&36) and jct(37&38)
if jct(37&38).lt.jct(35&36), then period of dummy obs include 0 hr utc
these time limits could be the start and end of an optical observatory
observing evening. this feature not needed for radar predictions
if jct(35 to 38) nonzero, best to have ict(37) & ict(38) .le.0
coszen = cosine of zenith angle at site i = sine of elevation
note that horizontal plane is taken as normal to vector
from center of earth to site and not normal to geoid
Eps(17) is limit for receive site, Eps(13) for send site
cntocc called from stdldp,stangl,stmdld,rad...,fer...,ang...
nn = negative, entry point horizn was called
just before this call to cntocc
nn = positive, no such call to horizn
n=iabs(nn) = number of sites (1 or 2)
xsb(.) = position and velocity of observed body relative
to central body
xsitep(.,i)= position and velocity of site i relative to
observed body (i=1,2)
(note that only position coordinates 1,2,3 are used in this
subroutine. coordinates referred to mean equinox and equator of
reference epoch and units in light seconds)
if observed body occulted by central body as seen at one of the
n sites, set jd=-10 if ict(38) so indicates
ict(38)=-1 do not skip dummy observation which is is occulted by
central body of observed body
ict(38)= 0 skip such a dummy observation
ict(38).gt.0 same as ict(38)=0 plus increment time of observation by
ict(38) minutes for first occurance
jswtch =0 do not increment time by ict(38) minutes
(set zero by entry point hrzswt called from subroutine
obsred after new dummy card read or set zero after time
incremented by ict(38) minutes)
iswtch =1 all right to increment time by ict(38) minutes
(set one if found to be not occulted
as signal to next point)
sunocc called from stdldp,stangl,stmdld,rad...,fer...,ang...
nn = number of sites (1 or 2)
xsb(.) = position and velocity of observed body relative to Sun
xsitep(.,i)= position and velocity of site i relative to
observed body (i=1,2)
(Note that only position coordinates 1,2,3 are used in this
subroutine. Coordinates referred to mean equinox and equator of
reference epoch and units in light seconds)
If observed body occulted by Sun or transiting Sun as seen at
one of the 'n' sites, set jd=-10
Note: size of Sun avoidance specified by Prmter(95) is also used for
calculating (real) transit observations
sunhor called from rad...,fer...,ang...
nn = number of sites (1 or 2)
xsite(.,i) = position and velocity of site i relative to
center of earth (i=1,2)
xsitep(.,i)= position and velocity of site i relative to
Sun (i=1,2)
(Note that only position coordinates 1,2,3 are used in this
subroutine. Coordinates referred to mean equinox and equator of
reference epoch and units in light seconds)
If Sun is above the horizon as seen at
one of the 'n' sites, set jd=-10
sunhrsp called from rad...,fer...,ang...
xsite = position and velocity of spot relative to
center of observed body
xsitep= position and velocity of spot relative to sun
(Note that only position coordinates 1,2,3 are used in this
subroutine. Coordinates referred to mean equinox and equator of
reference epoch and units in light seconds)
If Sun is above the horizon as seen at the observed spot,
set jd=-10
globdefs.inc
fcntrl.inc
param.inc
redobs.inc
statsrad.inc
xsite
xsitep
nn
jd
- to
- ...
- ...