# Profile fields

Every field of a profile version in a few lines: which page describes it, who writes and reads it, what a hand edit does, and what a shared log shows.

## Index

This page is generated from each profile version page and from the record schema.
It lists every page of this area in a few lines, with the field paths each one covers in brackets after its name. Find the page for your field, then open it only when the block is not enough.
Each block gives: the page, a summary, how many fields it covers and how many the solver reads, who writes and reads them, what a hand edit does to a calibration, what a shared log shows, and which solver options the fields feed.
Every save of a profile is a new version with the next number; the earlier versions stay, and a logged group keeps the version it was shot with. The versions page has the details, so no other page repeats them.
Connector tools that return or copy a whole record (`get_profile`, `get_shared_profile`, `copy_shared_profile`) are named here once and are not listed on the field pages; a field page lists a tool only when the tool takes an input for one of its fields or reports something about one of them.

**Ammunition** (`ammo.name`, `ammo.lot`, `ammo.load`) — [page](profile/ammo.md)
What the load is called, its lot, and whether it is factory ammunition or a handload with its recipe: all for people, none of it read by the solver.
Fields: 11 · solver reads 0 · written by: app, connector · read by: app, connector, sharing
On a hand edit: mixed · shared: removed for public readers when the load is a handload; removed for public readers; removed for public readers when notes are hidden · options: none

**Bullet** (`ammo.bullet.name`, `ammo.bullet.diameter_in`, `ammo.bullet.weight_gr`, `ammo.bullet.length_in`, `ammo.bullet.construction`, `ammo.bullet.tip_length_in`, `ammo.bullet.catalog`) — [page](profile/bullet.md)
The bullet in the load - its name, size, weight, length, build and tip - and the link that records where a picked bullet's values came from.
Fields: 11 · solver reads 5 · written by: app, connector · read by: solver, fitter, app, connector, server, sharing
On a hand edit: reset · shared: removed for every reader · options: `dynamics`, `estimatorRules`, `spinDrift`, `aeroJump`, `magnus`, `aeroJumpSpin`

**Bullet shape** (`ammo.bullet.outline`, `ammo.bullet.measured`) — [page](profile/bullet-shape.md)
The bullet's outline (nose, boattail, base, meplat) and the raw caliper readings that guided setup keeps behind it.
Fields: 13 · solver reads 1 · written by: app, connector · read by: solver, fitter, app, connector
On a hand edit: mixed · shared: as stored · options: `dynamics`, `magnus`

**Calibration** (`calibration`) — [page](profile/calibration.md)
The record of the calibration last saved into a profile version (method, groups, model, solver version, result) and the records it replaced.
Fields: 48 · solver reads 2 · written by: app, connector, fitter · read by: solver, fitter, app, connector, sharing
On a hand edit: mixed · shared: removed for every reader; set by the server for each share; see the linked page · options: `dynamics`, `estimatorRules`

**Calibration goal** (`calibration_goal`) — [page](profile/calibration-goal.md)
What guided calibration aims at for this profile: a shot (distance, angle, air) or a Mach number, and how sure the shooter wants to be there.
Fields: 11 · solver reads 0 · written by: app, connector · read by: app, sharing, connector
On a hand edit: keep · shared: rounded to 10° when location is hidden; removed when location is hidden; rounded to a whole degree when location is hidden; rounded to 0.1 inHg when location is hidden · options: none

**Drag** (`ammo.bc_g1`, `ammo.bc_g7`, `ammo.drag`, `ammo.dsf`) — [page](profile/drag.md)
Which ballistic coefficient is live, the fitted drag correction (curve, factor, drop table) and the slowest speed it covers.
Fields: 10 · solver reads 10 · written by: app, connector, fitter · read by: solver, fitter, app, connector, server
On a hand edit: mixed · shared: as stored · options: `dragTable`

**Model** (`model`) — [page](profile/model.md)
Which of the four models a profile solves with (or Custom, a list of option choices) and what the stored option choices of a Custom or Spin profile are.
Fields: 2 · solver reads 2 · written by: app, connector · read by: solver, fitter, app, connector
On a hand edit: keep · shared: as stored · options: `magnus`, `dynamics`

