No matching section. Try another button name or a broader term.
Your first orbit
Install the astronomy data first. Open an MPC OBS80 file with Open… or retrieve observations with MPC…. Select the object if the file contains several objects, check the perturbers and inspect the first solution. Auto-Solve performs five full improvement steps; Full step performs one.
Return to Observations and compare res. RA, res. Dec and res. total. Use the station colours and notes to investigate patterns before excluding positions. Open Ephemeris, select UTC, an observing station, a start time and 1h steps. Run computes the table; Star chart shows its path. Save the elements and residuals before trying another model.
Install astronomy data…
Install astronomy data… downloads missing files from their providers, verifies size and SHA-256, unpacks the EFCC18 archive and installs the result in data/astronomy. Existing valid files are reused. JPL DE430 provides planetary and lunar positions and is required. BC-405 supplies 300 asteroid perturbers; EFCC18 bias.dat enables catalogue debiasing. These two additions are optional for the corresponding calculation features.
The complete download is about 243 MB, with about 270 MB installed; temporary download and replacement space is also needed. The dialog shows progress and allows cancellation. An interrupted file does not replace a valid installed file. Shared data survive changes of build directory. Stations update separately. Provider availability and internet speed determine the installation time.
Open… and MPC…
Open… reads OBS80, ADES PSV and ADES XML using Bill Gray’s source converter. Unrelated lines are silently ignored. If no observations are recognised, your existing observations, orbit and ephemerides remain available.
MPC… accepts a number, normal or packed designation, or name: 875432, 2024 YR4, K24Y04R, C/2023 A3 or Ceres. Refresh lists loads the complete current NEOCP/PCCP dropdown. PCCP means Possible Comet Confirmation Page. The designation is checked before downloading. A server failure is not treated as proof of an incorrect designation.
Search names in MPC observations accepts part of a name: enter Jahn, click Search names, then select (10340) Jostjahn before Find at MPC. All matching names are listed; no ambiguous result is chosen automatically. Complete official MPC lists of named minor planets, comets and interstellar objects are cached with SHA-256 and refreshed daily when searching. An unavailable service can use the verified older list, with its age shown. Examples: 1P/Halley / 0001P, 2I/Borisov / 0002I, C/2023 A3 / CK23A030, 2024 YR4 / K24Y04R.
Selecting a name result fills its permanent number/designation; Find at MPC performs the download. The dialog closes only after a complete successful response. On a service error it stays open with the result list and selected object; Retry at MPC repeats the download. HTTP 500 means an internal MPC server error, not proof that the chosen object is wrong. Transient HTTP 500/502/503/504 is retried once automatically; persistent failure shows the explained status and keeps current observations/ephemerides. A genuinely unknown designation is reported separately after identifier validation.
Layout and navigation
The left side has four collapsible areas: Observations / perturbers, Orbital elements, the main output view and Station data / notes. Use the small triangle in an area’s title to free vertical space. Drag the station divider upward for longer notes. Click the element text to switch between classical and alternative elements without a new calculation.
The five layout controls are OBS80, Residuals, Delta t, Units and Colors; active modes are blue. Changing visible fields adjusts the required width while keeping the window position. Observations, Ephemeris, Orbit, Residuals, Star chart and Real sky share the main output area. The right action buttons are grouped in rows of four; their settings open underneath. Hover both the field and its preceding title for explanations. View → Sort by changes line order; retain Input order when comparing to the source.
Objects attaches to the visible main-window frame, including after first display, resizing, moving to another monitor and DPI changes. The visible upper and lower edges match the main window.
Each object selection, including a combined selection, keeps its own fitted orbit, covariance, ephemeris, element series, pending exclusions, sigmas, selection and sort. A verified session automatically restores the complete imported source, selected objects, settings, layout, view and window placement on startup without a file argument. Sessions are saved atomically under data/workspace-session with SHA-256 and a last-good backup. Scientific data/core/settings changes mark outputs stale. Damaged applied input is reported and requires Full step from the intact source.
The tall › control folds the whole settings side to the right; ‹ expands it. The output area takes the freed width. The Windows square maximizes the app. With Objects visible, the maximized arrangement reserves space for that docked list. Folding, maximization, selected element, errors, orbit camera/time and survey/contrast/zoom are saved with the session.
Orbit methods and stopping
Herget step uses the R1 and R2 distance estimates in AU. Full step refines the current fit once; Auto-Solve runs five full steps. Simplex offers another improvement method. Gauss searches suitable short arcs and alternative roots, scores candidates against all included observations and produces an initial orbit. Follow Gauss with Full step rather than treating a starting solution as a finished fit.
Vaisala opens an assumed distance for an initial orbit. Monte Carlo and Stat ranging explore variants rather than proving a unique orbit. Stop cancels the active calculation and terminates its child calculation processes; a cancelled run is not a completed new solution. Exit closes the application. Preserve the prior elements and observation choices so that you can compare solutions and reproduce a change.
The solver uses at most half the logical processors (at least one). A fit checkpoint stores exact binary state, all fitted force parameters, weights, inclusion flags, covariance eigenmodes and available ranging samples. SHA-256 ties it to input, core build, provider data and fitting options. Full step and other fitting actions always compute again; ephemeris-only changes reuse an unchanged solution. Parallel chunks start from one common fit and retain their boundary check and serial fallback. Tests compare cached and fresh outputs including uncertainty. A 162-observation example took 5.11 s fresh and 1.64 s reused (3.1×); this is not a universal speed guarantee.
Read positional residuals
res. RA and res. Dec are the signed east/north positional differences reported for the fit; res. total is their combined angular size. They are offsets on the sky, not the absolute right ascension or declination. Compare both components: a small total alone cannot identify a timing pattern, catalogue bias or a station-specific offset. PA is the residual direction measured from north through east, in degrees.
The Residuals layout button shows the three numbers beside each observation. The Residuals view button opens an equally scaled scatter plot with sensible tick spacing and a small station-colour legend. Hover a point to see its observation. Press the same view button again to show the Δt scatter. The chosen points and excluded rows remain traceable to the source; the graphic helps identify a pattern but does not automatically validate or reject an observation.
In the Residuals scatter, click a station code in the lower legend or any point to highlight all residuals of that station and dim the others. Click empty space to restore all points. The highlight is retained when switching between RA/Dec and Δt.
Hover over a legend code to read the station name. A filled point means included; a cross means excluded, either manually or by the fit’s rejection rules. A cross does not alone prove a bad measurement. Wheel zoom is centred at the pointer and now continues far beyond the old factor-500 limit; drag pans and double-click resets. Both components use the same angular scale. Switching to Δt resets that coordinate view; station highlighting is retained.
Δt RA, Δt Dec and Δt total
Delta t asks how much the observation time would have to shift to explain a residual along the predicted motion. Each component divides its positional residual by the motion in that coordinate. Δt total is the core’s along-track projection. It is not the sum of the two component shifts and not a third positional residual.
When a coordinate barely changes, its component time shift is unstable or unavailable; a dash indicates a value that cannot be sensibly displayed. A large Δt alone is not evidence of a wrong clock: perpendicular errors and weak motion also matter. Compare RA and Dec, the positional scatter, station context and timing information. PA remains present whenever positional residuals or Delta t are displayed. Values are diagnostic; the display does not silently change timestamps in the OBS80 record.
Units, signs and precision
Units cycles through auto, arcseconds/seconds ("/s), arcminutes/minutes ('/m) and degrees/hours (d/h). The angle and time units are separate dimensions: an arcminute is not a minute of time. The sign follows the unit, matching the compact original style; for example 0.42"+ is a positive angular residual, and 2.10s− is a negative time shift. PA always uses degrees.
Automatic mode adapts the unit and number of digits to the magnitude. Fixed modes use consistent field lengths and shared precision for an orderly column. Exceptionally small nonzero values may use scientific notation rather than becoming a misleading zero. Display rounding does not change the integration precision or the stored OBS80 input. Element precision (1–12) controls printed element digits. Use exported numerical values for further calculation rather than reading rounded labels from a screenshot.
Select, exclude and find Worst obs
Observations remain unchanged fixed-width lines. Click a field heading above the OBS80 data or a residual heading to sort ascending; click again for descending. Number, packed designation, flags, UTC date, observed RA/Dec, source fields, magnitude, band, catalogue, reference, station and inclusion status can be sorted. Selection and pending exclusions survive sorting. Missing numeric values sort last. The separate Sort button has been removed; the View menu remains an alternate route.
Sigmas, blunders and clustered observations
Use sigmas weights positions by uncertainty. Sigma file selects the defaults; Set sigmas opens Selected sigma ("), then Apply selected sigma changes the selected observations. A smaller sigma gives more weight. Missing required files disable their options and explain why in the hover text. Debiasing requires the downloaded EFCC18 bias.dat.
Blunder probability (%) is an assumed probability that a measurement is a blunder, not an angular threshold. The core uses it to downweight implausible positions; 0 disables this reduction. Outlier limit controls the core’s rejection threshold. Overobserving reduces excessive weight from dense same-station observations using Overobs. span in days and Overobs. ceiling as an effective contribution limit. These settings alter the fit; document them when comparing results.
Perturbers and force models
The top checkboxes choose gravitational perturbers for the next calculation; All perturbers off clears them. Settings → Force model offers Standard, SRP A1, SRP A1+A2, SRP A1+A2+A3, Comet A1+A2, Comet A1+A2+A3, Comet A1+A2+A3+DT, Yarkovsky A2 and Delta-V. These are the implemented source-core choices. A1, A2 and A3 describe radial, transverse and normal acceleration terms in their model.
Additional fitted parameters need adequate observations; a lower residual is not sufficient proof of a physical effect. Comet DT adds a timing offset in the cometary model. Delta-V needs an initial manoeuvre epoch in UTC within the included observation interval; the core fits the epoch and velocity change. Save a Standard solution first and compare the result and parameter plausibility. The upstream Earth-shadow treatment of nongravitational terms is retained in this local core.
Fitted force parameters in the elements are bold when |value|/standard error is at least 3. A missing or zero standard error is not interpreted as significance. The elements heading identifies the object and actual Element center.
Constraints and elements
Constraints supports source-core expressions such as e=1 (parabolic), e=0 (circular), q=1.2 (perihelion distance in AU) and e=0.1,a=2.5. Multiple constraints are comma-separated. Apply only a justified constraint; forcing an orbit can conceal insufficient data. Reference adds identifying text to the output. Comet magnitude selects Nuclear or Total photometry, not a different physical orbit.
Element center can be Automatic, Barycentric, Sun, any major planet, Pluto or Moon. Elements depend on the chosen center and epoch; a change recalculates the solution. Epoch accepts the core’s time expression, and clicking the elements switches presentation. The Orbit graphic requires Sun-centered elements: choose Sun for that view. Preserve numerical elements and the epoch together when exporting.
e=1
e=0
q=1.2
e=0.1,a=2.5
| Option in the app | Meaning and use |
|---|---|
Epoch | Epoch for printed elements. +0 lets the core choose automatically; a specific date fixes the epoch. |
R1 / R2 | Assumed distances in AU for initial-orbit methods, used when the corresponding method runs. |
Precise residuals | Requests precise residual output from the core; display still rounds sensibly. |
Alternative element format | Switches the presentation of already calculated elements, also available by clicking the element text. |
View → Fit font to output / Restore font size | Fits the output font to the available width; the second action restores the previous font size. |
Monte Carlo and statistical ranging
Monte Carlo / Vaisala contains Vaisala distance (AU), Selected sigma (") and MC noise (σ). Run Vaisala starts an initial solution at the assumed distance. Run Monte Carlo perturbs positions at the chosen nonnegative noise scale, in observation-sigma units, to explore an orbit variant. It is not a claim that all uncertainty has been sampled.
Stat ranging opens Use statistical ranging, Min. distance and Max. distance in AU, Max. eccentricity and Max. inclination in degrees. The minimum must be positive and below the maximum; inclination lies from 0 to 180. Run ranging searches candidate orbits within these bounds. Record bounds and method when interpreting the result; a narrow search interval can exclude otherwise plausible solutions.
Stations, colours and telescope provenance
Stations shows only the codes present in the loaded observations, including excluded observations. It does not show the full MPC/Project Pluto directory. Select a code to show its notes below. Telescope priority is Bill Gray details.txt, then scopes.txt, with MPEC descriptions only when those catalogues supply no telescope. Colours remain stable for each code.
Start, clock, end time and Steps
The Start row has a date picker, a separate clock including seconds and Local / UTC / Zone…. Local uses the computer’s time zone; Zone… chooses an observatory time zone. All inputs are converted to UTC for the core. Now fills the current instant in the chosen zone. Missing or ambiguous local times at a daylight-saving transition require an unambiguous UTC selection.
Steps counts rows, not intervals. Step size accepts 1d, 12h, 30m, 15s, 1w or 1 for a day. Enable End (auto steps) and select end date and clock: the count is calculated inclusively and never samples beyond End. Example: 20:00–23:00 with 1h gives four rows. Round steps can move the first sample to the time grid. Variable time-step syntax requires manual Steps; automatic counting supports fixed intervals.
UTC 20:00:00 → 23:00:00
Step size: 1h
Steps: 4
20:00 · 21:00 · 22:00 · 23:00
Choose the observer with MPC code or Map…
Location type selects MPC code or Latitude/longitude. MPC station accepts any valid code; 500 means Earth centre, 568 is Mauna Kea and 703 Catalina. Earth-centred output has no local horizon, so Sun/Moon altitude and azimuth need a topocentric site. Latitude ranges from −90 to +90 (north positive); longitude from −180 to +180 (east positive). Use decimal points, for example 53.5 and 8.5.
Map… opens OpenStreetMap: zoom, pan and choose the site, then apply the coordinates. PVGIS supplies terrain elevation in metres for custom coordinates. Read the elevation status before running; service coverage and terrain resolution limit the value. The sky views label the selected station and/or coordinates. Changing site can change parallax, horizon and Moon separation; recompute the ephemeris after changing it.
Where to find Map…: click the Ephemeris action button on the right; in its input panel Map… is immediately to the right of Latitude, below MPC station. Choose Location type → Latitude/longitude. The map selects both coordinates; PVGIS supplies elevation. Start uses a separate calendar, clock and compact Local/UTC/Zone… selector.
Calculate, save and reuse ephemerides
Ephemeris in the view strip replaces observations with the most recent table and opens its inputs. With no table, it explicitly says that none has been calculated. Run computes from the current orbit, time and observer and updates the sky-track data. Save and Copy act on the full output. Save setup and Load setup preserve start, observer, steps and selected columns in a JSON file.
Output type chooses Observables, State vectors, Cartesian positions, MPCORB elements, 8-line elements or Close approaches. Star chart and Real sky need an observable RA/Dec track and are disabled without usable ephemeris data. Magnitude limit sets the faintest included magnitude, for example 12, 20 or 24; larger values are fainter. Visibility options can suppress rows. The three-column checkbox area is filled by columns so related options remain together. Column meanings are listed below.
Ephemeris and Elements now calculate missing or stale results automatically in the background. If no orbit exists, the loaded observations first determine one. Without observations, use Open… or MPC…. Repeated clicks share one job. Current results appear immediately. Stop cancels work; click again to retry. A late result cannot replace a different object/view. Pending exclusions and sigma changes remain pending until an explicit fitting action such as Full step.
Star chart: atlas, zoom and labels
Star chart draws a star-atlas view with ephemeris points, equal sky scaling and sexagesimal RA/Dec ticks. Right ascension is labelled in hours, minutes and seconds; declination in degrees, arcminutes and arcseconds. A bright-star atlas, constellation lines and the Milky Way give wide-field context; Gaia DR3 adds faint stars for narrow fields when available. The brightest field star has a 10-pixel symbol, with smaller symbols for fainter magnitudes and a whole-magnitude legend.
Use the wheel or +/− to zoom, drag with the left mouse button to pan and Reset to restore the initial field. Panning is bounded by that initial field. Start/end markers and suitable intermediate times are labelled beside the track to reduce overlap. Hover points for their time and position. The observer caption names the station and/or latitude/longitude. Rerun Ephemeris after changing time or location.
Zooming into the star chart requests a deeper Gaia DR3 catalogue for the visible field. The limit changes from G=16 toward G=21 as you zoom; panning requests stars for the new field after a short pause. Complete matching responses are requested without a fixed row cap. During a network failure the last view remains available.
The offline atlas now contains 41,411 stars. The Milky Way uses five filled brightness contour layers, with polygon holes and projection clipping, instead of broad boundary lines. It remains an atlas outline model, not a photographic sky image. Small fields query Gaia to G=18 initially and progressively fainter with zoom, up to G=21. Availability depends on CDS; failed requests retain existing stars. Progressive HiPS survey tiles are the proposed next step for photographic all-sky detail.
Gaia DR3 caches complete sky regions, including limiting magnitude, retrieval date and SHA-256. A nearby pan or zoom reuses a verified region only if it covers the entire new field and reaches the required magnitude. A deeper request downloads more stars. No star rows are sampled away; an oversized prefetch falls back to the full requested field.
Real sky and online cache
Real sky uses a selected DSS2 or Pan-STARRS survey image supplied through CDS/Aladin at Strasbourg, with the computed track and coordinate grid overlaid. It is a historical survey background, not a live camera image or a prediction of the object’s visible appearance. Dense fields, image coverage and a large field of view affect what can be seen.
The application keeps online-map results in data/map-cache to reuse identical requests. OpenStreetMap tiles and survey images retain their provider attribution. An available cache reduces repeated downloading; uncached requests still need internet. The labelled track belongs to the selected ephemeris and observer. A failed survey request does not invalidate the numeric orbit: use Star chart or the table while checking the log and network.
Real Sky uses the CDS/Aladin DSS2 red survey with an asinh contrast stretch and 2048-pixel cutouts. Zoom and pan load a new detailed cutout rather than enlarging the same low-resolution bitmap. Image positions use the TAN sky projection and the current ephemeris is overlaid.
Real sky offers DSS2 Color, DSS2 Red and Pan-STARRS DR1 color. Pan-STARRS covers declinations above about −30°; missing coverage is reported. Actual provider tiles appear progressively, cached separately by survey URL. Contrast and Gamma sliders adjust displayed pixels only; double-click resets a slider. They do not add information beyond the survey resolution or alter cached source images. Each viewport has a 45-second deadline; moving, zooming or Stop cancels obsolete requests.
Orbit: rotate, zoom and animate
Orbit draws the osculating Sun-centered orbit together with planetary paths sampled from DE430. It is a view of the selected epoch’s geometry, not a full propagation movie. Drag to rotate, use the wheel to zoom and double-click to reset. Angle controls accept zero and negative angles. ▶ starts or pauses a slow view rotation; ■ stops it and returns the angles to zero.
Resizing the output area redraws the scene. A square copied orbit expands the drawing area vertically rather than adding empty bands. Use the context menu for copying, printing or export actions offered by the view. If a planetary or Moon-centered element set is selected, return Element center to Sun before opening Orbit. Compare coordinate labels and epoch when sharing an image.
Below-ecliptic orbit segments are thinner. Open comet paths extend to the viewport edge instead of stopping at 150 AU. Right-click: Mono, LR (left eye on the left), RL (cross-eyed order), or Red/Green anaglyph (red left eye, green right eye). Stereo works best with a tilted view. Square copies redraw the complete square area. This remains a geometric osculating conic display.
The UTC slider and second-resolution clock cover the entire first-to-last observation interval, including excluded observations. The compiled native integrator propagates the fitted state, and DE430 samples planets at the same dynamical epoch. Sliders are debounced; newer time requests replace obsolete display requests. The displayed epoch identifies the actual scene. Rotation/zoom and LR/RL/red-green remain available. Imported or stale checkpoints must be verified/refitted before time propagation.
Pseudo-MPEC: a local circular
Pseudo-MPEC opens a text window with observations, observer details, orbital elements, arcsecond residuals and the run’s ephemeris when present. The layout follows an MPEC, including vertically filled residual columns and parentheses for excluded positions. Every station in the archived observation snapshot remains represented, even when telescope details are unknown.
The observation snapshot belongs to the calculation run, not whatever file was later edited. Telescope descriptions prioritise details.txt, then scopes.txt, then missing-information MPEC fallback. The text identifies itself as a locally generated pseudo-circular and has no official MPC issue number. Right-click to Copy, Save…, open in an editor or Print. Check observation coverage, station notes, reference and epoch before using the circular outside your local analysis.
Save, copy, print and export
Save residuals exports residual values and original OBS80 lines. Save elements writes the full element text for the selected representation. File → Export offers CSV, TXT, JSON, XML, ODS and XLS. The XLS option writes Excel 2003 SpreadsheetML/XML with a .xls filename; its content is XML, not a binary XLS workbook. The observation source remains unchanged; save exports to a separate filename. Numeric exports are more suitable for further calculations than the rounded display.
Right-click the observation, element and station text areas for the context-specific editor, copy and print actions. A selected observation block adds block-specific choices; a single line offers its station. Ephemeris Save/Copy uses the full calculated table. Pseudo-MPEC has its own text window and save/print actions. Graphic copy actions capture the relevant view; inspect labels and legend in the copied result.
Report and Open log
A detailed session log starts with each application launch. Open log opens that file. Calculation run folders preserve inputs and generated files under work/runs; include the run directory when reporting a reproducible calculation failure. Logs also identify the current version and the operation that failed. Data provenance is recorded in data/provenance.jsonl with source and SHA-256.
Report captures the current window and opens a comment dialog. The default recipient is FindOrb@jostjahn.de. Open mail draft prepares the log and screenshot as attachments in the configured mail application; you review and send the message there. Explain the input, selected model, observer and exact button sequence, plus expected and actual behaviour. If the mail program cannot accept attachments, the prepared local files remain available at the displayed paths.
Every start writes a session log. Unexpected UI errors additionally write crash-*.json under logs/gui with stack trace, view, input/run, selections and window geometry. Report prepares the diagnostic message. The same error dialog is limited to once per local day across restarts; every occurrence is still logged.
File → Sessions… saves named sessions, loads them, creates backups, deletes entries and imports/exports .owb-session archives. Deleted archives remain recoverable in the collection’s local trash. Archives include the complete observation snapshot, fitted/covariance and calculated outputs, pending flags, settings and graphic preferences. Large JPL/asteroid data and executable code are not bundled. Another user needs OrbitWorkbench and local astronomy data; imported results are marked for validation. SHA-256, declared files and safe paths protect import. Report adds the current portable session to log and screenshot attachments; the mail program opens a reviewable draft.
Diagnose missing data and calculation errors
“JPL ephemeris file is missing” means the planetary data cannot be found: open Install astronomy data… and complete installation. “bias.dat missing” disables only catalogue debiasing until EFCC18 is installed. A SHA-256 mismatch means provider content did not match the supported file; do not substitute an arbitrary file with the same name. Recheck connectivity and the log.
A core error identifies a failed calculation, not a valid new solution. Preserve the run folder. Check valid OBS80 columns, included observations, epoch, sigma path, model and constraints. A Gauss starting orbit may require Full step refinement. An empty ephemeris may result from visibility/magnitude filters or an incompatible output type. If a local clock is ambiguous, use UTC. Report the actual button sequence and screenshot rather than only an error code.
Language, About and source control
Settings → Language selects English, Deutsch, Français, Italiano, Русский or Español for texts generated by the calculation core. With an object loaded, changing language immediately recalculates the displayed element or ephemeris text. Buttons, menus, messages, drawing captions and hover help change immediately as well. Numeric values, designations and paths are preserved. About identifies Jost Jahn, Bill Gray and the upstream source project.
The calculation core is built from source and integrated with the GUI. It does not call an external Find_Orb executable. Shared astronomy data, logs and exported results live in the project folders, separate from individual GUI build directories. The local pages work from a file or a local HTTP server without external fonts or scripts. Online provider links, maps and new data downloads still require internet.
Calculation workers and performance
Calculation hosts stay available for later jobs. Each job loads and unloads a fresh native core image; native global state is never reused. Failed or cancelled hosts are replaced, and hosts retire after 32 requests or when their private memory exceeds 768 MiB before a request. Hosts end with the desktop. Capacity remains at most half the logical processors. Fixed-step ephemerides use measured setup and per-row costs for the same input, settings and native build; without measurements they start serially. Parallel work requires a predicted saving of at least 30%, with one common exact fit, boundary checks and complete serial fallback. This changes scheduling, not integration accuracy; predicted savings are estimates. Timing profiles expire after 30 days. A timing profile needs at least 256 measured rows. More than four times the measured size requires a new serial calibration.
Messages / Retry saving session repeats a failed save after the storage problem is corrected. Unsaved changes remain in memory; there is no repeated automatic error loop. Closing after a failed save asks before discarding the live session, with No selected. Report can still open a draft if screenshot capture or session export fails; only available files are attached, and missing attachments are identified. Native failures distinguish invalid settings, failed methods, missing resources, allocation failures and cancellation.
Internal CLI: --core-host parentPID parentStartTicks receives application-generated request paths through standard input. It is not a network service or a user-facing calculation command. The parent identity and project-local control paths are validated.
Display scaling and monitors
The 0.1.29 update uses a single 96-DPI layout baseline and per-monitor DPI awareness. Buttons, fields and pane dimensions are recalculated for each monitor; repeated moves return to the original dimensions without accumulating scale changes. View buttons wrap when the available width is smaller. The object selector follows the main window and uses the monitor's DPI.
Large pixel resolutions and Windows scaling are separate settings. 4K at 200% has less logical layout space than 4K at 100%. Geometry checks cover 100–400% and viewports up to 8K, including ultrawide; these simulations are not a claim of physical testing on every monitor. If a display problem occurs, include the screenshot, Windows scaling, monitor resolution and the DISPLAY-DPI lines from Open log in your report.
Multiple objects in one file
When Open… reads more than one object, a narrow Objects window docks immediately to the left of the main GUI and follows its position and height. Click one entry to fit it. Ctrl-click adds or removes entries; Shift-click selects a range; Ctrl+A selects all. Multiple selected designations are treated as one trajectory in a temporary calculation file, never as independent simultaneous fits. The original OBS80 identifiers remain visible and the input file is unchanged. Only selected observations reach the core. Combining is useful for aliases or tracklets belonging to one physical object; unrelated bodies can give a poor fit or no solution. Changing selection stops the pending fit and applies the latest selection.
Elements: epoch evolution and uncertainty
After a fitted orbit is available, Elements is prepared automatically in the background after a short pause. Date/model changes schedule fresh results; Stop cancels. Clicking Elements immediately shows the cached plot or a computing notice. Other views remain usable. Operations show the actual stage, elapsed seconds and native epoch progress/ETA. The y-axis names the element and prints absolute values in its units with round ticks. A checked propagation-only job retains the applied orbit, observations and covariance; it avoids rebuilding fit reports, MOIDs and statistical-ranging summaries. Integrator tolerance and force equations are unchanged. No uncertainty is invented when a linear covariance is unavailable. The measured first JJDS737 request fell from 14.5 to 1.44 seconds on this machine; timing depends on disk/load, and this is not a universal tenfold integration guarantee.
Automatic calculation and saved workspace
Ephemeris and Elements now calculate missing or stale results automatically in the background. If no orbit exists, the loaded observations first determine one. Without observations, use Open… or MPC…. Repeated clicks share one job. Current results appear immediately. Stop cancels work; click again to retry. A late result cannot replace a different object/view. Pending exclusions and sigma changes remain pending until an explicit fitting action such as Full step.
Elements always uses the full ephemeris interval. If it is shorter than one calendar year, the range extends six calendar months before and after its temporal midpoint. Every original ephemeris epoch is preserved, including suppressed ephemeris rows; daily samples and exact endpoints fill the extension. UTC/TT is retained. Seven individually normalized series show available 1σ errors from every covariance eigenmode. These remain linear covariance estimates. The header gives the actual interval; red status reports completed epochs, percent, remaining duration and estimated end time.
Each object selection, including a combined selection, keeps its own fitted orbit, covariance, ephemeris, element series, pending exclusions, sigmas, selection and sort. A verified session automatically restores the complete imported source, selected objects, settings, layout, view and window placement on startup without a file argument. Sessions are saved atomically under data/workspace-session with SHA-256 and a last-good backup. Scientific data/core/settings changes mark outputs stale. Damaged applied input is reported and requires Full step from the intact source.
Horizon and shared named sessions
Horizon is immediately right of Real sky. It is disabled until a surface-observer ephemeris with Alt/Az is available. Choose the station or custom coordinates, enable Alt/Az and calculate. Geocentric code 500 has no local horizon. The chart spans altitude 0–90°, with South centered for northern latitudes and North centered for southern latitudes. The track does not join across the azimuth wrap. Below-horizon portions are outside the chart; hover shows original time and angles.
File → Sessions… saves named sessions, loads them, creates backups, deletes entries and imports/exports .owb-session archives. Deleted archives remain recoverable in the collection’s local trash. Archives include the complete observation snapshot, fitted/covariance and calculated outputs, pending flags, settings and graphic preferences. Large JPL/asteroid data and executable code are not bundled. Another user needs OrbitWorkbench and local astronomy data; imported results are marked for validation. SHA-256, declared files and safe paths protect import. Report adds the current portable session to log and screenshot attachments; the mail program opens a reviewable draft.
Error messages and Internet diagnostics
Messages (bottom right) and Help → Messages… retain problems reported in this session, including background downloads. Each message explains the affected operation, cause, next action, retained data, time, service and log. Repeated failures are grouped with an occurrence count. HTTP 400/401/403/404/408/410/429/500/502/503/504 are explained; DNS, connection, TLS/proxy errors, timeouts, deliberate cancellation, malformed/incomplete responses, checksum failures, missing files, permissions and full disks are distinct. Current results or verified cached data are retained where possible; an offline fallback is explicitly reported. Cancellation is not called a server failure. Cached corruption is ignored and a fresh download attempted. Astronomy data transfers have a 30-minute streaming deadline; incomplete data are never installed. URLs shown in messages omit credentials, query strings and fragments. Copy exports the explanations; Open log opens technical diagnostics. A failed version check does not prove the program is up to date.
Observation import, confirmation list and interface language
Every program restart expands the four left panes and the settings area; saved numeric settings and selected objects are retained. Maximization uses coordinates relative to the target monitor so moving to another screen keeps the main window visible. The left list shows the complete current NEOCP/PCCP entries at startup, with Refresh NEOCP / PCCP below. A multiple-object observation source replaces this list with the file selector; Ctrl/Shift select observations of several objects for one combined fit. A single-object load retains the confirmation list. Select a confirmation entry to download its observations. If Internet retrieval fails, the previous data remain available and Messages explains how to retry. A tracklet belonging to both lists carries both labels. Ctrl+V in Observations appends accepted OBS80 records or ADES XML/PSV converted by Bill Gray’s translator. Other text is ignored. No accepted observation means the existing source and ephemerides are retained. A different designation remains a separate object. New records display an em dash for uncalculated residuals; Full step applies the complete source. Spacecraft, radar and rover observations have primary and companion OBS80 records: both are preserved, but there is one residual per actual measurement. Exclusions and sigma overrides follow the primary record. The former Jostjahn failure confused 27 companion records with independent measurements; the corrected mapping keeps all 4,796 measurements and all 4,823 physical source lines. Searching cached MPC names (30918) means searching that many locally cached name entries, not downloading observations. The name index can contain categories for the same body. For 3I, the observations request uses the identifier service’s computational ID 3I; the display label (3I) is rejected by the MPC. A genuine HTTP 500 (internal server error) still remains a service error, not proof of an invalid designation. Settings → Language immediately changes buttons, menus, messages, drawing captions and explanatory hover in English, German, French, Italian, Russian or Spanish. Numeric inputs, designations, URLs and paths remain unchanged. Calculated text is regenerated in the selected language with a visible activity indication. Notices show one event timestamp and one originating-chat line.
Fast selection, object history and sky density
New users start in English; an existing language choice is retained. Ctrl+A selects all observations in one Windows list operation without moving the scroll position. Toggle changes inclusion and strikeout only, preserving the list and fitted residuals; Full step applies the selection to a new fit. As requested, Toggle with every row selected includes all rows. The menu bar offers ←, → and Object history; Ctrl+Z/Ctrl+Y navigate previously loaded objects with their original observations, pending exclusions, fitted orbit, ephemerides and Elements. Editable text fields retain normal text Undo/Redo. All remembered objects remain available in the history menu when a new source is opened, and history survives restart. Modified provider files or a different core mark cached calculations stale before reuse. First click on All perturbers off saves the selection and disables perturbers; second click restores the available prior selection. Short-arc results are visibly provisional when fewer than six measurements were used or the arc is below seven days. This workflow flag is not a reliability probability. Space-observatory S/s records form one measurement: s supplies the observer coordinates, in km for unit 1 or AU for unit 2. The core converts J2000 equatorial offsets to ecliptic AU and adds them to the indicated reference center. Both lines remain archived. Native JSON records the actual observer position, reference center and offset for verification. Gaia and Aladin downloads continue when switching tabs; Stop or a genuinely obsolete viewport cancels them. In Star chart, * opens More stars / Fewer stars in 0.5-mag steps or Automatic limiting magnitude. The current G limit is displayed alongside and retained in settings. Sidebar objects show their observation count in parentheses; an unavailable count is shown as ?, never zero. Worker startup was measured separately; a persistent worker is still an evaluated proposal, not an enabled feature.
Progress, ephemerides and angular elements
The lower red status line blinks during work and now contains a progress bar. A measured phase percentage and ETA appear when the core reports completed work; otherwise the bar moves and percentage, ETA and end time say they are being determined. Opening a new object prepares only the Observables ephemeris output in the background, retaining the current dates, interval, observer and column choices; the current view does not change. A verified orbit and covariance are reused for ephemeris generation, and matching cached report files avoid repeating element and residual presentation work. This does not approximate or change the fitted orbit.
Elements uses a local angular coordinate so a small change near 0° remains visible. Tick labels wrap to 0°–360°; inclination remains between 0° and 180°. Tick precision follows the actual spacing, including very small changes. Error bands are clipped to the visible plot before drawing; hover retains the full original uncertainty. Bands and bars are alternative displays. An incomplete element file is rejected while the previous usable series remains. These display changes do not modify numerical integration.
Orbit, observation sorting and horizon
Orbit opens its view immediately. If observations are loaded but no fitted orbit exists, it calculates that orbit in the background and displays it without a prerequisite popup. View rotation and View tilt change the camera; Rotate view animates the camera at the same physical instant. Target UTC and the time slider request real native propagation over the observation interval. Displayed epoch identifies the positions actually visible while a later target is calculating. Controls and date captions stay together at the bottom edge, with explanatory hovers.
Observations remain unchanged fixed-width lines. Click a field heading above the OBS80 data or a residual heading to sort ascending; click again for descending. Number, packed designation, flags, UTC date, observed RA/Dec, source fields, magnitude, band, catalogue, reference, station and inclusion status can be sorted. Selection and pending exclusions survive sorting. Missing numeric values sort last. The separate Sort button has been removed; the View menu remains an alternate route.
Elements has seven direct tabs in one row at the bottom of its drawing area: a, e, q, i, Ω, ω and M. Each keeps its own readable original-unit axis and covariance display. The selected tab is highlighted.
More/Fewer stars and Automatic are remembered across objects, tabs and restarts, including when an older session is loaded. A confirmed PCCP object is labelled PCCP even if the provider also lists it in NEOCP.
Horizon plots independently calculated object altitudes and azimuths at each ephemeris UTC. New results use unrounded native positions; formatted values remain a compatibility fallback for older sessions. The object track is solid blue. PVGIS terrain heights are fetched automatically for the observer and shown as a dashed line, with verified cached responses. Hovers give object time, azimuth, altitude, local terrain altitude and clearance. Nearby buildings/trees are outside the PVGIS terrain model. Same azimuth at different dates can have different object altitudes; the time sequence is preserved. Every requested native horizon sample is retained, with the user’s visibility filtering recorded. Parallel boundaries are verified and detailed positions are included in session archives.
Calculations, faster refits and terrain windows
View → Calculations… lists every calculation in the current session: object, queued/running/completed state, phase, elapsed time, actual fit-cache route and result directory. Select a row and Stop selected job to cancel that request only. A queued cancellation does not stop a different running calculation. Existing results are retained.
Full step can use a verified previous gravitational six-parameter solution as a starting estimate when input, inclusion/weights, provider data and force-model settings are identical. It performs the requested real full steps and recalculates covariance. Invalid, divergent or covariance-free starting estimates use the ordinary initial-orbit search. Changed observations/models and explicit initial-orbit methods keep that search. Exact unchanged-fit reuse remains a separate operation. No general speedup or seconds guarantee is made.
Open Horizon and Terrain windows… to see time intervals above the cached PVGIS terrain. Additional native Alt/Az calculations refine sign-changing clearance brackets to at most one second. Results are cached by fitted solution, native/JPL data, observer, grid and terrain. Limits at the ephemeris endpoints are marked. Short windows between equal-sign coarse samples can be missed; use a finer ephemeris grid. PVGIS terrain interpolation excludes nearby buildings/trees. Darkness, limiting magnitude and orbit uncertainty need separate consideration. Stop or the calculation overview cancels the refinement. The original ephemeris table is retained.
OBS80 and ADES imports read complete physical lines with dynamically sized buffers. XML observations sharing a long line, long PSV remarks and LF, CRLF or CR line endings are supported. OBS80 measurements and satellite companion lines are retained; unrecognized text is ignored. The combined JSON writer also reads complete rows without the former 4096-byte split. Read/write/memory errors are reported and existing data are retained.
Ephemeris column reference
| Option in the app | Meaning and use |
|---|---|
Motion | Apparent sky motion; useful for tracking and exposure planning. |
Separate motion | RA and Dec motion separately. |
Speed | Predicted speed in the output reference frame. |
Radial velocity | Velocity along the observer’s line of sight. |
Alt/Az | Target altitude and azimuth at a topocentric observer. |
Ground track | Projected track on Earth where the geometry permits it. |
Helio. ecliptic | Ecliptic coordinates referred to the Sun. |
Topo. ecliptic | Ecliptic coordinates referred to the observer. |
Phase angle | Sun–object–observer angle; affects illumination and brightness. |
Phase bisector | Direction halfway between Sun and observer seen from the object. |
Orbit plane angle | PlAng: signed line-of-sight angle to the orbital plane, useful for comet dust-tail geometry. |
Uncertainty | Predicted positional uncertainty when supported by the orbit solution. |
Round steps | Align output times to the step grid; the first time can change. |
Visibility | Observer-specific visibility information. |
Hide invisible | Suppress rows failing the visibility conditions; may produce fewer rows. |
Machine readable | Output intended for software parsing rather than visual reading. |
Sun altitude | Solar altitude in degrees at a topocentric site, not code 500. |
Sun azimuth | Solar azimuth in degrees at a topocentric site. |
Moon altitude | Lunar altitude in degrees at a topocentric site, not code 500. |
Moon azimuth | Lunar azimuth in degrees at a topocentric site. |
Moon phase | Illuminated fraction of the Moon in percent. |
Moon separation | Angular target–Moon distance in degrees for the observer (LuElo). |