Reservoir characterization

Reservoir characterization software

A grid that follows the structure, properties that follow the wells, and a volume you can defend. g-Space builds structured and tetrahedral 3D grids on the structural framework, upscales the logs into them, propagates the rest under variogram control, and turns the result into gross rock volume and reserves.

Two grid types
Corner-point and tetrahedral
Zone by zone
Own algorithm, trend and variogram
P99 to P1
Stochastic volumetric percentiles
g-Space with the Reservoir ribbon bar open, showing gross rock volume and in-place controls above a 3D depth view of a faulted facies grid with well trajectories running through it
Cell-by-cell property model in a structured 3D grid in g-Space, its layers coloured by value and offset across a fault
In view
Facies grid & the Reservoir bar
A property model is mostly an argument about the cells with no data in them. The cells a well crosses are measurement; everything else is inference, and the honest version of that inference is one you can inspect and change. g-Space keeps the two apart on purpose: upscaling writes log values only into the cells a trajectory actually passes through, so you can look at the conditioning data on its own before anything is filled in — and propagation then fills the rest, zone by zone, under an algorithm, a trend and a variogram you chose rather than one you inherited. What comes out is a grid whose numbers have a stated provenance, which is what makes the volume calculated from it worth quoting.
3D grids

The container first, and its geometry checked.

The grid decides what the model can represent, and a grid with degenerate cells breaks the volumetrics that follow. g-Space builds two kinds, and gives you a diagnostic pass over either before anything is propagated into it.

Structured
S-Grid

A corner-point grid of hexahedral cells, built from interpolation steps that set the resolution, an optional polygon and a margin. The fault mode decides whether the grid surfaces ignore faults, use faults you select, or use a whole fault model — with a clear radius controlling how far from a trace values are rebuilt.

Unstructured
Tetrahedral grid

Generated from an existing structural model, so it honours that model's structural and stratigraphic framework. Layering is proportional, parallel to the top or parallel to the bottom, and a faulted model is meshed one fault block at a time so cells stay inside their block instead of crossing the fault.

Diagnostics
3D Grid Quality Control

Scans for negative thickness, zero and negative volume, collapsed cells, cells below a minimum thickness and cells with an extreme aspect ratio, then reports a count per check graded critical or warning — so the geometry is fixed before it costs you a volume.

Coarsen
Upscale 3D Grid

Combines fine cells into coarser ones by an I, J and K factor or by a target cell size, recalculating each new cell by average, median, minimum or maximum for continuous properties and most common or dominant for facies. It always writes a new grid, never overwriting the original, and it works on structured grids only.

Seismic in
Seismic Data Upscaling

Turns a seismic volume into a grid property so seismic evidence sits alongside the log-derived ones in the same cells — name the property, choose the volume and the value-extraction method, and it appears under the grid's properties.

Derive
Grid calculator

Writes a new property from the ones the grid already holds, evaluated cell by cell from an expression you type — net-to-gross, a saturation, a permeability estimate. It works on both grid types and remembers the last expressions per project.

Property modeling

Measurement and inference, kept visibly apart.

Porosity, permeability and saturation are populated from well logs and geological properties in two passes — first the cells the wells actually touch, then everything else.