**Origin** (`source`, `copied_from`) — [page](profile/origin.md)
Where a profile came from: read from another app, or copied from someone's shared profile, and what a copy keeps, changes and drops.
Fields: 6 · solver reads 0 · written by: app, connector · read by: app, connector, sharing
On a hand edit: keep · shared: removed for every reader · options: none

**Rifle** (`rifle.name`, `rifle.cartridge`, `rifle.barrel_length_in`, `rifle.muzzle_device`, `rifle.twist_in`, `rifle.twist_dir`, `rifle.sight_height_in`) — [page](profile/rifle.md)
The rifle itself: its name, cartridge, barrel length and muzzle device (for people only), and the twist, twist direction and sight height the solver uses.
Fields: 7 · solver reads 3 · written by: app, connector · read by: solver, fitter, app, connector, server
On a hand edit: mixed · shared: as stored · options: `spinDrift`, `angle`, `dynamics`, `aeroJump`, `aeroJumpSpin`, `estimatorRules`

**Scope** (`scope.units`, `scope.ssf_elev`, `scope.ssf_wind`, `scope.name`, `scope.reticle`, `scope.elev_travel_mil`, `scope.turret`, `scope.click`) — [page](profile/scope.md)
The scope's turret units, its tracking factors, its elevation travel and the words used for a turn of each turret.
Fields: 11 · solver reads 2 · written by: app, connector, fitter · read by: solver, fitter, app, connector
On a hand edit: keep · shared: as stored · options: none

**Setup** (`setup`) — [page](profile/setup.md)
How far a profile has been looked at on the profile screen - which sections were saved or marked "Looks right", which values the shooter answered "Don't know yet" for, and (on older profiles) when setup was marked finished.
Fields: 3 · solver reads 0 · written by: app, connector · read by: app, connector, sharing
On a hand edit: keep · shared: removed for every reader; removed for public readers · options: none

**Spin** (`ammo.aero`, `ammo.aero_trim`) — [page](profile/spin.md)
The two stored fields of the Spin model, an optional coefficient set the account has been given and the shooter's own Spin trim, and where to find every other profile field that model reads.
Fields: 2 · solver reads 2 · written by: app, connector, fitter · read by: solver, fitter, app, connector, sharing
On a hand edit: reset · shared: removed for every reader · options: `dynamics`, `estimatorRules`, `magnus`, `subsonicLift`, `yawRepose`, `dragTable`, `aeroJumpSpin`

**Velocity** (`ammo.mv_fps`, `ammo.mv_strings`, `ammo.mv_temp_table`) — [page](profile/velocity.md)
The one muzzle velocity the solver uses, the chronograph strings kept as evidence behind it, and the table of velocity against ammo temperature.
Fields: 11 · solver reads 3 · written by: app, connector, fitter · read by: solver, fitter, app, connector, server
On a hand edit: mixed · shared: as stored · options: none

**Versions** (`id`, `created_at`, `updated_at`, `deleted`, `owner_id`, `key`, `profile_id`, `version`, `name`, `notes`) — [page](profile/versions.md)
What a saved version of a profile is: its ids and times, how every save adds a numbered version, how two devices that pick the same number are sorted out, what a delete does, how an old version is shown and restored, and which page describes which part of a profile.
Fields: 10 · solver reads 0 · written by: app, connector, fitter, server · read by: fitter, app, connector, server, sharing
On a hand edit: keep · shared: set by the server for each share; emptied when notes are hidden · options: none

**Zero** (`rifle.zero_range_yd`, `rifle.zero_env`, `rifle.zero_incl_deg`, `rifle.zero_height_in`, `rifle.zero_offset_in`, `rifle.zero_offset_use`, `come_ups`) — [page](profile/zero.md)
Where the rifle is zeroed (the zero range), the air and slope it was zeroed in, and how far the group prints off the aim point there.
Fields: 18 · solver reads 9 · written by: app, connector · read by: solver, fitter, app, connector, server
On a hand edit: keep · shared: removed when notes are hidden; removed when location is hidden; rounded to 0.1 inHg when location is hidden · options: `zeroOffset`, `vapour`

---

[All reference pages](index.md)
