OreFrame beta

OreFrame · resource estimation platform

Open the data.
Model the orebody.
Keep the routine.

Three modules, one platform. Data reads what you already have and puts the deposit on screen in minutes. VarioForge does the variography and the kriging, interactively. WorkflowCanvas turns the method into a routine anyone on the team can read, and orchestrates the packages you already pay for. One project, one truth, one link to share it.

Runs in Chrome, Edge, Firefox and Safari · nothing to install

vario.oreframe.com — Babbitt Cu-Ni · the study
A study open in OreFrame: three experimental variograms with a fitted nested model, pair-count histograms and the variogram map.
Real capture. Babbitt Cu-Ni, 399 holes, 35,616 assay intervals, four grades.
1project holding the data, the parameters and the lineage
3modules sharing one data model, so nothing is re-entered
653routine templates driving Datamine, Surpac, Isatis, RMSP, Python
1 linkto share a study — expiring, revocable, not a copy

The state of play

Five packages, five licences, and nobody can say which model was signed.

A resource estimate is assembled across a chain of software that was never designed to work together. Each package has its own file format, its own licence, its own interface from fifteen years ago, and its own idea of what a drillhole is. What crosses them is a method, and the method is not written down anywhere.

Too many tools, each one a specialty

Modelling in one package, estimation in another, plots in a third, cleanup in Excel, and a Python script holding the joints together. Being good at the geology is no longer enough; you have to be good at five interfaces, and the person who is has a queue outside their door.

A licence for every door

Separate contracts, separate renewal dates, separate seat counts, separate training budgets. The graduate who needs to look at one wireframe for ten minutes cannot, because the seat is checked out in another office.

Interfaces from another era

Modal dialogs, parameter files, macro languages and a manual. New staff take months to be useful and the knowledge never leaves the few people who learned it the hard way. Meanwhile the deposit does not wait.

The audit is a reconstruction

When the report has to be signed, someone spends a week rebuilding what was done: which file, which cut-off, which search, which version. The estimate is a legal document, and almost none of what produced it was ever recorded.

So we built the layer above.
Your packages keep doing the work. OreFrame is where the data, the method and the record live, in one interface, on one licence.

One platform, three modules

See the data, model it, then write the method down.

The modules are not three products bolted together. They share one project and one data model, so a domain built in the first is the domain the second krige and the third publishes. The canvas sits above all of it and orchestrates: it runs the steps in order, drives your existing packages, and keeps the record of what ran with which parameters.

01 · Data

Load it, and see it

Collar, survey, assay, CSV, Excel, DXF, STL, and Datamine studies read straight from disk. Desurvey, EPSG and column mapping handled on arrival. Then the deposit in 3D, the terrain and the satellite imagery under it, and an EDA that four variables at once does not slow down.

The data module ↓

02 · VarioForge

Variography and kriging

One variography engine, built as a calculation tree. Move the azimuth, the tolerance, the bandwidth, the lag, the grade or the domain and the answer is already drawn. It holds the same way on three hundred samples and on a full campaign, whatever the data came in as. Then krige on the block model.

The variography module ↓

03 · WorkflowCanvas

Routines, and orchestration

The method as a graph: nodes, typed ports, parameters on the face of each step. Run it and it drives Datamine, Surpac, Isatis, QGIS and Python in their own syntax, node by node, with the run history kept. A graduate can follow it and an auditor can review it.

The workflow module ↓

Module 01 · Data

A project in ten minutes, and you can already see the deposit.

Most of the delay in an estimation is not the geostatistics. It is getting the data in, in the right projection, with the right dip convention, and then finding somewhere to look at it. That part is the first module's whole job.

It reads survey data like someone who has done this before

Drop three files and they sort themselves into collar, survey and assay by name. Type the source EPSG and the app tells you it is NAD27 Minnesota North in US survey feet, converts the coordinates to metres, and drops a satellite image of where your holes actually land. A projection mistake is caught in the first thirty seconds instead of in the block model.

On this trio it also reports: 100 % of 2,628 survey dips are positive → defaulted to "down = positive". It asks when it is unsure and states its assumption when it is not.

import — EPSG recognised, location verified
The import screen: three files auto-sorted, EPSG 26791 recognised as NAD27 Minnesota North, and a satellite preview of where the holes land.

Your existing studies, visible

Point it at a Datamine study and it reads the .dm headers and tells you what each file is: drillholes, collar, survey, block model, wireframe, variogram, variogram model, search and estimation parameters, strings. Fields and record counts, before you import anything. You do not have to open Datamine to know what is in the folder.

Powerful 3D

Holes as tubes coloured and sized by grade, wireframes and DXF surfaces in the same scene, clipping planes, a section flythrough, and the search cone drawn among the samples it actually selected. The parameters are in the ground, not in a legend.

