Crafting an Orbfit 5 Options File

some notes on the options file required by orbfit 5

Default vs User Options Files

Orbfit reads its options from multiple setting files on your machine. Let’s call these the default settings and the user settings. The default settings are read first add can be found in the lib/ folder of wherever you compiled Orbfit on your machine. For me these files are found at ~/Orbfit5.0/lib/*.def

$ cd ~/Orbfit5.0/lib/
$ ls *.def
bineph.def fitdeb.def fitobs.def impcor.def orbfit.def propag.def reject.def

Your user settings have a .oop (Orbfit OPtions) extension and are found in your current working directory and these are read after the default settings, over-riding any common options the two file may have, i.e. User settings trump default settings.

Option Sets

There are various sets of options, each written as a keyword followed by a period:

  • operations. - usage mode options
  • object1. & object2. - object specific options
  • output. - orbital element options
  • ephem. - ephemeris generation options
  • propag. - orbit propagation options
  • ident. - orbit identification options (I don’t report on these option in this post)
  • lsfit. - least squared fitting of orbits options (I don’t report on these option in this post)

Usage Mode Options

Basically you switch these options on and off depending on your use-case. There are 3 modes for each option:

  • 0: off
  • 1: only perform task if needed
  • 2: on
operations.
    .init_orbdet = 0|1|2
    .diffcor = 0|1|2
    .ident = 0|1
    .ephem = 0|1
.init_orbdet
calcualte and initial orbit with Guass' method. Default: 1
.diffcor
perform some differential corrections of the orbital elements with least square fitting Default: 1
.ident
try to identify a single orbit to the observations of both objects. Default: 1
.ephem
generate an ephemeris for the object(s). Default: 0

Objects Options

object1.
    .name = <string>
    .inc_name = <string>
    .obs_fname = <string>
    .obs_dir = <string>
    .inc_files = <string>
.name
the name for the object; can be used in naming of some input and output files. Note you can have several different run-names for the same object. Default: name of run.
.inc_name
object name in orbital elements file. Default: same as .name
.obs_fname
the basename of the observation file (without .obs extension). Default: same as .name
.obs_dir
location of the observation file. Default: ./ i.e. cwd
.inc_files
initial conditions file (orbital elements). Can be in astorb.dat [BA], MPC [MPC-A] or the native orbfit [OEF] format. Note only the first match in the any set of orbital elements files is used. Speed up the search by explicitly stating the format of the input file by appending a format codename. Default: None

Orbital Elements Output Options

output.
    .epoch = <date-time>
    .elements = CAR|EQU|EQP|KEP
output_files.
    .elem = <string>
.epoch
the epoch at which orbital elements are to be calculated. Can be in many formats (I prefer MJD). Example: MJD 50982.94143519 UTC. Default: orbfit will decide.
.elements
the type of orbital elements to output. CAR for cartesian, EQU for equinoctial, EQP for equinoctial for highly inclined orbits, and KEP for keplerian. Default: EQU
output_files.elem
where to write calculated orbital elements to. Default: <name of run>.oel

Ephemeris Generation Options

ephem.
    .objects = 1|2|3 (or any combination)
    .epoch.start = <date-time>
    .epoch.end = <date-time>
    .step = <float>
    .obscode = <string>
    .timescale = UT1|TAI|UTC|TDT
    .fields = <string>
.objects
the ‘list’ of objects which to calculate an ephemeris for. The ‘list’ include 1 and/or 2 relating to objects 1 and 2. You can also use 3 for the result of an identified orbit from both objects (3). Default: 1 2 3
.epoch.start
the start epoch of ephemeris to be calculated. Can be in many formats (I prefer MJD). Example: MJD 50982.94143519 UTC. Default: orbfit will decide.
.epoch.end
the end epoch of ephemeris to be calculated. Can be in many formats (I prefer MJD). Example: MJD 50982.94143519 UTC. Default: orbfit will decide.
.step
the ephemeris step-size in days Default: 1.0
.obscode
observatory code for ephemeris fro topocentric correction. Default: 500, i.e. geocentric
.timescale
the timescale ephemeris is to be reported in. UT1, TAI, UTC or TDT. Default: TDT
.fields
a list of comma-separated keywords, the values of which you want reported in the ephemeris. Options include cal calendar date, mjd, coord (RA and DEC), mag magnitude, delta distance from the Earth, r distance from the Sun, elong Sun elongation angle, phase Sun phase angle, glat galactic latitude, appmot apparent motion and skyerr sky plane error. Default: ‘cal,coord,delta,r,elong,phase,mag’
ephem.appmot.
    .format = <string>
    .units
.format
format of apparent motion ‘rectangular’ (1) or ‘polar’ (2).
.units
velocity units. Angular unit can rad, deg, arcmin or arcsec. Time units can be d, h, min, s. Example arcsec/min.

Orbit Propagation Options

I list only the most important options here. To see the rest of the options take a look at the lib/propag.def file in you local install of Orbfit.

propag.
    .output_des = <boolean>
    .ab_mag= = <boolean>
    .iast = <int>
    .ilun = 0|1
    .imerc = 0|1
    .iplut = 0|1
    .irel  = 0|1
    .filbe = <string>
    .iclap = 0|1
    .iaber = 0|1
    .istat = 0|1
    .npoint= <int>
.output_des
Output in DES format? Default: False - .rwoformat
.ab_mag
report AB mags Default: False
.iast
number of massive asteroids to use Default: 0
.ilun
include moon Default: 0
.iplut
include pluto Default: 0
.imerc
include mercury Default: 1
.irel
account for general relativity Default: 1
.filbe
asteroid ephemerides file Default: CPV
.iclap
include close approach Default: 1
.iaber
account for aberration effects Default: 1
.istat
add topocentric correction Default: 1
.npoint
the minimum number of data points required for a close approach calculations Default: 100