Aller au contenu

Schema

Overview

The project schema defines the variables used across GENESIS objects and workflows. In practice, the schema configured in Options > Schema… becomes the default for block models, intervals, and composites.

Most projects initialize the schema from imported drillhole data (assays), but variables can also be created manually

Open Schema Settings

  1. Go to the Option ribbon.
  2. In Settings, click Schema…
  3. Use the Variable tab to add, edit, reorder, show/hide, or remove variables.

Variable Model

Each schema variable contains the following fields:

  • Name (Label): internal unique identifier used by the system.
  • Caption: display name shown in UI, outputs, reports, and plans.
  • Description: free text description of the variable.
  • Type:
    • Input: value comes from imported or estimated data.
    • Calculated: value is computed from a formula or script function.
  • Default Value: Default value when data is not yet imported or estimated
  • Missing Value: fallback value used when data is absent.
  • Use Capping + Capping Level: optional upper limit used in interval calculations.
  • Decimal / Width: formatting controls.
  • Show: controls whether the variable is displayed in outputs.
  • Order: display order in variable lists.

Naming Rules

When adding or renaming variables:

  • Names must pass GENESIS label validation.
  • Do not use spaces.
  • Do not start with a number.
  • Do not use special characters except underscore (_).
  • Reserved names are not allowed.
  • Names are treated as unique (case-insensitive uniqueness check).

Common examples: Au, Ag, CaO, Fe, SiO2.

Add, Rename, Delete

  • Add creates a new variable with defaults:
    • Type: Input
    • Default value: 0
    • Missing value: -1
    • Decimal: 2
    • Width: 6
    • Show: enabled
  • Rename updates the variable label and keeps the schema synchronized.
  • Delete permanently removes selected variables.
  • At least one variable must remain in the schema.

Input vs Calculated Variables

  • Input variables store imported/measured values.
  • Calculated variables store computed values from a formula.
  • Switching an existing variable from Input to Calculated may clear previously stored values for that variable.

Formula and Script Support

Calculated expressions are case-insensitive and ignore spacing.

Formula Validation

GENESIS validates standard formulas and reports parsing errors before saving.

Script Function Shortcut

The Use Script action generates a prototype like:

double Get<VariableName>(double <InputVar1>, double <InputVar2>, ...)

This lets advanced users compute a variable in script using current input variables.

Critical Values and Interval Behavior

Two critical values are used:

  • Default value: the value of the variable by default if no other value was provided.
  • Missing value: explicit value for missing/unavailable information. usually -1

For mineralized interval calculations, missing analyses can be handled differently depending on dilution settings:

  • With dilution: missing terms (usually -1) are replaced by the default value (usually 0).
  • Without dilution: missing/empty terms can be excluded from calculation; all-empty cases remain absent.

If capping is enabled, computed interval results are limited to the configured capping level.

Display and Ordering

  • Caption controls displayed text.
  • Show controls visibility in outputs.
  • Order controls list/output sequence using Up/Down actions.
  • Multi-select operations can apply Show and Capping changes to several variables at once.

Calculated variable Operators (Priority Order)

  • ~, !, not() — unary negation / logical not
  • ^ — exponent
  • *, / — multiply/divide
  • +, - — add/subtract
  • % — modulus
  • <>, != — not equal
  • ==, = — equal
  • >=, <=, >, < — comparisons
  • /\, &&, and — logical AND
  • \/, ||, or — logical OR

Calculated variable Supported Functions

Single-argument functions

  • Floor(x), Ceil(x), Abs(x)
  • Log(x), Log10(x), Exp(x), Sqrt(x)
  • Sin(x), Cos(x), Tan(x)
  • Asin(x), Acos(x), Atan(x)
  • Sinh(x), Cosh(x), Tanh(x)

Multi-argument functions

  • Rand(x,y) — random number between x and y
  • Min(x1; x2; ...) — minimum value
  • Max(x1; x2; ...) — maximum value
  • Ind(value; ind1; min1; ind2; min2; ...; default) — returns first indicator where value <= minN, otherwise default