SurveyFit (Reference)

From Met Dynamics
Jump to navigation Jump to search

Overview

This page provides a detailed reference for the SurveyFit software interface, controls, dialogs, command-line interface, project files, solver options, and user-visible diagnostics.

For installation, workflow guidance, and interpretation of calibration results, see the User Guide. For worked examples, see Examples.

Main Window

Figure 1. Main SurveyFit application window.

The SurveyFit main window consists of:

  • a menu bar
  • a toolbar
  • a tabbed workspace
  • a resizable diagnostics pane on the right
  • a status bar

The tabbed workspace is the primary area for editing parameters, measurements, solve settings, and results. The diagnostics pane contains the Issues, Issue details, and Log sections.

Main Window Layout

Region Description
Menu bar Provides access to project, data, solve, view, and help commands.
Toolbar Provides shortcut access to common project, data, solve, SysCAD refresh, result-clearing, and report commands.
Workspace tabs Main editing and results area. Tabs are Parameters, Measurements, Solve, and Results.
Diagnostics pane Right-side pane containing vertically resizable Issues, Issue details, and Log sections. The workspace width and the internal diagnostics heights can be resized.
Status bar Displays the selected or connected SysCAD project state, solve iteration and objective values, licensing state, and current application solve state.

Status Bar

The status bar displays short state summaries for the active application session.

Indicator Meaning
SysCAD: Project not selected No SysCAD project has been configured for the current SurveyFit project.
SysCAD: Project selected A SysCAD project file has been selected, but SurveyFit is not currently connected to an active SysCAD session. The full path is available as a tooltip.
SysCAD: Connected SurveyFit is connected to an active SysCAD session through COM automation. The connected project path is available as a tooltip.
Iter: - Current: - Best: - Displays the current solve iteration, current objective, and best objective. A hyphen indicates that no value is currently available.
License: Licensed A valid SurveyFit license is active.
License: Demo Mode SurveyFit is operating in Demo Mode. See Demo Mode.
State: Idle, Solving, Pause requested, Paused, Stop requested, or Stopped Displays the current solve-control state.
Refreshing tag values... Displayed while SurveyFit is reading current enabled Parameter and Measurement tag values from SysCAD.

The Results out of date indicator is a banner on the Solve tab rather than a status-bar item. It appears when the stored results no longer correspond to the current project configuration.

Menus and Toolbar

Menu Bar

The main menu bar contains the following top-level menus:

  • File
  • Edit
  • Data
  • Solve
  • View
  • Help

File Menu

The File menu contains project-level file operations.

Command Description Notes
New project Creates a new SurveyFit project. Shortcut: Ctrl+N. Prompts if the current project has unsaved changes.
Open project... Opens an existing SurveyFit project. Shortcut: Ctrl+O. Accepts .sfit projects.
Save project Saves the current project. Shortcut: Ctrl+S. Establishes the current Undo position as the saved baseline without clearing Undo history.
Save project as... Saves the current project to a new path. Prompts before replacing an existing file and establishes the current Undo position as the saved baseline.
Recent projects Opens a submenu containing recently used project files. Up to five recent projects are retained. An unavailable entry is removed when opening fails.
Exit Closes SurveyFit. Prompts if the current project has unsaved changes.

Edit Menu

Command Description Notes
Undo Reverses the most recent undoable Parameters or Measurements table edit. Shortcut: Ctrl+Z.
Redo Reapplies the most recently undone table edit. Shortcut: Ctrl+Y.
Preferences... Opens the Preferences dialog. Controls application-level defaults and numeric display rather than project solver settings. See Preferences Dialog.

Undo and Redo

SurveyFit maintains one chronological Undo/Redo history for user edits to the Parameters and Measurements tables. The history is shared across both tables, so Undo reverses the most recent supported table edit regardless of which tab it occurred in, and Redo reapplies it. Undo and Redo are available from the Edit menu and with Ctrl+Z and Ctrl+Y; there are no Undo or Redo toolbar buttons.

Undoable changes include:

  • normal Parameter and Measurement cell edits
  • On changes, including a multi-row On or Off change as one operation
  • Parameter Transform changes
  • Composition Group assignment, including the associated Lower, Upper, and Transform changes as one operation
  • Measurement Error Model changes together with dependent SD changes
  • adding, inserting, duplicating, and deleting rows
  • editing # to move or reorder rows
  • multi-cell Clear and Paste operations
  • a successful CSV import, which can restore the complete previous table definition with Undo

Undo and Redo restore table definitions only. They do not restore table sorting or other view state, selection or scrolling, Refresh Tag Values, SysCAD connection or model execution, solve or optimiser operations, SysCAD-derived Current or Best Values, Measurement results, Issues, Logs, or result presentation. A definition change restored by Undo or Redo follows the same normal results-out-of-date behaviour as the corresponding direct edit.

Undo history is session-only. It is cleared when a new project is created or a different project is opened. Saving does not clear the history. Save and Save As establish the current Undo position as the saved baseline, so undoing back to that position can return the undoable table state to clean. Other saved project changes that are outside Undo/Redo, such as table sort state or values and results created by Refresh Tag Values, can still keep the project marked as modified.

Data Menu

The Data menu contains parameter and measurement import, export, validation, and result-report commands.

Command Description Notes
Import parameters CSV... Replaces the Parameters table with rows imported from a CSV file. See CSV Exchange.
Import measurements CSV... Replaces the Measurements table with rows imported from a CSV file. See CSV Exchange.
Validate data Runs project validation checks. Errors and warnings appear in the diagnostics pane. Validation does not run a solve.
Export parameters CSV Exports the current parameter definitions. Available when at least one parameter row exists.
Export measurements CSV Exports the current measurement definitions. Available when at least one measurement row exists.
Copy report to clipboard Copies the current plain-text results report. Available only when displayable results exist.
Save report to file... Saves the current plain-text results report to a text file. The default filename is <project>_Report_YYYYMMDD_HHMMSS.txt.

