Comments and blank lines may be added freely. (Anything beginning
with a space is a comment.) If a line is uncommented, it's probably
controlled via the user interface.
The default version of this file is stored in 'environ.def'. Once
you've run Find_Orb or 'fo' (Find_Orb's non-interactive sibling), new
settings are written to 'environ.dat'. If you decide at some point that
you'd like to reset to factory defaults, just delete 'environ.dat'.
Windows Find_Orb ignores the following 'CONSOLE_OPTS' line. For the
console flavor of Find_Orb, this line gives the default MPC code for
ephems, which items are shown on-screen, residual display format, and
whether all, some, or only one MPC code(s) are displayed.
CONSOLE_OPTS=500 15 3 1
The 'settings' give the comet magnitude type used (defaults to 'N', or
'nuclear'); the format used for orbital elements; the precision used
in orbital elements (defaults to five places for angular elements); the
ephemeris output options, in a complicated form; the maximum residual
filtered, in arcseconds (defaults to 2); and the Gaussian "noise"
added, in sigmas, when running Monte Carlo orbits.
'filtering' gives the assumed probability that an observation is a blunder
(defaults to 2%); the over-observing time span (defaults to one day); the
"ceiling" on over-observing (defaults to five observations); and a number
which is 1 if "filtering" uses blunder management, or 0 if we are doing
traditional rejection based on an observation having residuals greater
than N sigmas, with N specified in 'settings' (see above). By default,
blunder management is used (see the Find_Orb Web page for a description of
blunder management and over-observing parameters).
FILTERING=2.000 1.000000 5 1
Observations sent via e-mail frequently end up with spaces added
or removed. Find_Orb will (usually) parse such observations anyway.
Remove or comment out the following line, and Find_Orb will switch
to being "strict" about lines being exactly 80 characters long, etc.
By default, ephemerides can cover the range -1000 to +3000. If you want
to go beyond that, alter the following line.
MPC has requested that NEOCP data not be redistributed. So in
pseudo-MPECs, NEOCP observations are "redacted" (blacked out and the
data replaced with garbage). The following observers have kindly given
permission for their NEOCP observations to be redistributed in
"unredacted" form. (Contact me if you're willing to be added to this
GREENLIT=033 568 703 G58 G96 H41 H43 H45 I52 I93 J95 V03
We default to assuming that no object will have an observed arc greater
than 200 years, and that if it _is_ longer than that, it's a mistake.
This is a pretty good assumption, though some comets and four asteroids
do have longer observed arcs than this, possibly requiring you to
adjust the following line.
For radar stations, power (in watts), temp in K, gain, altitude limit
in degrees, and an arbitrary "radar constant" are needed. So far, the
only radar stations for which I have those data are (251) Arecibo and
(253) Goldstone. [Correction: at least most of these data are provided
in Table 1 of https://arxiv.org/pdf/1604.01080v1.pdf. And Table 2 provides
'relative sensitivities', based on DSS-14 Goldstone (253) = 1, including
for bistatic modes. One could, and I probably eventually will, copy the
(253) line for use with other stations; compute ephemerides that way;
replace the power, temperature, etc. values with the ones that actually
apply for that telescope; then scale up/down the "radar constant" to get
SNRs that are the appropriate multiple of (253) Goldstone.]
The Parkes radio telescope in Australia lacks an official MPC code. But it
has an unofficial MPC code in 'rovers.txt' (q.v.).
'Settings2' gives five parameters. The first is 1 if observation weighting
is used and 0 if it is not. Next, the 'faint limit' on ephemerides (by
default, ephemerides are not listed if the object is fainter than mag 22).
The third value defaults to zero; if it's non-zero, the positional sigmas
for observations are shown in the (normally blank) columns 57-65 of MPC
reports. The fourth number indicates a central object for orbital
elements, if one isn't allowing automatic selection of elements. By default,
the central object is 3, i.e., the earth.
The final number is 1 if FCCT14 astrometric debiasing is applied, and 0
if it is not. FCCT14 removes (most of) the star catalog position/proper
motion biases, using tables from Farnocchia, Chesley, Chamberlin,
Tholen, _Icarus_ 245 (2015) 94-111,
http://adsabs.harvard.edu/abs/2015Icar..245...94F . See
https://www.projectpluto.com/bias.htm for more information.
SETTINGS2=1 22.00 0 3 0
Note the comments in the above paragraph about FCCT14 debiasing. By
default, Find_Orb looks for the 'bias.dat' file to be in the same
directory as Find_Orb itself. However, you can set the file name
with the following line.
Most JPL filenames can be automatically detected via the list in
'jpl_eph.txt'. But if it's in a different folder or an odd name, you
can add the path to one of the following, depending on whether you're
on Windows or Linux. (LINUX_JPL_FILENAME is also used for OS/X and *BSD.)
When Find_Orb loads up a short arc, it uses "statistical ranging"
(SR), and defaults to trying 100 possible orbits at a mix of
distances and radial velocities to characterize the possible orbits
for the object. You can raise or lower that number here.
By default, if asteroid perturbers are turned on, Pallas is included
if it is within 10 AU of our target object. This 'asteroid threshhold'
is scaled by the square root of the perturbing asteroid's mass; for
example, an asteroid with a quarter the mass of Pallas would only
be included if it were within 5 AU. This helps to assure that the tiny
contributions of most of the 300 asteroids do not have to be computed.
If you think you have a case where they _do_ matter, increase the
following setting. If you think you're unnecessarily including asteroid
perturbations that cannot possibly matter, decrease it.
By default, we consider all 300 asteroids listed in BC-405. You can
get a good speed-up by cutting this down, at the risk of maybe ignoring
some tiny rock that just happens to pull your target around more than
By default, geoocentric elements are referred to the J2000 _equator_.
Everything else (heliocentric and other non-earth-centric) is referred
to the J2000 _ecliptic_. Set the following to be 1 to force all
elements to be J2000 ecliptic (including geocentric ones), or 2 to
force all elements to be J2000 equatorial. Set it to be 3 to force
all elements to be body-centric. Note that for geocentric elements,
this will result in elements that are slightly different from those you'd
get by default, due to precession and nutation since 2000; the angles
should be passably close to those seen in TLEs.
Find_Orb will apply geopotential terms (spherical harmonics) for objects
close to the earth. It has a bit of logic to determine how many should
be computed, as a function of distance (only J2 for most cases, but
many terms as one gets close to the earth). The following GEO_TERMS
quantity can be raised to include more terms, or lowered to get better
speed for artsats. However, through experimentation, I've found that
setting it to the default value of 6 gets good results; increasing it
doesn't change orbits much, lowering it causes them to start showing
Find_Orb can use either the method of Encke (do a two-body solution relative
to the 'best fitting' body, integrating perturbations to that orbit). By
default, it instead uses the method of Cowell (the 'direct' method, in
which you just integrate the accelerations from all bodies). I'm still
experimenting with both methods. But you will probably be best off leaving
this value at zero, meaning Cowell is used.
By default, the DRAG_SHUTOFF=1 tells Find_Orb not to include the effects
of atmospheric drag. Set it to zero if you want objects entering the
earth's atmosphere to be affected by drag.
By default, Find_Orb will look for an orbit covering, at most, 20
years (7300 days) of observations. This is simply for speed reasons,
and you can toggle additional observations once the object is loaded
and extend the orbit. You can adjust the initial parameter here.
VECTOR_OPTS gives three values controlling state vector and Cartesian
coordinate ephemerides. The first value can be zero (the default) for
equatorial J2000 vectors, or one for ecliptic J2000. (I may add
mean and/or apparent coordinates at some point, and perhaps body
plane coordinates.) The second value is a multiplier for length.
Lengths default to being in AU, with this multiplier being 1.
Set it to 149597870.7 (the number of kilometers in one AU) to switch
to kilometers, or to 23454.7800299146773197201 to switch the distance
unit to Earth radii (this assumes the equatorial radius of 6378.140 km.)
The final value gives the time unit: 1=days (default), 24=hours,
1440=minutes, 86400=seconds. For example, VECTOR_OPTS=1,149597870.7,86400
would get you ecliptic J2000 vectors in kilometers and km/s.
Comet non-gravitational forces in the "standard" Marsden-Sekanina model
are assumed to be due to sublimating ice. As described at page 3 of
'Cometary Orbit Determination and Nongravitational Forces', D. K. Yeomans,
P. W. Chodas, G. Sitarski, S. Szutowicz, M. Krolikowska, "Comets II",
this leads to a force whose magnitude is given by a function g(r), with
parameters r0, m, n, and k. The following line gives those constants for
non-gravs driven by sublimating water ice. Sekanina and Kracht have
proposed different r0, m, n, and k for other sublimation processes. If
you want to do that, change the line below. (Note that 'alpha' isn't
given; it's a normalization quantity to ensure g(1) = 1. Find_Orb
will compute it for you.)
Initial orbit determination (IOD) usually takes a couple of seconds.
For longer arcs, it might take five or ten seconds. If it takes more
than IOD_TIMEOUT seconds (defaults to 20), we stop looking for a better
initial orbit and take whatever our best orbit thus far is. (Such cases
usually come about because the observations are inconsistent and there
isn't really a meaningful orbit that fits them.)
Find_Orb defaults to looking for the BC405 ephemeris file (orbital elements
at 40-day intervals for 300 asteroids used in the BC405 theory; see
https://www.projectpluto.com/ast_pert.htm for details) in its configuration
directory, then the local directory. But using the following line, you
can move the 'asteroid_ephemeris.txt' file to a different directory, and/or
I had a request (https://groups.yahoo.com/neo/groups/find_orb/conversations/messages/35)
for an option to output planetary state vectors at the epoch of the orbital
elements to 'elements.txt'. If you want to do that, set PLANET_STATES=1.
By default, it's blank and planet states are not written out.
When looking for precoveries, one may want to list only images that
haven't been measured yet, or only those that have been measured. (Note
that the only way Find_Orb knows which images have been measured is by
looking at the astrometry. That is to say, if the astrometry you've used
to compute the orbit came from an image, Find_Orb will notice that fact.
Otherwise, it'll assume that the image in question hasn't been measured.)
A value of 1 means "show only measured images"; 2="show only unmeasured";
0 or blank means "show all images".
Set the following COMBINE_ALL parameter to any non-blank value, and all
observations in a file will be loaded as if they were of a single object.
This can be convenient when you're checking a linkage, for example; you
can compute an orbit based on all the observations without having to
change the designations to all be the same.