kirra-docs

Dependencies

The dependency engine automatically calculates loading start dates and blast dates based on configurable thresholds and constraints. It runs whenever the Gantt chart is updated or when you click Recalc Dates.

Screenshot coming soon


The Dependency Chain

The scheduling phases cascade in this order:

Pattern Prep –> Drilling –> Loading –> Blasting

Pattern Preparation is an optional phase set manually by the planner. The remaining phases (Drilling, Loading, Blasting) cascade automatically based on configurable completion percentages.


Global Settings

These settings are found in the Gantt settings bar and apply to all blasts unless individually overridden:

Setting Default Description
Drill % for Load 0% Percentage of drilling that must be complete before loading can start. 0% means loading can start on the first drill day.
Drill % for Blast 100% Percentage of drilling that must be complete before blasting.
Load % for Blast 100% All loading must finish before blasting. Always 100%.
Min Lead Days 0 Minimum calendar days between loading completion and blast date (e.g., 1 day for safety checks).
Enforce Sequence Off When enabled, prevents manual date overrides that would breach dependencies.

Per-Blast Overrides

Each blast can override the global thresholds. When editing a blast, you can set custom values for:

If a custom value is not set, the blast uses the global setting.


How Dates Are Calculated

For each blast, the engine calculates dates in this order:

  1. Sync blocks – If the blast has drill blocks, the blast-level drill start and drill days are derived from the blocks.
  2. Loading start – Calculated as the drill start plus the drill days multiplied by the “Drill % for Load” threshold. For blasts with blocks and a 100% threshold, the latest block end date is used.
  3. Predecessor check – If the blast has a predecessor, the engine validates that the predecessor’s timing constraints are met.
  4. Manual override – If you have manually set a loading start date, your date is kept but a warning appears if it is earlier than the calculated earliest date.
  5. Loading days – Calculated from the blast’s explosive mass divided by the combined daily rate of all assigned MPUs. For example, 2 MPUs at 100,000 kg/day each = 200,000 kg/day combined, halving the loading duration.
  6. Blast date – The later of two dates: the drill ready date and the load ready date, plus the min lead days.
  7. Manual blast override – If you have manually set a blast date, your date is kept but a warning appears if it breaches the dependency.
  8. Maintenance check – Warnings are flagged if any assigned drill’s maintenance window overlaps the drilling period.

Breach Warnings

When a manually set date violates a dependency threshold:


Predecessor Types

You can link blasts together so that one must reach a certain stage before another can begin:

Type Constraint
Blast before Drill The predecessor blast must fire before this blast’s drilling starts
Blast before Load The predecessor blast must fire before this blast’s loading starts
Drill before Drill The predecessor’s drilling must finish before this blast’s drilling starts

Drill Blocks and Dependencies

When a blast has drill blocks:


Auto Schedule

The Auto Schedule function automatically stacks and sequences drilling:

  1. Sorts blasts by their current drill start date
  2. Tracks each drill rig’s availability end date
  3. Finds the earliest date when all assigned rigs are available for each blast
  4. Applies the Drill Overlap % setting to control how much overlap is allowed between consecutive blasts on the same rig
  5. Recalculates all downstream dates via the dependency engine

Auto Schedule preserves equipment assignments – it only adjusts timing.


Auto Calc

Recalculates drill days, load days, and prep days for a blast based on current equipment rates, accounting for:


Fleet Conflict Detection

The fleet conflict system detects when drill rigs are over-allocated:

Conflict cells are highlighted on the Gantt chart.


Practical Tips