The results report contains Summary, Solve Outcome when available, Interpretation, Run Settings, Parameters, Measurements, Top 5 Largest Residuals, and Residual Histogram sections.

Solve Menu

Command Description Notes
Start Starts a new solve or resumes a paused solve. Shortcut: F5.
Pause Requests a pause after the current SysCAD model evaluation completes. Shortcut: F6. Available while actively solving.
Resume Resumes a paused solve. Shortcut: F7. Available only while paused.
Stop Requests a stop after the current SysCAD model evaluation completes. Shortcut: Shift+F5.
Clear results Clears the current solve results and objective history. Parameter and measurement definitions are retained.
Copy command Copies a command-line solve command for the saved project. Available only after the SurveyFit project has been saved. The generated command includes a timestamped solved-project output path.
Refresh Tag Values Reads current values for enabled Parameter and Measurement tags from the connected SysCAD model without running or modifying the model. Appears at the end of the Solve menu after a separator. Available only while SurveyFit is idle and connected to a usable SysCAD session. See Refresh Tag Values.

Close SysCAD is located in the SysCAD configuration section of the Solve tab, not in the Solve menu.

View Menu

Command Description Notes
Toggle issues panel Shows or hides both the Issues and Issue details sections. The Log section is unaffected.
Toggle log panel Shows or hides the Log section. The Issues sections are unaffected.
Reset layout Restores the default workspace split, diagnostics split, and section visibility. Both Issues and Log are made visible.

Help Menu

Command Description Notes
Online documentation Opens the SurveyFit documentation landing page. Shortcut: F1.
Getting Started Opens the concise nine-step workflow guide. The dialog can also be shown at startup.
Open log folder Opens %LOCALAPPDATA%\MetDynamics\SurveyFit\Logs. Intended for support and troubleshooting.
Copy system info Copies application, build, platform, and licensing support information. Intended for support and troubleshooting.
License... Opens the License dialog. See License Dialog.
Check for updates... Checks whether a newer SurveyFit version is available. See Check for Updates Dialog.
About SurveyFit… Opens the About dialog. See About SurveyFit Dialog.

Toolbar

The toolbar is an icon-only command bar. Its actions are arranged in the following order.

Toolbar Action Description Notes
New project Creates a new project. Equivalent to File > New project.
Open project... Opens an existing project. Equivalent to File > Open project....
Save project Saves the current project. Equivalent to File > Save project.
Import dropdown Provides parameter and measurement CSV import actions. Equivalent to the two Data import commands.
Export dropdown Provides parameter and measurement CSV export actions. Equivalent to the two Data export commands.
Validate data Runs validation. Equivalent to Data > Validate data.
Start Starts a solve. The toolbar has no separate Resume button. Start resumes when paused, and Resume is also available from the Solve menu.
Stop Requests a stop. Takes effect after the active model evaluation completes.
Pause Requests a pause. Takes effect after the active model evaluation completes.
Refresh Tag Values Reads current enabled Parameter and Measurement tag values from the connected SysCAD model. Read-only operation. It does not run the model or optimiser. The toolbar places it after the Start/Stop/Pause execution group and before the Results group.
Clear results Clears current results. Equivalent to Solve > Clear results.
Results report dropdown Copies the report to the clipboard or saves it to a text file. Equivalent to the two Data report commands.

Workspace Tabs

Parameters Tab

Figure 2. Parameters tab.

The Parameters tab defines the adjustable model parameters used in the solve. Each row corresponds to one writable numeric SysCAD tag.

The command bar above the table contains Add row, a Row operations dropdown, and Remove selected. Row operations include duplicate, insert above, and insert below. The table context menu also provides Copy, Paste, Clear cells, and the row operations. Table editing and clipboard modification are disabled while a solve is running.

The table supports column sorting and extended cell selection. Editing the # value moves a row to the selected display position. Display order has no solver effect.

When two or more rows are selected, changing the On checkbox in any selected row applies the new On or Off state to all selected rows. The existing row selection is retained.

Paste begins at the upper-left selected cell and overwrites existing editable cells. It does not append or create rows, and pasted values extending beyond the current table are ignored. Pressing Delete clears selected editable cells, except that a complete-row selection removes the selected rows. Shift+Delete removes every row represented in the selection, while Ctrl+Delete clears the selected editable cells.

Parameter Table Columns

Column Description Notes
On Enables or disables the parameter for the current solve. Disabled parameters are excluded from fitting. The checkbox remains editable when the row is off.
# One-based display order. Editing the value reorders the row. It is not a solver variable and cannot be populated by table paste.
Name Optional user-visible parameter name. Useful for identification and CLI override matching.
Tag SysCAD tag written during model evaluation. Enabled rows require a valid writable numeric tag.
Lower Lower parameter bound. Must be less than Upper.
Upper Upper parameter bound. Must be greater than Lower.
Transform Internal parameter transform. Display choices are Linear, Log, and Sigmoid.
Composition Group Optional case-sensitive group name for a closed fractional composition. Grouped parameters are constrained collectively. See Composition Groups.
Initial Value Parameter value at the start of the latest solve. Read-only result field populated from SysCAD.
Current Value Parameter value associated with the current SurveyFit snapshot. Read-only. During a solve it follows the current solver iteration. After a completed solve, SurveyFit restores the connected SysCAD session to the starting parameter values, so the final Current Value reflects that restored state. Refresh Tag Values replaces it with the current live SysCAD value for each enabled Parameter.
Best Value Parameter value corresponding to the lowest objective found. Read-only fitted result.