Terrain and satellite, free

Type the EPSG. The topography and the imagery for your licence area arrive on their own. No GIS request, no basemap licence, no waiting on another office, no cost.

terrain + satellite, from the EPSG alone
The deposit's topography with satellite imagery draped over it, at the project's real coordinates.
assay intervals as tubes, coloured by grade
Drillhole traces rendered as tubes whose colour follows the assayed grade along each hole.

An EDA worth using, and a table you can edit

Four variables at once: histograms, scatter, swath, all cross-filtered, with a mini-3D beside them so a selection in a histogram is a selection in the ground. The data table is virtualised, carries per-column statistics, and edits persist into the project. Looking at the data stops being a separate exercise from modelling it.

  • Rule-based filters shared between the EDA and the variography, so a decision made while exploring carries through.
  • Compositing with a mass-balance report, duplicate removal, collar transfer, clipping and bench polygons.
  • Domains by hand or by algorithm. Draw them with the rule builder, or let the grade shell take the longest mineralised run in each hole and hand you a first pass in one click. The automatic result is an editable starting point.
  • Never be lost. A guided tour runs inside the real product, on your own data, in chapters you pick from. Walk the path once, then send your team down the same one.
EDA — four variables, cross-filtered, with the selection in the ground
The EDA view: two histograms with their statistics, a scatter with its correlation, a swath plot and the samples in 3D, all cross-filtered.
the guide, offering to walk this study
The guided tour asking which path to take: a walkthrough of this study, or the full import walkthrough from an empty one.

Reads

  • Collar + survey + assay, any number of assay fileslive
  • Desurvey with dip convention detected from the datalive
  • Any EPSG — reprojected and converted to metres on importlive
  • Datamine studies — files typed and described before importlive
  • Any CSV or Excel sheet as a project tablelive
  • Triangulated surfaces and wireframes — STL, DXFlive
  • Surpac · Leapfrog · Vulcan · Micromine, nativelynext

Writes

  • Datamine macros, from the canvaslive
  • Surpac and Isatis scripts, from the canvaslive
  • Datamine VAMP / VMODPARM variogram modelslive
  • Leapfrog · Isatis · Surpac variogram modelslive
  • DXF 3DFACE meshes — Datamine, Surpac, Vulcan, AutoCADlive
  • CSV — samples and project tableslive
  • The whole workflow as a graphlive

Module 02 · VarioForge

A variography engine nobody else has built.

Underneath VarioForge is a calculation tree rather than a recompute. Move the azimuth, the tolerance, the bandwidth, the lag, the grade or the domain and the curve is already redrawn. It behaves the same way on three hundred samples and on a full campaign, and on any kind of data you feed it. That is the reason a study stops being a budget of minutes per test.

Fast enough to change your mind

When a variogram costs nothing to ask for, the question changes. It stops being "which variogram do we have time to fit" and becomes "which of these hypotheses survives". Chain a domain against a variable, look, change the domain, look again. Four grades against three domains is an afternoon.

  • Double-click the variogram map to take a direction. The curve is already there.
  • U / V / W, downhole and omnidirectional, variogram maps by GSLIB plane, regular or free lags, half-first-lag, axis locks.
  • Nested fitting per grade and per domain, held in a model grid so you can see which cells are done and which are not.
  • Models leave in your format: Datamine VAMP and VMODPARM, Leapfrog, Isatis, Surpac, or plain text.
picking a direction — no spinner, no wait
Real capture, real time. Frames at a fixed cadence, nothing sped up · GIF

Geology, not charts

Your search cone, drawn in the ground.

Most packages draw the result in 3D. Drawing the parameters in 3D, the cone that accepted the pairs, on the holes that produced them, is what turns a review meeting from an argument about numbers into a conversation about geology.

3D viewer — the vario ball, the search cone and the holes that fed it
Accepted zone, angular tolerance, bandwidth wall, lag ticks, direction axis and range ellipsoid, drawn where the samples are rather than in a legend · GIF

Then krige it

Build the grid, sub-block it, set the search neighbourhood, and run ordinary kriging on the model the variography just produced. The same fitted structures, not a set of numbers retyped into another package.

Checked against reference software

The experimental variogram, the four model types and the kriging system are asserted against independent reference implementations on every release, rotated anisotropy included. Ask for the test suite during a technical review and we hand it over.

Kriged model in the wireframe

The block model rendered inside the DXF volume it was constrained by, blocks sized and coloured by grade, turning in the same scene as the holes. Assembling the deliverable and reviewing it are the same act.

opening progressively

Module 03 · WorkflowCanvas

Build a Datamine project without knowing Datamine.

This is the part people do not expect. OreFrame does not only read your packages' files. It writes their work. Assemble the routine from templates on the canvas and it emits the macros and scripts those packages run, in their own syntax, then executes them in order and tells you where it is. The expertise moves out of one person's head and into a graph the whole team can see.

