Skip to content

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_scale and lithology_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_table is true, the HDF file that is loaded must be located at the location of out_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.