When a row is switched off, its ordinary data cells are greyed and read-only. The On checkbox remains available, and Composition Group remains editable so group membership can be corrected without first enabling the row.

Bounds

Lower must be strictly less than Upper. The transform may impose additional requirements. Bounds for a grouped composition row are fixed to 0 and 1.

Transform Options

Option Use and Requirements
Linear Optimises directly on the parameter scale. Suitable when additive changes are natural and the configured bounds provide the required limits.
Log Suitable for strictly positive parameters and ranges spanning several orders of magnitude. Lower, Upper, and live values must be positive.
Sigmoid Maps the solver variable strictly inside Lower and Upper. Suitable when both finite limits must always be respected.

Composition Groups

A Composition Group represents a closed composition whose member values must remain fractions summing to one.

The following rules apply:

  • A group is created by assigning the same exact, case-sensitive Composition Group name to at least two parameter rows.
  • All rows in a group must have the same On state.
  • Grouped rows use Lower 0, Upper 1, and the Linear transform. These fields are set automatically and locked while the group assignment remains present.
  • Enabled group starting values are read from SysCAD and must be finite fractions from 0 to 1.
  • The enabled group total must equal 1 within an absolute tolerance of 0.000001.
  • SurveyFit does not inspect or convert SysCAD units. Percentage values from 0 to 100 are invalid for a Composition Group.
  • SurveyFit does not silently normalise an invalid starting composition.
  • Exact zero values are permitted.
  • A group containing [math]\displaystyle{ K }[/math] components is represented internally using [math]\displaystyle{ K-1 }[/math] independent solver variables, while generated trial values remain summed to one.
  • Member order follows source-table row order and determines the component and write order used for the group.

Composition Group is a structural constraint only. SurveyFit does not infer component meaning from the parameter names or tags.

Measurements Tab

Figure 3. Measurements tab.

The Measurements tab defines the plant survey measurements used as fitting targets. The table editing, row operations, sorting, copy, paste, and disabled-row behaviour are equivalent to the Parameters tab.

Measurement Table Columns

Column Description Notes
On Enables or disables the measurement for the current solve. Disabled measurements are excluded from the residual vector and objective.
# One-based display order. Editing the value reorders the row and has no solver effect.
Name Optional user-visible measurement name. Useful for identification and CLI override matching.
Tag SysCAD tag read after each model evaluation. Enabled rows require a valid readable numeric tag.
Measured Value Plant survey target value. Must use the same engineering basis and units as the corresponding SysCAD tag.
Error Model Selects how measurement uncertainty is obtained. Display choices are Fixed and Whiten (PSD).
SD Standard deviation used to standardise the residual. Editable for Fixed. Calculated and locked for Whiten (PSD).
Estimated Value Simulated value returned by SysCAD. Read-only result field.
Residual Estimated Value minus Measured Value. Retains the engineering units of the measurement.
Std Residual Residual divided by SD. Unitless signed value used for fitting and diagnostics.
|Std Residual| Absolute value of Std Residual. Useful for sorting measurements by discrepancy magnitude.
Objective % Percentage contribution of the row's squared standardised residual to the total diagnostic objective. Higher values identify measurements contributing more strongly to the current fit error. It is zero when the total objective is zero.

Error Model Options

Option Use and Notes
Fixed Uses the SD entered by the user. SD must be finite and greater than zero for an enabled row.
Whiten (PSD) Calculates SD from the measured particle-size fraction. The SD cell is read-only.

New measurement rows default to On, Fixed, and SD 1. Changing Fixed to Whiten (PSD) clears the stored Fixed SD and displays the calculated Whiten value. Changing Whiten (PSD) back to Fixed copies the calculated value into the editable SD field when available.

Whiten (PSD) Model

For Whiten (PSD), the standard deviation for each size-fraction measurement is calculated from the measured value [math]\displaystyle{ x_i }[/math], expressed in percent units:

[math]\displaystyle{ \mathrm{SD}_i = \min\left(1.0,\ 0.1 + \frac{x_i}{10}\right) }[/math]

where [math]\displaystyle{ x_i }[/math] and [math]\displaystyle{ \mathrm{SD}_i }[/math] are both expressed in percentage points. Do not use fractional values from 0 to 1 unless the corresponding SysCAD tag and uncertainty interpretation have been deliberately configured on that basis.

Solve Tab

Figure 4. Solve tab.

The Solve tab contains the solve controls, objective history, SysCAD configuration, solver configuration, and solve-event history.

Solve Controls

Control Description Notes
Start Starts a new solve or resumes when paused. Requires at least one parameter row and one measurement row, and valid project data.
Stop Requests that the solve stop after the current SysCAD evaluation completes. The control changes the application to Stop requested until the evaluation returns.
Pause Requests that the solve pause after the current SysCAD evaluation completes. The control changes the application to Pause requested until the evaluation returns.
Refresh Tag Values Reads current values for all enabled Parameter and Measurement tags from the connected SysCAD model. Does not run or modify the SysCAD model. A separator before this control distinguishes it from the Start, Stop, and Pause execution controls. See Refresh Tag Values.
Results out of date Indicates that current results do not correspond to the edited project configuration. This is a banner at the right of the solve-control row.

Objective History Chart

The objective card contains an objective-history plot and the following live metrics:

Metric or Option Description
Objective Current objective value reported during fitting.
Best Lowest objective found so far.
Elapsed Elapsed solve time.
iter/s Average completed-iteration rate.
Log Y axis Displays the objective axis logarithmically when enabled.

SysCAD Configuration

The Project row contains the Project path field and its Browse... control, followed by the Open and Close SysCAD buttons. These controls are grouped on the same row.