WorkflowCanvas — a vein modelling routine, as its author left it
A workflow on the canvas: vein intercepts feed a wireframe and an unfolding step, which feed thickness and grade kriging, which refold to 3D and produce a resource report. Each connection is coloured by data type and labelled with the file it carries.
Every port is typed and carries its file: vein_intercepts.csv, vein_surface.dxf, vein_grade.grid. Every edge is coloured by what flows down it. Nobody has to open the macro to know what this does.

Orchestration, not export

A routine can cross five packages in one run: database to QGIS to Python to Isatis to Leapfrog and back, with conditional branches driven by global variables, so the simulation runs only when the flag is set. Progress is tracked node by node and the run history is kept.

653 templates

234 for Surpac, 100 for Datamine, 90 for RMSP, 69 for Isatis, plus Python and QGIS, across block modelling, estimation, variography, compositing, DTM, blasting and underground design.

libraries live · browser being finished

Start from your deposit type

Ready-made routines for nickel laterite with weathering-profile domains, orogenic gold with indicator kriging and heavy top-cutting, porphyry copper with alteration zones and NSR, and BIF iron with product classification. Open one, change what your deposit does differently.

the routines a team accumulates
The canvas project list: kriging neighbourhood analysis, drillhole spacing analysis, grade-tonnage curves, vein modelling, model reconciliation and indicator variograms.

The workflow is the audit trail

Every action in the study is recorded as a node: the import mapping, the composite length, the domain rule, the fitted structure, the search ellipsoid. Not a log file beside the model. The graph is the model's provenance, and it is the same object the canvas opens.

  • Self-documenting by construction. Nothing to write up afterwards, because nothing was ever undocumented.
  • Hand it to the canvas. Nodes, edges and parameters, all editable, all readable by someone who does not code.
  • Bring it back. Change one parameter in the canvas, re-import, and the study knows which step changed.
  • Data lives in the project, not in a folder next to it. Files cannot be moved or renamed out from under the audit trail.
the study, as a directed graph
The study drawn as a directed graph: Import CSV feeds Desurvey, which feeds the variography, each node carrying the parameters it ran with.
The licence you already pay for, driven by a routine your whole team can read.
Nobody has to learn the macro language to get the deliverable.

One source of truth

"What is the current model?" is a question with one answer.

A model repository versions files. This versions the method. The samples, the composites, the domain rules, the fitted structures, the search ellipsoid and the routine that produced all of it sit in one project with one history. Nobody has to look in a folder, and nobody has to ask the person who ran it.

  • Project history you can read. Every step timestamped with the parameters it ran with, exportable as .log or .jsonl for the technical report.
  • Permissions on the object, not on the copy. Invite by email or send a link that expires. Revoking is one action, not an audit of who has which zip.
  • Everyone sees the same scene. The reviewer opens the same 3D, the same variograms and the same numbers you are looking at, at the same moment.
  • Try the alternative without losing the first. Change a domain rule or a fitted structure and the graph records what changed and what depended on it.
  • It crosses vendors. The truth is not trapped in one package's file format, because what is stored is the routine.
the study, step by step, with what each one ran with
The study as a log: each step timestamped, with its inputs, outputs, parameters, duration and how many times it re-ran.

Python and language models

Your team is already pasting drillhole data into a chat window.

That is the honest starting point. Banning the tools has not worked anywhere, and the code those tools write is genuinely useful in a geostatistics workflow. So the Python module here is built on the assumption that the code in it came from a model, and the architecture is what keeps it safe rather than a policy nobody reads.

Nothing to steal

The machine that runs the code holds no credentials, sits on its own private network, and serves one tenant at a time. The worst case is code reaching data you uploaded yourself. That is not a promise about intentions, it is the size of the blast radius.

One token, one machine

The run token is minted for that single machine at the moment it is created. Code can read the environment it runs in, so a token shared between machines would let one tenant post code to another's. There is no shared token here, which is the part most setups get wrong.

Keys and spend stay yours

Provider keys live on the server and never reach the browser. Usage is limited per user rather than per address, so one enthusiastic script cannot spend the team's budget. And you can point the whole module at a local model when the data must not go near a cloud provider at all.

Every run also lands in the study's graph, with the code and the parameters it used. What the model did is reviewable afterwards by the person who has to sign the report, which is the difference between using these tools and hoping nobody used them.

What you actually get

Four things a mine can put in a sentence.

One source of truth

The project is the answer

Samples, composites, domain rules, fitted models, search ellipsoid, block model, and the lineage that produced them, inside one project. Not a folder of final_v3_REVISED beside a spreadsheet of parameters beside a document explaining both. There is one answer to "what is the current model", and it is the project.