Upscale into the cells wells cross
The selected curve is blocked onto every grid cell a trajectory passes through, averaging the samples inside it. Cells no well reaches stay empty, so the conditioning data can be displayed and checked on its own before propagation touches anything.
Averaging that suits the curve
Continuous curves take a length-weighted average, RMS, minimum, maximum or median; discrete ones take the most common code, or a percentage — the fraction of the in-cell trajectory where the curve equals the facies code you name.
Cutoffs that open on your data
Minimum and maximum cutoffs are pre-filled from the real range of the selected curve across the selected wells, rounded outward so an automatic cutoff never clips a real sample — and stay editable. Log nulls can be honoured so they never enter an average.
Trajectory or straight down
Samples are placed at their true position on the wellbore from the deviation survey, so cell membership follows the real 3D path — or treated as a vertical line under the surface location when the survey is missing or not to be trusted. A minimum cell coverage skips cells a well only grazes.
Petrophysical or facies
Continuous scalar properties that vary smoothly, or categorical facies and rock types. The choice changes the propagation list: ABOS, kriging or stochastic for petrophysical properties, Voronoi or stochastic for facies, with a connectivity filter on facies stochastic runs.
Variogram control
Kriging and stochastic runs take a variogram: spherical, exponential or Gaussian, with sill, nugget, azimuth and separate major and minor distances — which is how anisotropy and correlation range get stated instead of assumed. Variograms are analysed in their own view from well attributes, logs, markers, grid maps or horizons.
Zone by zone
Algorithm, propagation distance, trend and variogram can be set per zone, and each zone is then propagated using only its own upscaled cells — so no data crosses a zone boundary and a shale interval cannot lend its values to the reservoir above it.
Reproducible, and checkable
The random seed is auto or fixed for a repeatable stochastic run, and the propagated property records its source curve, its per-zone settings and its seed, reopenable from the result itself. Extract Grid Property to LAS samples the finished property back along the wells so log, upscaled log and model can be compared on one track.
Workflow

Six steps from a framework to a number you can quote.

1
Build the grid
An S-Grid from the horizons and maps with its interpolation steps, polygon and fault mode, or a tetrahedral grid straight from a finished structural model with its layering type.
2
Run quality control on it
Scan for negative and zero-volume cells, collapsed cells and extreme aspect ratios, and deal with the critical findings before anything is propagated. Re-run it after any edit to the zones and layers.
3
Upscale the logs
Block each curve into the cells its wells cross, with the averaging, the cutoffs and the coverage threshold that suit it, then read the per-well report of cells touched and samples discarded.
4
Propagate under control
Choose petrophysical or facies, pick the algorithm, set the propagation distance and the variogram, add a trend map where a regional pattern is real, and vary all of it per zone where the zones deserve it.
5
Check and derive
Extract the modelled property back onto the wells and compare it against the original log; derive net-to-gross or a saturation with the grid calculator; extract zone maps for the isochore, isopach or property statistics you need.
6
Calculate the volume
Gross rock volume from the polygon, the surfaces and the contact; then reserves in simple mode for a single answer, or in advanced mode for a percentile range with the sensitivities behind it.
Volumes & reserves

One number, or the whole distribution.

Volumetric work starts on the Reservoir bar and runs through the Calculate reserves wizard, which takes its volume either from surface maps or from a project grid, and can be saved into a workflow instead of run on the spot.

Gross rock volume and in-place
Simple mode: the parameters, and what each one reports
Gross rock volume
A polygon, a top depth map, a bottom map when one is needed, and the fluid contact depth. The GRV from the contact and the contact area are reported straight on the ribbon.
Oil
Net-to-gross, porosity, water saturation, formation volume factor, oil density and recovery factor, bounded by the oil-water contact and optionally by a gas-oil contact above it. Reports original oil in place and stock tank oil initially in place, plus dissolved gas once the gas factor and the gas-to-oil ratio are both supplied.
Gas
Net-to-gross, porosity, water saturation, reservoir pressure and temperature against standard conditions, compressibility factor and formation volume factor. Reports original gas in place and standard gas initially in place.
CO2 storage
The gas parameter set plus a storage efficiency factor and a residual gas saturation, reporting the same two volumes — the documented route for storage-capacity estimation.
Geo-body from GRV
Create geo-body from gross rock volume turns the current polygon, surfaces and contact depth into geometry you can display and slice, rather than leaving the GRV as a number on a ribbon.
Sensible defaults
Every parameter opens on a standard value — net-to-gross, porosity, water saturation, the fluid factors — so a first pass is a matter of changing what differs for this field. Reset to default puts them back.
Uncertainty and bookkeeping
Advanced mode, and what the model leaves in the project
Stochastic percentiles
Set the number of realizations and a smoothing radius, give the top and bottom surfaces an upper and lower limit map, and define a distribution per parameter. The panel reports P99, P90, P50, P10 and P1.
Correlations and seed
A correlation matrix can be enabled when the inputs are not independent, and a fixed seed makes the same random sequence reproducible. Sensitivity analysis is available for effective reservoir volume.
Fluid contacts
OWC, GOC, GWC and free water level are recorded per zone in the Conceptual Model, defined by a level with an optional polygon or by a depth map, and drawn on sections and well correlation panels. They are informational and are not used in the calculations.
Maps out of zones
Extract Map turns a built grid zone into the top or bottom surface, an isochore, isopach or isochron map, or property maps generated for each property-and-statistic pair you select.
Grids in and out
Structured grids import from ECLIPSE and GOCAD SGrid; tetrahedral grids from GOCAD TSolid and RESQML EPC; and the whole branch exports to RESQML EPC.
Repeatable as a workflow
Log upscaling, property propagation, grid upscaling, map extraction and the reserves calculation all save into the project workflow with their settings, so a model can be rebuilt rather than remembered.
Tools in this group
The parts of g-Space this topic is built from
Reservoir bar Properties modeling Volumetric calculations 3D Grids 3D grid creating 3D Grid Quality Control Upscale 3D Grid Seismic Data Upscaling Grid calculator Variogram Fluid contacts Geo-bodies Workflows
More g-Space capabilities