Control Description Notes
Project Selects the SysCAD Project.spj file. Typical path: <SysCAD Project>.spf\Project.spj.
Open Opens or connects to the selected SysCAD project without starting a fitting solve. Useful for confirming that the project can be opened and for inspecting the model before solving.
Close SysCAD Closes only the SysCAD session started and owned by SurveyFit. The SysCAD project closes without saving changes.
Reset SysCAD between evaluations Resets SysCAD before each model evaluation. Can improve robustness when model state carries between evaluations, but increases evaluation time.
Save SysCAD project after solve Saves the best fitted parameter values to the SysCAD project on disk after a successful solve. SurveyFit then restores the live connected session to the parameter values present at the start of the solve. Without this option, the best values remain in SurveyFit results but are not saved to the SysCAD project.

SurveyFit primarily targets ProBal projects. When a Dynamic project is detected, a Dynamic SysCAD project detected prompt explains the required behaviour. SurveyFit starts the Dynamic simulation for each evaluation and waits for SysCAD to report that it has stopped. The project must stop automatically and restart for each evaluation. SurveyFit does not change the Dynamic scenario. If the simulation does not stop within the configured model-evaluation timeout, SurveyFit requests a stop and ends the fitting run.

Refresh Tag Values

Refresh Tag Values reads the current values of all enabled Parameter and Measurement tags from the connected SysCAD model. It is intended for inspecting a manually adjusted SysCAD state without running a SysCAD calculation or fitting parameters.

Refresh Tag Values reads the current SysCAD state. It does not run or modify the SysCAD model.

For enabled Parameters, SurveyFit reads the current SysCAD tag value and updates only Current Value. It does not change Initial Value, Best Value, Lower, Upper, Transform, Composition Group, On state, Tag, or Name. A finite live value is displayed even when it lies outside the configured fitting bounds. Likewise, a finite Composition Group value is displayed even when the current manually adjusted SysCAD state does not satisfy the normal 0 to 1 or closure requirements. Refresh does not normalise or modify those values. Normal solve validation remains strict when a fit is subsequently started.

For enabled Measurements, SurveyFit reads the current SysCAD tag value as the new Estimated Value and recalculates the existing Measurement results, including Residual, Std Residual, |Std Residual|, Objective %, overall objective, and the corresponding parity and residual displays. Measured Value, Error Model, and SD configuration are unchanged.

Disabled rows are not read. An invalid or unavailable SysCAD tag on a row with On switched off therefore does not prevent the refresh.

The operation is read-only with respect to SysCAD. It does not run ProBal or Dynamic, perform a model evaluation, run the optimiser, write Parameter tags, test Parameter writeability, reset the model, alter the Dynamic scenario, or save the SysCAD project.

Refresh is atomic. SurveyFit first reads and validates all required enabled tag values and constructs the complete candidate snapshot. Required values must be numeric and finite. If any enabled tag cannot be read, is missing, is non-numeric, or returns NaN or positive or negative infinity, the refresh fails without partially updating the tables. The previous coherent SurveyFit snapshot remains visible, and the failure is reported through the normal Issues, Log, and error presentation.

When enabled Measurements participate in a successful refresh, their existing results are replaced by the refreshed live SysCAD snapshot. The refreshed results are current rather than marked out of date. Objective history from a previous optimisation is cleared, and previous solve telemetry and solve-outcome information are cleared or suppressed so they cannot be mistaken for information about the refreshed state. Parameter Initial Values and Best Values are retained. The Results tab therefore represents the current manually adjusted SysCAD state rather than the most recent optimised best point.

If enabled Parameters are refreshed but there are no enabled Measurements, existing Measurement results, objective history, and associated result state are preserved.

A successful refresh changes project-owned Current Values and, where applicable, Measurement result state. SurveyFit therefore marks the project as modified so the refreshed snapshot can be saved in the .sfit project. The refresh is not treated as an ordinary Parameter configuration edit and does not immediately mark successfully refreshed results as out of date.

Refresh Tag Values is available only when SurveyFit is idle and has a usable SysCAD session. It is disabled while disconnected, fitting, evaluating, stopping or cancelling, performing another SysCAD task, or already refreshing tag values. During the operation the status area displays Refreshing tag values.... No success dialog is shown.

SysCAD COM tag reads do not provide a bounded cancellation mechanism. If an individual tag read blocks inside SysCAD COM, SurveyFit cannot forcibly interrupt that call. The read runs off the GUI thread so the interface remains responsive, and application shutdown waits for the active read to complete.

Solver Configuration

The Solver configuration card displays a compact summary of the current project settings and provides the Solver settings… button. The summary includes the algorithm, trust-region regularisation state, residual model, primary tolerance, stability-pass configuration, model-evaluation timeout, and logging detail. See Solver Settings Dialog.

Solve Event Log

The Solve events table contains Time and Event columns. It records significant solve-state and progress events for the current run. The table displays No events yet before an event has been recorded and is cleared when a new solve starts.

The final solve event states the reason the run ended. Current outcome messages distinguish gradient-tolerance convergence, fit-improvement tolerance, parameter-change tolerance, combined fit-improvement and parameter-change tolerance, maximum evaluations reached before convergence, no further valid progress, stability passes stopped by the continuation improvement threshold, stability passes stopped because fit quality worsened, and user cancellation. Model-evaluation and other solve failures are reported separately. When available, the same outcome message appears in the [Solve Outcome] section of the exported results report.

Results Tab

Figure 5. Results tab.

