Skip to content

Using the Plotting Module for Visualization

The input JSON file for the plotting module is directly used by the Plotmain module or the plot command in the CLI (see Geoloop Interface). The module uses the HDF5 (.h5) file to load the input parameters and results that are stored after a BHE simulation.

Configuration of the Plotting Module

In the configuration JSON, users can specify which types of plots and variables to visualize for each simulation, by setting flags and arguments in the following parameters:

Parameter Description Unit Type Remark
base_dir Path to folder that contains the folders created by simulations, with data files to plot string
run_names Name(s) of simulation(s) to plot list
model_types Model type(s) used for simulation(s) to plot list Options: ANALYTICAL or FINVOL
run_types Starting point for simulation(s) to plot list Options: POWER or TIN
run_modes Specifies single or stochastic simulation(s) to plot list Options: SR or MC; Note: only simulations of the same mode can be plotted together
plot_names Name(s) of simulation(s) that is used in the legend of the plot(s) list Optional
plot_nPipes Index of pipe for dataselection to plot list Used for crossplots and timeplots
plot_layer_k_s Index of thermal conductivity layer for dataselection of input parameters to plot list Used for crossplots
plot_layer_Tg Index of subsurface temperature layer for dataselection of input parameters to plot list Used for crossplots
plot_layer_kg Index of grout thermal conductivity layer for dataselection of input parameters to plot list Used for crossplots
plot_nz Index of depth layer for dataselection of results to plot list Used for crossplots and timeplots
plot_ntime Index of timestep for dataselection of results to plot list Used for crossplots
plot_nzseg Index of depth segment for dataselection of results to plot list Used for crossplots and timeplots
newplot Flag to plot the simulation(s) listed in run_names seperately or together boolean Only simulations with the same run_modes can be plot together
plot_time_depth Flag to plot time- and depthplots boolean Only compatible with single simulations
plot_time_parameters Parameters to plot in a timeseries plot list Optional. Only used if plot_time_depth is true. Options: dploop; qloop; flowrate; T_fi; T_fo; T_bave; Q_b; COP; Delta_T. With Delta_T = T_fo-T_fi and COP = Q_b/qloop
plot_depth_parameters Parameters to plot in the depth plot list Optional. Only used if plot_time_depth is true. Options: T_b; Tg; T_f; Delta_T
plot_borehole_temp List of depth-segment slice indices to plot borehole temperature for list Optional. Only used if plot_time_depth is true. index 0 always works
plot_times Timesteps for which to create depthplots hours list Only used if plot_time_depth is true
plot_crossplot_barplot Flag to plot crossplots and tornadoplots boolean Only compatible with stochastic simulations
crossplot_vars Variable input parameters and results to target in crossplots and tornado plots list Only used if plot_crossplot_barplot is true
plot_temperature_field Flag to plot the 3D temperature field calculated and stored by a simulation of the numericla model boolean Only used if model_type is FINVOL

Types of Plots

The plotting module in Geoloop visualizes simulation results, together with input parameters. Visualization of the results in different types of plots is supported. These include continuous depth-plots and depth-slices, time-plots, scatter plots and tornado plots. For examples of these different plot types, see the Examples page. Each plot type can visualize different variables depending on the simulation context.

Depth plots can include:

  • Fluid temperature — T_f
  • Difference between inlet and outlet fluid temperatures — Delta_T
  • Borehole wall temperature — T_b
  • Subsurface temperature — Tg

Time plots can include:

  • Outlet temperature — T_fo
  • Inlet temperature — T_in
  • Temperature difference (inlet–outlet) — Delta_T
  • Average borehole wall temperature — T_bave
  • Flow rate in each pipe — flowrate
  • Pumping pressure — dploop
  • Generated thermal power — Q_b
  • Pumping power — qloop
  • Coefficient Of Performance (COP) of the circulation pump during the simulation period — COP

Scatter and tornado plots can include the following variables:

  • Scaling factor for subsurface thermal conductivity — k_s_scale
  • Pipe thermal conductivity — k_p
  • Maximum depth of pipe insulation — insu_z
  • Fraction of pipe thickness that includes insulation — insu_dr
  • The thermal conductivity of the insulating material — insu_k
  • The flowrate — m_flow
  • The inlet temperature — Tin
  • The borehole length — H
  • The pipe surface roughness — epsilon
  • The subsurface thermal diffusivity — alfa
  • The temperature gradient — Tgrad
  • The heat load — Q
  • The percentage of the working fluid mixed with water — fluid_percent

For a numerical simulation, plots of the calculated 3D temperature grid can be produced for every simulated timestep. In addition, the time-depth slices of subsurface temperature, that are visualized by this, can be combined in a GIF.

For comparison between cases, the plotting module allows for plotting the results of multiple simulations together. Therefore, the input JSON file for the plotting module accepts simultaneous entry of plotting preferences for multiple simulations. In addition, the plotting configuration includes a flag newplot that allows for individual plotting of the simulations specified in the input JSON.

  • Plotting more than two simulations together is not optimally supported.
  • Plotting together deterministic and stochastic simulations is not supported.

Outputs

The plots generated by Geoloop are stored in a fixed file-name format in the base directory of each simulation case.

📁 /jsondir/base_dir/casename/

For deterministic calculations, the following output plots are produced:

  • casename_borehole_temp_{timestep}_{segment}.png
    Plot of the internal borehole temperature at a specified depth-slice and timestep.

  • casename_temperature_depth_{timestep}.png
    Continuous depth-plot showing fluid, borehole, and subsurface temperatures for a specified timestep.

  • casename_heatflow_depth_{timestep}.png
    Continuous depth-plot showing subsurface heat flow and thermal conductivity for a specified timestep.

  • casename_timeplot_{data_variables}.png
    Time-plot showing various input and result variables over the course of the simulation.

For stochastic simulations, additional statistical plots are created:

  • casename_{data_variable_y}vs{data_variable_x}_scat.png
    Scatter plots showing the relationship between two input and/or result variables.

  • casename_Sensitivity_{data_variable}.png
    Tornado plots showing the sensitivity of one input or result variable relative to other simulation variables.

For simulation with the numerical finite volume model, plots of the 3D temperature field are produced:

  • Tfield_time/casename_T_field_{timestep}.png Time-depth slice of the calculated subsurface temperature field.
  • Tfield_time/Tfield_animation.gif GIF animation of the time-sequence of time-depth slices of the calculated subsurface temperature field.