Introduction to Phase Blocking (equivalently Phase Filling)
Phase blocking uses TSL keywords which start with PB. For example "PBperiod" is the period for the phase block of interest for that target. Several Phase II entries can use the same phase block information by putting it in the common block or you can put it in the track list to keep each entry having its own information.
There are three currently available methods (and two others could be provided) to
block and unblock targets according to a phase variable:
To remove the annoyance of having to become
an expert in all manner of phaseblocking notation,
before being able to select the method most applicable
to your target control, the remainder of this section
attempts a rough sketch of the choices and conventions.
For the full descriptions please go on to the later
sections.
The need for different "styles" of phaseblocking
arises from distinct science requirements
for the control of visit phasing, between different celestial
object classes.
The idea of "binwise style" phase-blocking involves two
concepts. The first is a "phase-filling-in" capability
whereby a chosen phase range, or the complete range,
is to be filled in to a desired phase filling density.
The visit dates and phases already accumulated are inserted
into the phaseblock file, and these dynamically determine the
remaining "open phase window." There are no pre-determined
phase bins or spacing buffers. The second concept concerns
a pure and immutable phase block (or blocks), not dependent
at all upon the happenstance of visits already obtained.
This variation is realized simply by a convention of setting
the period parameter NEGATIVE, and starting off the phaseblock
file with one or more FICTITIOUS phases looking like phase
points already obtained. In "pulsator style" format, the
negative period prohibits the date and phase information from
the actual visits from being added to the phaseblock file.
That means that the phaseblocking effect is held precisely fixed,
and while no visit will penetrate the blocked phase ranges, yet
multiple visits are free to be arbitrarily distributed within
the unblocked phase ranges. Lastly, if the goal is no visits
in certain ranges, and more like quasi-evenly space visits in
other ranges, that combination can be effected with a bit of
manipulation involving both one or more fictitious suitably
phased pseudo-points, in combination with the "phase-filling-in"
capability described above (period parameter being POSITIVE).
The idea of "binary style" phase-blocking involves two concepts.
The first is the added ability to enforce precisely specified phase
bins that are intended to receive 0, 1, 2 or any positive integer
number of visits. This more precise ability to control vis a vis
pulsator style is paid for by having to accept phase near-coincidences
and optionally "dead" phase buffering bins that sacrifice observing
window. The second concept is the added ability to specify correlation
between phase ranges in the sense that an observation within range A
can, with provisos, cancel the need for an observation within range B
(generally because the science can be provided by the one OR the other).
Notice that the period parameter remains positive and the phaseblock
file undergoes modification with EVERY successful visit.
Phase Filling "Binwise method"
"binwise" method is useful for "orbital curve observation" type science.
It lends itself to _uneven_ phase curve type coverage (particular phase
ranges exclusively wanted or unwanted). It also enables correlated
phase ranges, such as when an observation executed in one range obviates
the necessity for one to be carried out in a different phase range.
"binwise" method favors detailed and concerted focusing of multiple
phase hits, however duplicative.
Phase Filling "Uniform method"
"uniform" method is useful for "pulsation curve fill-in" type science.
It lends itself to _quasi-evenly filled_ phase curve coverage. Yet it
also allows some handle on phase-blocking "unwanted" phase ranges too,
in that eventuality. "uniform" method favors evenness and economy of
coverage, avoiding (thus unsuitable for) phase duplications or even
near duplication.
Phase Filling "Binwise method" full details
pbBeg1 and pbEnd1 specify a scientifically desirable phase range.
pbBeg2 and pbEnd2 define a similarly desirable phase range. The
two ranges can potentially be related in the sense that, to some
degree, visits to either range constitute equivalently satisfactory (viz.
interchangeable) coverage, as far as the scientific goals are concerned.
But while some visits can be either-or, there is required at least some
minimum visit number for each of the ranges.
Summarizing the goal, at least pbReq1 observations should coincide
with the first specified phase range, at least pbReq2 should coincide
with the, correlated, second specified phase range, and additionally
pb1or2 observations should be acquired in one or the other as soon as
feasible. These requirements are functionally provided by the following
code logic, determining when a prospective visit will be activated
or censored.
The observation may proceed if the track phase...
(fits in the phase pbBeg1-pbEnd1 and pbReq1 + pb1or2 != 0) OR (eqn 1)
(fits in the phase pbBeg2-pbEnd2 and pbReq2 + pb1or2 != 0)
As the trimester proceeds, the pbReq1, pbReq2, pb1or2 parameters get modified in consequence of successful visits:
If a phased observation succeeds then...
(eqn 2)
(in range 1, code decrements pbReq1 if > 0, otherwise pb1or2 if > 0) OR
(in range 2, code decrements pbReq2 if > 0, otherwise pb1or2 if > 0)
See examples below for better familiarity. Finally, note that if
more than one (paired) range is needed, the seven parameter set
of values becomes arrays of values that are PI-inputted (see 7f):
pbBeg1(i) pbEnd1(i) pbReq1(i) pbBeg2(i) pbEnd2(i) pbReq2(i) pb1or2(i)
Phase Filling "Uniform method" full details
"uniform" method collects the observed phases as they come in, and
employs a "phase block radius" around each such hit, to prevent new
observations lying too close (in phase) to pre-existing hits. The
algorithm works like this (note the absence of phase bin concepts):
- An initial phase-block-radius is formed.
- As filling proceeds, with each new phase point obtained, order the remaining
phase gaps by size, and adjust the phase blocking radius such that the
remaining desired hits will fit into JUST that number of the biggest
remaining gaps
- Continuing, the net phase-blocking becomes significant, or equally the open
phase window becomes small, increasingly shutting out the program from
chances to get data. To counteract this handicap (hits looking for small
remaining phase gaps with shrinking chances), further shrink the phaseblock
radius such that a minimum net open phase window is preserved. In that way
the program accepts a slightly more bunched phase outcome with good acquisition
throughput, in preference to an extremely evenly phased outcome with bad
chances of completion.
- A de facto phase blockage can be effected by supplying one or more
"artificial" points in advance.
Parameters pbNum and pbWin
--------------------------
The phase-block-radius is actively adjusted interior to the code, but
the user influences it via the two parameters pbNum and pbWin. pbNum
is related to the number of points (either real or ficititious) with
which it is purposed to quasi-evenly fill the phase dimension as the
end goal of the trimester's intake. Note that pbNum is not the same
concept as the TSL "VISIT" keyword, although they could of course
numerically coincide.
If the phase window becomes very small due to successfully accumulating
visits, pbWin sensibly loosens the phase tolerance so that _all_ the
allocated visits can judiciously still be obtained.
Parameter pbDum
---------------
If the user leaves pbDum negative, no dummy phase points are used.
If the user wants fictitious phase points (e.g. not to re-observe
phases known from other sources), one pbDum or an array pbDum(i)
phases can be supplied, and will be engaged by the algorithm
equivalently to "data already in hand" in terms of tuning the
phase blocking radius. If there is more than one dummy phase,
the phases are entered as an array (see 7f).
Binwise phase filling method - examples
EXAMPLE pbBeg1 pbBeg2 pbReq1 pbBeg2 pbEnd2 pbReq2 pb1or2
.95 .05 1 .45 .55 1 4
This format allows the user to get 6 phase points ( 1 + 1 + 4 )
in the desired small phase range of .95-.05 OR .45-.55. The
user wants at least 1 phase point in each, but the remaining
4 would be just as satisfactory in the one range as the other.
If there are multiple such phase ranges wanted, the user should
submit an array for each of the seven above parameters (see 7f).
EXAMPLE pbBeg1(i) pbBeg2(i) pbReq1(i) pbBeg2(i) pbEnd2(i) pbReq2(i) pb1or2(i)
i=1 .95 .05 1 .45 .55 1 4
i=2 .05 .45 3 .55 .95 3 0
This format allows the user to get 6 points of coverage as
above (e.g. at the velocity curve extrema). The user also wants
an additional 6 point fill-in distributed half-half in the two
leftover phase ranges. pb1or2(2)=0 because there is no correlation
in the desired filling of these latter two ranges. If there e.g.
were no points desired in the range .55-.95, the latter 4 i=2
parameters would simply be left zero.
EXAMPLE pbBeg1 pbBeg2 pbReq1 pbBeg2 pbEnd2 pbReq2 pb1or2
.05 .45 0 .55 .95 0 -1
The binwise method can be powerful, and alternatively employed, conceived
of as a phase-blocking rather than phase-filling tactic. If you rather
want to block inside some particular phase ranges (say .45-.55 and .95-.05),
but fill in arbitrarily much [up to your TAC allocation] coincident with any
OUTSIDE-THE-BLOCK phases, use a format such as the above. This format, when
executed in the coding from section 3, eqns 1+2 above, allows an arbitrary
number of visits to phase range .05 to .45 and an arbitrary number of visits
to phase range .55 to .95. Hence no visits to phase ranges .45-.55 or
.95-.05 will take place, as purposed.
NB the pb1or2 parameter must be set < 0 such that both the observation is
unblocked and the (pointless) decrementing is skipped. Also the pbReq1 and
pbReq2 parameters are left zero for the correct algorithmic handling by the
eqns 1+2. If only the .45-.55 block were wanted, then use pbBeg1=.55,
pbEnd1=.45, pbBeg2=0.00, pbEnd2=0.00. If on the other hand MORE than two
blocked intervals were wanted, then use an array as in the second example.
Uniform phase filling method - examples
For simple phase filling, where the successful visits add their incremental
phase blockage to the total blockage, simply supply the pbNum equaling the
total number of quasi-evenly spaced phase points wanted for coverage. The
initial phase block radius will be (0.7)/pbNum and will be steadily adjusted
internally as data are accumulated. Thus for pbNum=12 an initial observation
at phase 0.5 would, at least to begin with, block further observing during
phases .4417-.5583. The .0583 "phase block radius" somewhat adjusts thereafter
due to the details of the filling being obtained and due to the constraint
of maintaining a minimum open phase window pbWin, if non-zero.
The only complication on the preceding paragraph occurs due to employing
the tactic of supplying artificial phase points which prevent (re-)observing
some particular phase ranges. In that situation, you supply the pbDum
values (the dummy phases), and you need to adjust pbNum upwards by adding
the number of fictitious phases to the number of real data phases that you
aspire to quasi-evenly fill in the phase dimension with. For the example
in the preceding paragraph, if you wanted the 12-point velocity curve
"smooth" coverage, but wanted also to avoid the two velocity zero-crossings,
could supply those two pbDum phases, and boost pbNum from 12 up to 14
(2 fixed-and-fictitious and 12 aspired-to-real data) points being the goal,
smoothly filling the range but avoiding the two unwanted phases.
Notes
time coordinate
Use jdp ("julian date prime") as the time coordinate:
julian date minus a fixed integer (not half integer).
The suggested time zeropoint figure is 2456700. Hence
jdp = JD - 2456700
phase coordinate
Use phase coordinate 0.000 - 1.000. Code will cope with
wrap at phase 0. and phase 1., and hence .9 .1 is a valid
phase range expression.
phase calculation
The phase is mod((jdp - pbTime0)/pbPeriod,1), where the jdp
is the relevant time (e.g. of a prospective visit).
The period is limited to >= 2.0 days because shorter than that,
the current methods are unsuitable, and a different method,
with intra-track discrimination, would be required. Analogously,
other phasing methods would be possible to prototype in consultation
with staff, for example: optimized for period-finding.
compatibility with other visit censoring keywords
The phase block type of visit censoring is compatible with other
TSL visit censoring methods, afforded by the STATUS parameter
and by the synoptic date parameters. The net visit censoring effect
works out as the union of all three censoring methods. As a result,
even objects with both secular and periodic effects, can benefit from
versatile, highly automatic, pre-set visit cadence designs. For
instance, a large set of targets (same object) can be can be kept
in deferral until ready to be activated. Once activated, such a
target will be processed night-by-night, track-by-track, to be
ready or kept on hold, as determined by BOTH the synoptic and phase
blocking considerations.
caveats
There is no correction to heliocentric attempted, and thus
phasing accuracy corresponds to no better than 8 min = 0.006 d.
During one track, target phase change means that the phase readiness
can also change, depending on when during the track an observer manages
to access the target (in view of the leads and lags characteristic
of the observing pace). For the methods described here, a decision
that the visit is ready or on-hold, must however be taken well in
advance, for efficient planning and execution. Thus the convention
is that if a target is NOT phase-blocked coincident with either the
1/4-track or 3/4-track instants, the visit will be nominally ready to
observe, no matter when during the track the real visit becomes
enabled. The executed phase could thus lie very slightly (few 0.001)
on the wrong side of the intended phase bounding. On the other hand,
HET observing does strive to center target executions onto their
respective tracks, to within constraints of queue efficiency and
environmental conditions: this simplified outcome is indeed minor in
occurrence and scope.
how to enter a tsl parameter as an array
In common with other multi-element parameters (e.g. SYNDATE),
the parameters mentioned above as possibly multi-element will
be PI inputted as a string of comma-no-space values. Examples:
single phase range
(pbBeg1) .110
(pbEnd1) .234
triple phase range
(pbBeg1) .110,.432,.898
(pbEnd1) .234,.522,.003
Last updated: Fri, 07 Dec 2018 23:44:46 +0000 shetrone
|