The Results tab displays No results yet until displayable Measurement results are available. Results may come from a fitting solve or from Refresh Tag Values. When Measurements are refreshed, the tab represents the current live SysCAD snapshot rather than a previous optimised best point. The main layout contains the parity plot and residual histogram on the left, with Residual diagnostics, Interpretation, and Top 5 largest residuals on the right.

Parity Plot

The parity plot displays Measured Value on the horizontal axis and Estimated Value on the vertical axis. The diagonal parity line represents exact agreement. Point colour reflects |Std Residual|, allowing discrepancies to be compared across measurements with different engineering scales.

The axes always use equal scaling. There is no separate Equal axes option.

Parity Plot Options

Option Description
Log axes Applies logarithmic scaling to both parity axes. Rows with Measured Value less than or equal to zero, or Estimated Value less than or equal to zero, are excluded from the plot. The plot reports the number excluded. If no positive pairs remain, it displays No positive values to plot on log axes.

Hovering over a Top 5 row displays Name, Tag, Measured Value, Estimated Value, signed Std Residual, and Objective %. Selecting the row highlights the corresponding parity point and shows the parity-point tooltip, which reports Name, Tag, Measured Value, Estimated Value, and |Std Residual|.

Residual Histogram

The residual histogram displays the distribution of signed standardised residuals. It is intended to show centring, spread, skew, and large residuals relative to the stated measurement uncertainties.

Residual Diagnostics

Statistic Meaning
Measurements Number of enabled measurements with usable results.
Objective Sum of squared standardised residuals used for the displayed diagnostics.
RMS std residual Root mean square of the standardised residuals.
Residual SD Sample standard deviation of the signed standardised residuals.
Max |Std Residual| Largest absolute standardised residual.
Outside ±2σ Count and fraction of residuals with absolute value greater than 2.
Outside ±3σ Count and fraction of residuals with absolute value greater than 3.

Interpretation

The Interpretation section applies simple diagnostic checks to overall residual bias, residual spread, moderate and strong outliers, and correlation between measured magnitude and residual. Fewer than eight residuals are reported as too few for detailed interpretation. Results based on 8 to 19 residuals are marked as a limited sample. These messages are diagnostic guidance rather than a substitute for engineering review.

Top 5 Largest Residuals

The table columns are Tag, Std Residual, and Objective %. Rows are ranked by descending absolute standardised residual. Objective % is calculated from squared standardised residuals and therefore identifies the measurements contributing most strongly to the displayed diagnostic objective.

CSV Exchange

The Data menu imports and exports complete parameter or measurement tables. CSV files use the same user-facing column headings and option names as the SurveyFit interface.

Parameters CSV

Export order:

#,On,Tag,Lower,Upper,Transform,Composition Group,Name

Required import columns are Tag, Lower, Upper, and Transform. The other columns are optional.

Accepted Transform values in CSV are:

  • Linear
  • Log
  • Sigmoid

Measurements CSV

Export order:

#,On,Tag,Measured Value,Error Model,SD,Name

Required import columns are Tag, Measured Value, and Error Model. SD is required for an enabled row using the Fixed error model.

Accepted Error Model values in CSV are:

  • Fixed
  • Whiten (PSD)

CSV Import Rules

  • Column order is not significant.
  • Headings are case-sensitive after leading and trailing whitespace is removed.
  • Duplicate headings are rejected.
  • Other unrecognised columns are ignored with warnings.
  • A row whose Tag begins with a semicolon is skipped, allowing simple commented rows.
  • On accepts true, false, 1, 0, yes, no, y, or n, without regard to case.
  • The # column determines the row order after import.
  • Import replaces the corresponding current table after successful parsing and validation. A successful import is recorded as one Undo operation, allowing the complete previous table definition to be restored.

The CSV export files do not include result-only fields such as Initial Value, Best Value, Estimated Value, or residual columns.

Dialogs

This section documents user-visible dialogs and prompts exposed by SurveyFit.

Dialog Inventory

Dialog or Prompt Opened From Purpose
Getting Started Help > Getting Started, and optionally at application startup Summarises the normal nine-step SurveyFit workflow.
Preferences Edit > Preferences... Configures application startup and numeric display defaults.
Solver Settings Solver settings… on the Solve tab Configures project-specific optimisation, residual, continuation, model-evaluation, and logging settings.
License Help > License... Selects and checks a license file and displays support details.
Check for Updates Help > Check for updates... Checks whether a newer SurveyFit version is available and provides access to the update download when applicable.
About SurveyFit Help > About SurveyFit… Displays product, version, architecture, build date, website, and copyright information.
Unsaved changes New, Open, Exit, or window close while the project is dirty Offers Save, Don't Save, or Cancel.
Dynamic SysCAD project detected Starting a solve against a Dynamic project Requires explicit acknowledgement of the Dynamic stop, restart, scenario, and timeout responsibilities.
Worker error or crash support dialog Background-task or unexpected application failure Reports the failure and provides diagnostic support information where available.

Getting Started Dialog

The Getting Started dialog describes SurveyFit and lists the normal workflow:

  1. Create or open a .sfit project.
  2. Select the SysCAD Project.spj file.
  3. Define or import parameters, including Composition Groups where required.
  4. Define or import measurements and uncertainty settings.
  5. Validate and review Issues.
  6. Run the solve.
  7. Monitor the objective chart, Solve events, Issues, and Log.
  8. Review parity, residual, and largest-residual results.
  9. Save the project and export or copy results.

The Do not show this again checkbox controls whether the dialog is shown automatically at startup.

About SurveyFit Dialog

The About dialog displays:

  • product name
  • application version and process architecture
  • build date
  • Met Dynamics website link
  • copyright information

Copy system info copies support information to the clipboard. OK closes the dialog.

Preferences Dialog

The Preferences dialog contains General and Numeric display sections.

