propco - nicolob/pep-full GitHub Wiki
Type: subroutine
Defined in: propco.f
Definition: subroutine PROPCO(ipct, kick)
Author: eubanks
Created: October 1976
subroutine to calculate and sum propogation corrections to
radio observations as needed
t. marshall eubanks october 1976
r.b. goldstein and r.w. king may 1978
propco(-2) = first call of propco for phase delay doppler or
counted-cycle vlbi corrections, results stored
in tcal2 or fcal0
propco(-1) = second call for phase delay doppler or counted-cycle
vlbi correction, stored in tcal1 or fcal
propco(0) = phase delay or vlbi phase correction applied
propco(1) = propagation correction to delay
tmdly or dfdly equivalenced to deriv(2,1) in /ltrap/
propco(2) = propagation correction to doppler or diff. delay rate
dop equivalenced to deriv(2,2) in /ltrap/
a note on phase delay and ipct
npath = phadop or fercnt control
npath = 1 : ipct = -2
npath = 2 : ipct = -1
/prpgat/ stores the active propagation corrections
cal(i) is the ith correction to delay or rate
in the appropriate units
scal(i) is the scatter of the ith correction
ical(i) is an integer flag to control use of cal(i) and scal(i)
cal,scal,ical are all on the obslib tape type four record
jcal(i) is an integer flag to be set in the pep input stream
jcal is not on the obslib tape
------------standard logic for correction application -----------
unless overridden in input stream :
standard logic for calculation
1) if a correction exists on tape,do not recalculate it
2) calculate a correction if you are going to use it
standard logic for use:
1) use only the highest ranked corrections
2) use every compatible class of correction
use of jcal
jcal is an override vector set in the pep input stream
jcal (i) is a two digit number
each digit of jcal is independent of the other
the first (ones) digit of jcal(i) refers
to the calculation of corrections
the second (tens) digit of jcal(i) refers to the use of correction
ones digit =
1 : do not calculate the ith correction
2 : use standard logic for correction calculation
3 : calculate the correction
second digit =
1 : do not use the ith correction
2 : use standard logic for correction use
3 : use the correction regardless of rank
phase delay correction in propco :
phase delay dop is a method of calculating
the dop theoritical through differenced range measurements
similar logic is used in the interferometry link to calculate
the accumulated cycle-count observable, except that the
observable (and its corrections) are stored in the delay
slot, not the rate slot
when :
ipct = -2 then tcal2 (i) = cal(i)
ipct = -1 then tcal1 (i) = cal(i)
ipct = 0 if kick=1, then dop= dop + (tcal2-tcal1)/count time
if kick=4, then difnct= difnct + fcal - fcal0
the assignment of the cal vectors
cal(i),scal(i),ical(i),jcal(i)
all refer to the same correction
i = Correction Type Rank Units
1 Static neutral atmosphere 2 delay (sec)
2 Static neutral atmosphere 2 rate (sec/sec)
notes on extrapolated corrections :
starting with viking 76 corrections derived
from an experiment on one spacecraft may be
applied to other spacecraft,and corrections
may be extrapolated in time (due to a
temporary loss of the ranging code,for example)
use of sumcor :
sumcor stores the total correction applied to the pep observables
on the obslib tape type 4 data record
ifmany runs are being made with the same corrections,
these corrections can be stored on the obslib tape and do not
have to be recalculated
sumcor (1) = total delay correction
sumcor (2) = total rate correction
the correction applied by propco is always put
in the sumcor vector:
jct(4)=1 use sumcor that exists
jct(4)=0 recalculate sumcor
notes on calibrations:
calibrations are defined as those corrections having a rank
ical(i) = 5
calibrations are not included in the search for the
highest ranked corrections
calibrations,like all other corrections,are added
to the computed value of the observable
commons prpgat contains the propogation
corrections stored in the type 4 records,
the jcal vectors entered in the pep input stream ,
and communicates between various pep sub-routines
jct(2) and jct(4) logic:
propco off: => zero sumcor
propco on: jct(4)=0 => recalculate sumcor
jct(4)=1 => use existing sumcor
fcntrl.inc
inodta.inc
obscrd.inc
kobequiv.inc
prpgat.inc
ipct
kick
- ...
- ...