The grid inherits everything upstream of it.

The framework it is built on, the logs it is conditioned by and the depth it sits at all come from elsewhere in the same project. These are the other topics in the g-Space workflow.

FAQ

Questions, answered.

What kinds of 3D grid does g-Space build?
Two. An S-Grid is a structured corner-point grid of hexahedral cells, built from interpolation and grid steps with an optional polygon, a margin and a fault mode; it is the grid most workflows use. A tetrahedral grid is an unstructured mesh generated from an existing structural model, so it honours that model's structural and stratigraphic framework and is meshed one fault block at a time, which suits complex volumes a structured grid cannot represent. Every grid carries a time or a depth domain taken from the data it was built from, and grids can also be imported from ECLIPSE, GOCAD and RESQML.
How do well logs become grid properties?
In two deliberate steps. Upscale Log Data blocks a chosen curve onto every cell a wellbore crosses, averaging the samples that fall inside each cell — length-weighted average by default, or RMS, minimum, maximum, median for continuous curves, and most common or a facies percentage for discrete ones. Only the crossed cells get a value, so the conditioning data can be reviewed before anything is modelled. Propagate Upscaled Properties then fills the rest, zone by zone, using ABOS, kriging or a stochastic method for petrophysical properties and Voronoi or stochastic for facies, with a propagation distance, an optional 2D trend map and its weighting, and a variogram where the algorithm uses one.
What does the volumetric calculation report?
Gross rock volume first, from a polygon, a top depth map, an optional bottom map and a fluid contact depth — the GRV and the fluid contact area are reported on the ribbon. The Calculate reserves wizard then covers effective reservoir volume, oil, gas and CO2, taking its volume either from surface maps or from a project grid. Oil reports original oil in place, stock tank oil initially in place and, when both gas parameters are supplied, dissolved gas. Gas and CO2 both report original gas in place and standard gas initially in place. Every parameter opens on a standard value that you change for the field in question.
Can volumetric uncertainty be estimated?
Yes — the Advanced tab of the reserves wizard runs a stochastic estimate and reports percentiles. Set the number of realizations and a smoothing radius, fix the seed when the same random sequence has to be reproduced, give the top and bottom surfaces an upper and a lower limit map, and define a distribution for each of the parameters the selected volume type uses. A correlation matrix can be enabled when the inputs are not independent. The results panel reports P99, P90, P50, P10 and P1, and sensitivity analysis is available for effective reservoir volume.
Get started

Grid your own field and calculate the volume.

Build the grid, upscale the logs, propagate under a variogram you set, then run the reserves both ways — take g-Space for a trial run, or talk to Geomage about a demo on your data.