Setting Description Range or Default
Load last project on startup Automatically opens the most recently used SurveyFit project when the application starts. Off by default.
Default model evaluation timeout Default maximum wall-clock time allowed for one SysCAD evaluation in newly created projects. 1 to 36000 seconds. Default 120 seconds.
General values significant figures Significant figures used for general engineering values. 1 to 12. Default 4.
Residual/statistic decimal places Decimal places used for residuals and statistics. 0 to 8. Default 3.
Scientific notation threshold for small values Uses scientific notation below this non-zero absolute magnitude. Default 1e-4.
Scientific notation threshold for large values Uses scientific notation at or above this absolute magnitude. Default 1e6 and must exceed the small threshold.
Trim trailing zeros Removes unnecessary trailing zeros from general engineering values. On by default.
Show full precision in tooltips Shows fuller numeric precision in parity, results, and detailed numeric tooltips. On by default.

The default model-evaluation timeout affects newly created projects. Existing projects retain their own timeout in Solver Settings.

Solver Settings Dialog

Solver Settings are stored in the SurveyFit project.

Algorithm

Setting Description
Method The current available method is Trust Region.

Residual Model

Method Meaning
Standard least squares Applies ordinary squared loss to the standardised residuals.
Robust: Soft L1 Smoothly reduces the influence of large residuals.
Robust: Huber Uses squared loss near zero and approximately linear loss for larger residuals.
Robust: Cauchy Strongly limits the influence of large residuals.

Robust residual models affect the loss used by the optimiser. Displayed residual diagnostics and Objective % remain based on squared standardised residuals.

Continuation (Stability Passes)

Setting Description
Enable stability passes Repeats the solve using the previous pass solution as the next starting point.
Maximum passes Maximum number of repeat solves. The default is 3.
Stop passes when improvement is small Relative objective-improvement threshold for ending continuation early. The default is 1e-3.

Trust Region Settings

Setting Description Default
Enable trust-region regularization Adds regularisation to the Trust Region subproblem when supported. Off.
Stop when parameter changes are small Relative parameter-change tolerance, xtol. 1e-8.
Stop when fit improvement is small Relative objective-improvement tolerance, ftol. 1e-8.
Stop when gradient is small Gradient tolerance, gtol. 1e-8.
Derivative method Fast (2-point finite difference) or Accurate (3-point finite difference). Fast.
Parameter scaling Automatic derives scaling from the Jacobian. Custom accepts a positive scalar or comma-separated positive list. Automatic.
Use custom derivative step size Enables a user-entered finite-difference step size. Off.
Derivative step size Positive custom step size used when the preceding option is enabled. Blank when disabled.

Model Evaluation

Setting Description
Model evaluation timeout Maximum wall-clock time SurveyFit waits for one ProBal or Dynamic evaluation to stop. Range 1 to 36000 seconds; new projects default to 120 seconds.

Logging

Log Detail Behaviour
Minimal Records only essential solve messages.
Normal Records normal operational progress.
Detailed Records the most detailed available solver progress. This is the default for newly created projects.

License Dialog

The License dialog contains a license-file path, Browse..., and Check license. Selecting a file with Browse immediately performs a check. The path is retained for later GUI and CLI sessions.

The status section reports:

  • License status
  • Licensed to
  • Expiry date
  • Days remaining

The expandable details section contains support information such as the application name and version, license path, provider and location, Site Code, required authorisation, raw status, issued-to value, expiry, days left, and any native licensing error information that is available.

Copy details copies the complete licensing support text. Close closes the dialog.

Representative status text includes Licensed, License file not found, License expired, Not licensed, Licensing module error (Demo Mode), and Unchecked.

A valid check updates the current session immediately. A restart is not required.

Check for Updates Dialog

Help > Check for updates... checks whether a newer SurveyFit version is available.

If a newer version is available, the dialog identifies the available version and provides Download update and Close actions. Download update is the primary and default action and opens the SurveyFit download page in the default web browser. SurveyFit does not download or install the update automatically.

Close, Esc, and the window close button dismiss the dialog without opening the browser. Pressing Enter activates the default Download update action when it is available.

If the installed version is current, the dialog reports that SurveyFit is up to date. If the update check cannot be completed, the dialog reports that the check was unsuccessful.

Unsaved Changes Prompt

When an operation would discard unsaved changes, SurveyFit offers:

  • Save
  • Don't Save
  • Cancel

Save writes the project before continuing. Don't Save continues without saving. Cancel leaves the current project and operation unchanged.

Dynamic SysCAD Project Prompt

The Dynamic prompt states that SurveyFit will start the Dynamic simulation for each model evaluation and wait for it to stop. The user must confirm that the project stops automatically and restarts for every evaluation. SurveyFit does not change the Dynamic scenario. The prompt displays the configured model-evaluation timeout and offers Proceed or Cancel.

Acknowledgement is retained for the same connected Dynamic project and run mode during the current application session. A change in the connection identity or detected run mode requires a new acknowledgement.

Worker Error and Crash Dialogs

Background-task errors are reported through user-visible messages and the Log, with technical context preserved for support. Unexpected application failures may open a crash support dialog that allows diagnostic information to be copied. Use Help > Open log folder and Help > Copy system info when reporting a problem.

Issues and Logging

The right-side diagnostics pane contains Issues, Issue details, and Log sections. The three sections are separated by a vertical splitter.

Issues Panel

Issues Table

Column Meaning
Severity Error, Warning, or other reported severity.
Source Subsystem or validation source that reported the issue.
Row One-based affected table row where applicable.
Column Current user-facing column name where applicable.
Message Concise issue description.

The table can be sorted by its columns and uses single-row selection.

Issue Behaviour

