Using the Lithology Module to Calculate Subsurface Thermal Conductivity
The input JSON file for the lithology module is directly used for a calculation of subsurface thermal conductivity
by the Lithology module or the process-lithology command in the CLI (see Geoloop Interface).
Alternatively, for configuration of this module, a file is linked in the main configuration JSON under the key
litho_k_param. In that case, values in litho_k_param in the main configuration, overwrite root-level keys,
except config_file_path.
Configuration of the Lithology Module
The input JSON file for the lithology module includes the following parameters:
| Parameter | Description | Unit | Type | Remark |
|---|---|---|---|---|
| input_dir_lithology | Path to folder with Excel file containing lithology properties for the borehole | — | string | — |
| out_dir_lithology | Path to folder where lithology output is stored | — | string | Output includes tables with bulk subsurface thermal conductivity over depth and figures |
| lithology_properties_path | Path to Excel file containing user-defined soil/rock properties | - | string | Optional; default table with properties is included in the lithology package |
| borehole_lithology_path | Path to Excel file with subsurface lithology data | — | string | — |
| borhole_litho_sheetname | Name of tab in Excel file with subsurface lithology data | — | string | — |
| out_table | Name of HDF5 (.h5) file to store lithology and thermal conductivity data | — | string | — |
| Tg | (Sub)surface temperature | °C | scalar or list | Represents surface temperature if scalar |
| Tgrad | Subsurface temperature gradient | °C/100m | scalar | Used only if Tg is scalar |
| z_Tg | End depths of Tg values |
m | list | Used only if Tg is a list |
| phi_scale | Factor to scale porosity uniformly over depth | — | scalar | — |
| lithology_scale | Factor to scale fraction of lithology a uniformly over depth | — | scalar | — |
| lithology_error | Random variation factor for lithology fraction over depth | — | scalar | — |
| n_samples | Number of samples for generating subsurface thermal conductivity models | — | scalar | Used only if basecase is false |
| basecase | Flag to apply error/scaling factors in lithology and porosity sampling | — | boolean | — |
| read_from_table | Flag to read pre-calculated thermal conductivity data instead of calculating during runtime | — | boolean | — |
Rules for Configuration of the Lithology Module
A set of rules apply for creating or loading samples of subsurface thermal conductivity profiles.
-
If basecase = true:
One thermal conductivity profile is used, without random/scaled error applied on the bulk thermal conductivity calculation.
This is always the case for deterministic simulations and the same thermal conductivity profile is used in all samples in case of a stochastic simulation. -
If basecase = false: Multiple thermal conductivity profiles are generated, with random/scaled error applied in the bulk thermal conductivity calculation, conform the configuration of
phi_scale,lithology_scaleandlithology_error. -
If read_from_table = true:
A pre-defined table of thermal conductivity profiles is loaded and used in the simulations. In stochastic simulations, each profile corresponds to one stochastic sample. In deterministic simulations, only the first sample/column in the table is used. -
If read_from_table = false:
Thermal conductivity profiles are calculated during runtime.
If
read_from_tableis true, the HDF file that is loaded must be located at the location ofout_dir_lithology. This way, in a batch run the lithology can first be calculated in one simulation and then loaded by another simulation.
Excel Format for Lithology Data
The Excel file containing lithological properties is loaded using the parameters borehole_lithology_path and borehole_lithology_sheetname.
An example of such a table is provided in the input subdirectory of the working directory of the example from Roermond.
It must include the following columns:
| Column Header | Description | Unit | Remark |
|---|---|---|---|
| Depth | Bottom depth of lithological layer along borehole | m | — |
| Lithology_a | Name of first lithology in the layer | — | — |
| Lithology_b | Name of second lithology in the layer | — | — |
| Lithology_a_fraction | Relative fraction of Lithology_a in the layer |
— | The fraction of Lithology_b completes the total to 1 |
The lithology types (for Lithology_a and Lithology_b) currently supported by the Geoloop lithology module are:
- sand
- clay
- shells
- marl
- chalk
- claystone
Excel Format for Lithological Thermal Properties from Literature
The lithology module relies on an Excel file (lithology/resources/lithology_properties.xlsx) that contains
physical and thermal parameters for each lithology type, from Hantschel & Kauerauf (2009). This table acts as the reference
database from which all lithology-dependent thermal-conductivity calculations draw their input values. Optionally,
the path to a similar table is user-defined in the configuration of the lithology module, with additional or edited soil
and/or rock properties.
The Excel file includes the following columns:
| Column name | Meaning / Description |
|---|---|
ID |
Unique identifier for each type of lithology in the classification. |
Lithology |
Lithology name used to match lithological borehole descriptions to this properties database. |
class |
The class of rock type in the classification from Hantschel & Kauerauf (2009). |
subclass |
The subclass of rock type in the classification from Hantschel & Kauerauf (2009). |
K [W/mK] |
Reference vertical thermal conductivity at surface conditions (20 °C). |
anisotropy |
Thermal conductivity anisotropy factor (ratio between horizontal and vertical conductivity). |
cp [J/kgK] |
Specific heat capacity of the rock matrix. |
sorting (-1 = 0 sorting) |
Sorting factor used in the compaction-correction law (-1 indicates no sorting correction). |
rho [kg/m3] |
Density of the rock matrix. |
phi0 [%/100] |
Surface porosity. |
k_athy (compaction par.) [1/km] |
Compaction constant controlling exponential porosity–depth decay. |
Source |
Source for any adjusted parameter values |
When using lithological data to calculate the subsurface thermal conductivity, the borehole lithological description
is merged on the columns Lithology_a and Lithology_b with the properties database on the Lithology column.
For the theoretical explanation of how the subsurface thermal conductivity is calculated, see the Theory page.
Outputs
When using the lithology module to convert a pre-defined lithology–depth profile into a subsurface bulk thermal conductivity
model, the inputs and results for this calculation are stored in an HDF5 (.h5) database file.
Additionally, a plot is automatically created to visualize the calculated range in thermal conductivity over depth, with the lithological model in the background.
The color shading of lithological layers represents the mixing ratio of the two lithologies at depth.
For an example of the colors, see again a BHE in the city of Roermond
The database and the corresponding plot are stored in
the output directory of the subsurface module, as defined by the out_dir_lithology parameters in the configuration JSON,
using the following file naming convention:
/out_dir_lithology/{configuration JSON}.h5/out_dir_lithology/{configuration JSON}.png
References
- Hantschel, T. and Kauerauf, A. I.: Fundamentals of Basin and Petroleum Systems Modeling, Springer, 1–475 pp., https://doi.org/10.1007/978-3-540-72318-9, 2009.