Share instantly, securely

A link, not an attachment

Invite by email, or send a link that expires on a date you choose. The other person opens the project, so there is one model, and revoking access is one action rather than an audit of who has which zip. Every row and every stored file is scoped to its owner in the database, not by the app remembering to check.

Routines anyone can read

Design it once; the team owns it

Build the routine as nodes with their parameters visible on them. A graduate can follow it. An auditor can review it. The next geologist can change one parameter and see what depends on it. A macro is correct and unreadable; a graph is reviewable by the person who has to sign the report.

Safe AI, not banned AI

Use ChatGPT or Claude on your data

Model-written Python runs on a machine with no credentials, on its own private network, one tenant at a time, with a token minted for that machine alone. Provider keys never reach the browser and spend is capped per user. The worst case is code reaching data you uploaded yourself, and every run is recorded in the study's graph. How that works ↓

One project, end to end

From the collar file to the block model, without changing software.

Nine stages, one project, one data model. The dataset, the parameters and the lineage live inside the study, not in a folder someone can move.

01Importlive
02Explorelive
033Dlive
04Variographylive
05Compositingnext
06Domainsnext
07Modellingin dev
08Block modelnext
09Krigingnext
Shipping today Built and validated, opening progressively

We would rather show you the line than blur it. Stages 05 to 09 exist in the codebase and are covered by the same validation suite as the rest, compositing checked for mass balance and ordinary kriging against a reference implementation, but they are not yet open to every account. Stage 07 is being rebuilt around an editable ribbon interpretation, so it is marked in dev rather than promised.

Straight answers

The questions you were going to ask anyway.

It runs in a browser — can it handle my dataset?

The screenshots on this page are a 399-hole, 35,616-sample drillhole study, and the variography on it is immediate. The engine is built so that the size of the campaign changes what happens underneath rather than what you experience. Bring your worst dataset to the technical review; that is the honest way to answer this one.

How do I know the maths is right?

Ask for the test suite during a technical review. The experimental variogram, the variogram models and ordinary kriging are asserted against independent reference implementations on every release, rotated anisotropy included. We would rather hand that over than argue about it.

Is my data safe if my team uses AI assistants on it?

Safer here than in the arrangement you have now, which is people pasting into a chat window. Model-written Python runs on a machine with no credentials, on its own private network, one tenant at a time. The worst case is code reaching data you uploaded yourself. And it lands in the study's graph, so you can read what it did.

We have already standardised on Datamine / Surpac / Isatis.

Good, that is the point. OreFrame does not ask you to leave them; it drives them. The routine is assembled on the canvas and comes out as macros and scripts those packages run, so the licence you already pay for keeps doing the work while the method becomes something your whole team can read.

My data cannot leave the site.

Be precise with us and we will be precise back. Part of the work runs on the engine, so the samples reach it; the interaction runs in your browser and reaches nobody. Where the engine lives is a deployment question, and on-premise is a normal conversation.

Who supports it, and what happens if you disappear?

A small team that answers. Your variogram models leave in the formats your estimation package already reads, your geometry leaves as DXF, and your workflow leaves as a JSON graph. Nothing here is a hostage.

Where the line is

What ships today, and what is next.

This audience checks. So here is the honest state of the product rather than a feature matrix with everything ticked.

Now — in your account

  • Drillhole import, desurvey, EPSG, column mapping, NA and detection limits
  • Datamine study browser — files typed and described before import
  • Data table with per-column statistics and persistent edits
  • EDA — four variables, histograms, scatter, swath, cross-filtering
  • 3D — holes by grade, terrain and satellite, clipping, section flythrough
  • Full variography — U/V/W, downhole, variogram maps, free lags, nested fitting
  • The canvas: node editor, templates, run history, token-based sharing
  • 653 templates on the canvas — Surpac, Datamine, Isatis, RMSP, Python
  • Guided tours inside the real product, in chapters
  • Projects, autosave, expiring share links, job tracking

Next — built, opening up

  • Compositing with a mass-balance report
  • Domain editor and quick grade shells
  • 3D grids, sub-blocking and grid transfer
  • Search neighbourhood and ordinary kriging on the block model
  • Native Surpac, Vulcan, Leapfrog and Micromine importers

In development

  • 3D modelling, rebuilt. Moving to a ribbon method that carries an interpretation you can edit, so the surface stays a geologist's decision rather than an algorithm's output.
  • Declustering, top-cut, normal-score and Gaussian anamorphosis
  • Tonnage–grade curves and the study report
  • Conditional simulation

Bring one dataset

Load it, look at it, and decide from there.

No procurement cycle, no install, no two-day training course. Load a collar / survey / assay trio, take a direction off the variogram map, and see how long it takes you to test the hypothesis you have been putting off.

contact@oreframe.com