Selecting an issue populates the Issue details section with the complete issue metadata and message. Double-clicking an issue, or pressing Enter, activates it and navigates to the related Parameters or Measurements cell where possible.

Ctrl+C copies the selected issue details. The copy button in the Issue details header performs the same function.

View > Toggle issues panel shows or hides both Issues and Issue details together.

Log Panel

The Log is a read-only text record of application, validation, SysCAD, solve, licensing, and support messages. The copy button in the Log header copies the current log text.

Log files are also written under %LOCALAPPDATA%\MetDynamics\SurveyFit\Logs and can be opened with Help > Open log folder.

View > Toggle log panel controls the Log independently of Issues. The complete right-side diagnostics pane hides when both controls are off.

Validation and Error Conditions

SurveyFit validates project data during editing, explicit validation, project loading, CSV import, and solve preflight. Errors and warnings may appear in the diagnostics pane, message dialogs, the Log, or CLI output.

Errors block the affected operation where applicable, including import, save, or solve. Explicit validation itself completes and reports the errors. Warnings identify conditions that should be reviewed but do not necessarily prevent solving.

Validation and Error Categories

Category Examples
Project structure Missing or unsupported project-package members, unsupported schema version, malformed data types, or unsupported stored fields.
Parameter table Missing tag, invalid numeric bound, Lower not less than Upper, unsupported transform, non-positive Log bounds, or duplicate enabled tags.
Composition Group Fewer than two members, mixed On states, incorrect fixed bounds or transform, live values outside 0 to 1, or a starting total not equal to 1 within 0.000001.
Measurement table Missing tag, invalid Measured Value, unsupported Error Model, missing or non-positive Fixed SD, or duplicate enabled tags.
SysCAD configuration Missing project selection, unavailable project file, failed COM connection, unsupported tag access, Refresh Tag Values read failure, model-evaluation timeout, or failed ProBal or Dynamic evaluation.
Solver configuration Invalid tolerance, derivative, scaling, continuation, logging, or model-evaluation timeout values.
Licensing and Demo Mode Missing, expired, or invalid license and enabled-row counts exceeding Demo Mode limits.
CSV Missing required heading, duplicate heading, invalid option value, malformed number, or invalid group structure.

Common Validation Conditions

Condition Effect or Guidance
No parameter rows or no measurement rows Start is disabled until both tables contain rows. A valid solve also requires enabled, usable rows.
Lower greater than or equal to Upper The parameter row is invalid and solve execution is blocked.
Log transform with a non-positive bound or live value Use positive values or choose another transform.
Missing or invalid Fixed SD Enter a finite SD greater than zero or select Whiten (PSD) for appropriate sizing data.
Duplicate enabled tag within a table Disable or change the duplicate rows so each enabled parameter tag and each enabled measurement tag is unambiguous.
Invalid Composition Group starting values Correct the SysCAD values to fractions from 0 to 1 summing to 1. SurveyFit does not normalise them automatically.
Results out of date The stored results are retained but no longer correspond to the edited configuration. Run a new solve or clear the results.
SysCAD COM automation registration not found Reboot the PC, run C:\SysCAD139\bin\RegAll.cmd as Administrator, then reopen SurveyFit and try again.
Model evaluation timeout Check the SysCAD model state, improve convergence or Dynamic stopping behaviour, or increase the timeout in Solver Settings.
Refresh Tag Values cannot read an enabled tag Check that every enabled Parameter and Measurement tag exists and returns a finite numeric value. The refresh is abandoned without partially replacing the previous SurveyFit snapshot. Disabled rows are not read.
Dynamic project without acknowledgement The GUI requires Proceed in the Dynamic prompt. The CLI requires --allow-dynamic.
Demo Mode limits exceeded Reduce the enabled parameters to 3 or fewer and enabled measurements to 20 or fewer, or activate a valid license.

Project File Format

SurveyFit projects use the .sfit extension. The current format is a ZIP package with package-format version 1 containing:

  • manifest.json
  • project.json

The project payload currently uses schema version 3. It stores project metadata, SysCAD configuration, solver configuration, parameter and measurement definitions, results, objective history, solve telemetry, and selected user-interface state. Undo/Redo history is session-only and is not stored in the .sfit project.

SurveyFit writes project files atomically through a temporary package followed by replacement of the destination. Manual editing of the package or JSON payload is not recommended because the loader validates exact keys and value types.

Command Line Interface

SurveyFit provides a command-line interface through surveyfit-cli.exe. It can validate a project or run a solve without opening the graphical interface.

Executable and Command Structure

Top-level syntax:

surveyfit-cli.exe [-h] {solve,validate} ...

General help:

surveyfit-cli.exe --help

Command-specific help:

surveyfit-cli.exe solve --help
surveyfit-cli.exe validate --help

Both commands accept .sfit projects.

CLI Command Inventory

Command Purpose Notes
solve Validates, opens the configured SysCAD project, performs model-evaluation preflight, runs the solve, and prints a results report. Optional invocation-only CSV overrides and solved-project output are supported.
validate Validates the project and optional CSV overrides without running the optimiser. Does not open or evaluate SysCAD.

Solve Command

General syntax:

surveyfit-cli.exe solve --project PROJECT [--params CSV] [--meas CSV] [--save PROJECT] [--license PATH] [--allow-dynamic]
Option Description
-h, --help Displays solve-command help.
--project PROJECT Required path to a .sfit project.
--params CSV Applies parameter On-state overrides for this invocation.
--meas CSV Applies measurement On, Measured Value, Error Model, or SD overrides for this invocation.
--save PROJECT Saves the solved SurveyFit project to the specified path. Output is always normalised to .sfit.
--license PATH Uses the specified license file for this invocation. If omitted, the persisted GUI license path is used.
--allow-dynamic Acknowledges that a detected Dynamic project is configured to stop automatically and restart for every model evaluation. SurveyFit does not change its Dynamic scenario.

The project setting Save SysCAD project after solve remains effective during CLI solving. The --save option controls the solved SurveyFit project output and is separate from saving the SysCAD project.

Validate Command

General syntax:

surveyfit-cli.exe validate --project PROJECT [--params CSV] [--meas CSV] [--license PATH]

The options have the same project, override, and license meanings as the solve command. --allow-dynamic is not accepted because validation does not perform model evaluation.

CLI Override CSV Files

CLI override files are intentionally narrower than the complete GUI import files.

Override Type Accepted Headings Modified Fields
Parameters Tag, Name, On Only On is changed. Tag and Name identify the target project row.
Measurements Tag, Name, On, Measured Value, Error Model, SD The supplied measurement fields are changed for the invocation.

A row is matched by Tag, or by Name when Tag is omitted. Name can also disambiguate duplicate Tag matches. Unsupported headings are rejected rather than ignored. Error Model values are Fixed or Whiten (PSD). Overrides modify the in-memory invocation and do not change the source project unless a solved output is written with --save.

CLI Examples

Action Command
Solve using a project surveyfit-cli.exe solve --project project.sfit
Solve with parameter On-state overrides surveyfit-cli.exe solve --project project.sfit --params params.csv
Solve with measurement overrides surveyfit-cli.exe solve --project project.sfit --meas measurements.csv
Solve and save a solved SurveyFit project surveyfit-cli.exe solve --project project.sfit --save solved.sfit
Solve a prepared Dynamic project surveyfit-cli.exe solve --project project.sfit --allow-dynamic
Validate project and overrides surveyfit-cli.exe validate --project project.sfit --meas measurements.csv
Use an explicit license file surveyfit-cli.exe solve --project project.sfit --license C:\Path\MetDynamics.lic

CLI Outputs and Exit Codes

The solve command writes status and progress messages followed by the plain-text results report. The validate command writes validation issues or a successful validation message.

Exit Code Meaning
0 Success.
1 Validation, licensing, input-check, or project-save error.
2 Solve failure or Demo Mode solve-limit error.
3 SysCAD connection, preflight, or model-evaluation error.
4 Unexpected application error.
130 Interrupted from the console, normally with Ctrl+C.

Demo Mode

When no valid license is active, SurveyFit operates in Demo Mode. Projects can still be created, edited, validated, imported, exported, and reported. Saving and solving are permitted only while the project remains within the Demo Mode enabled-row limits.

Demo Mode Indicators

Location Behaviour
Main window title Displays the suffix [Demo Mode].
Status bar Displays License: Demo Mode.
CLI Reports Unlicensed - Demo Mode when applicable and may also report the configured license path or raw status.

Solve Limits

A Demo Mode solve is limited to:

  • no more than 3 enabled parameters
  • no more than 20 enabled measurements

The current representative message is:

Demo mode allows up to 3 enabled parameters and 20 enabled measurements. This project currently has ... Reduce the enabled rows or activate a licensed copy of SurveyFit.

Rows that exist but are switched off do not count toward the solve limits.

GUI Behaviour in Demo Mode

The normal project-preparation controls remain available. When the enabled-row limits are exceeded, SurveyFit reports a validation issue and blocks both project saving and Start. Reduce the enabled rows to within the limits, or activate a valid license, before saving or solving. Disabled rows do not count toward the limits.

Command-Line Behaviour in Demo Mode

The CLI applies the same enabled-row limits. A solve-limit failure is returned as exit code 2. Validation also reports the limit issue and returns exit code 1 when the project exceeds the Demo Mode limits.

Terminology

Term in Interface Meaning
On Whether a parameter or measurement row is enabled for the current solve.
# One-based display order of a table row. It has no solver effect.
Composition Group Case-sensitive group of at least two parameter rows representing fractional components constrained to sum to 1.
Initial Value Parameter value read at the start of the latest solve.
Current Value Parameter value for the current SurveyFit snapshot. During a solve it follows the current solver iteration; after a completed solve it reflects the restored starting value unless subsequently replaced by Refresh Tag Values.
Best Value Parameter value associated with the lowest objective found.
SD Standard deviation associated with a measurement.
Residual Estimated Value minus Measured Value.
Std Residual Residual divided by SD.
|Std Residual| Absolute magnitude of Std Residual.
Objective % Percentage contribution of a measurement's squared standardised residual to the total displayed diagnostic objective.
Error Model Method used to obtain measurement SD.
Fixed Error Model in which SD is entered directly by the user.
Whiten (PSD) Error Model in which SD is calculated from a percentage size-fraction measurement.
Transform Internal mapping between an engineering parameter value and the optimiser variable.
Objective Fit metric being reduced during the solve. Lower values indicate closer agreement under the configured residual model.
RMS std residual Root mean square of the displayed standardised residuals.
Residual SD Sample standard deviation of the signed standardised residuals.
Max |Std Residual| Largest absolute standardised residual.
Stability passes Optional repeated solves using the previous pass solution as the next starting point.
Refresh Tag Values Read-only command that reads current enabled Parameter and Measurement tag values from the connected SysCAD model without running or modifying the model.
ProBal SysCAD steady-state calculation mode primarily targeted by SurveyFit.
Dynamic SysCAD Dynamic mode. SurveyFit requires explicit acknowledgement and a scenario that stops and restarts for every evaluation.
Results out of date Stored results no longer correspond to the current edited project configuration.
Demo Mode Unlicensed mode in which saving and solving are limited to projects with no more than 3 enabled parameters and 20 enabled measurements.

See Also