Log and CSV outputs

This section details the log files and CSV outputs that can be generated from the various GEOS components. These outputs provide useful information for execution monitoring and simulation performance analysis.

How to generate these outputs

In order to generate these outputs, you must specify them in the input files.

CSV outputs

To generate a CSV output, specify writeCSV="1" as follows:

<Tasks>

  <CompositionalMultiphaseStatistics
    name="compflowStatistics"
    flowSolverName="compflow"
    logLevel="1"
    writeCSV="1"
    computeCFLNumbers="1"
    computeRegionStatistics="1"/>

</Tasks>

If you do not want CSV output, do not add the writeCSV attribute.

Log outputs

To generate a log output, specify logLevel="x", where x can be 0, 1, 2, 3, 4 or 5, for example:

<Tasks>
  <CompositionalMultiphaseStatistics
    name="compflowStatistics"
    flowSolverName="compflow"
    logLevel="1"
    computeCFLNumbers="1"
    computeRegionStatistics="1"/>
</Tasks>

If you do not want log output, do not add the logLevel attribute.

Depending on the value of the logLevel parameter and the associated component, different levels of detail are available in the statistics displayed. To find the appropriate value for logLevel, refer to the GEOS documentation for the associated component.

Memory usage statistics at the end of execution in a parallel environment

Memory usage monitoring

The role of this component is to monitor and record memory usage in a parallel environment using MPI.

Here are the columns generated by the output file:

  • Umpire Memory Pool (reserved / % over total):

    This is the name of the memory allocator. Allocators are components that manage memory, allocating and releasing blocks according to the program’s needs.

  • Min over ranks:

    This column displays the minimum watermark (KB, MB, or GB) observed for this allocator across all ranks. The watermark is the maximum amount of memory that has been allocated at a given time for a given rank. It also shows the percentage of memory occupied by the minimum watermark.

    The possible memory resource types are:

    • HOST: Standard host memory (main RAM).

    • DEVICE: GPU memory.

    • DEVICE_CONST: Read-only memory on the GPU.

    • UM: Unified memory, shared between CPU and GPU.

    • FILE: Memory backed by a file, used when available physical memory is insufficient.

    • SHARED: Shared memory accessible by multiple processes.

    • PINNED: Pinned host memory, typically used to optimize CPU–GPU data transfers. The quantity available is smaller than the total RAM.

  • Max over ranks:

    Displays the maximum watermark (KB, MB, or GB) observed for the allocator across all ranks. This indicates the maximum memory allocated by this allocator on any of the ranks, which is crucial for identifying peak usage. It also shows the percentage of memory occupied by the maximum watermark.

  • Avg over ranks:

    This column shows the average watermark (KB, MB, or GB) for the allocator, calculated by summing all rank watermarks and dividing by the total number of ranks. It also displays the average percentage of memory occupied.

  • Sum over ranks:

    This column displays the total sum of watermarks (KB, MB, or GB) for this allocator across all ranks. This shows how much memory has been allocated in total by this allocator across the whole application. It also displays the total percentage of memory occupied.

The output can be saved in the log file if this option is specified (as mentioned here) when the program is run.

InternalWellGenerator and VTKWellGenerator

Information on well components

This component generates a table describing the internal structure of a well. Each table corresponds to a well and is titled with the well name. The table contains one line for each element making up the well, with the following information:

  • Element no.:

    The index of the element in the well, starting from 0.

  • CoordX:

    The X coordinate of the element center.

  • CoordY:

    The Y coordinate of the element center.

  • CoordZ:

    The Z coordinate of the element center.

  • Prev Element:

    The identifier of the previous element. If this element does not exist, the field is empty.

  • Next Element:

    The identifier of the next element. If it does not exist, the field is empty.

The output can be saved in the log file if this option is specified (as mentioned here) when the program is run.

SinglePhaseStatistics

Single-phase simulation statistics

This component manages and computes statistics for single-phase fluid simulations. The output provides the following information for a given wrapper [1], for a given region at a given time:

  • Pressure [Pa]:

    Minimum, average and maximum pressure for this region.

  • Delta pressure [Pa]:

    Pressure change in the reservoir since the start of the simulation.

  • Temperature [K]:

    Minimum, average and maximum temperature for this region.

  • Total dynamic pore volume [rm³]:

    Total pore volume occupied by fluids in the rock. This value is dynamic and depends on pressure.

  • Total fluid mass [kg or mol]:

    Total mass of fluid present in the given region.

The output can be saved in the log file if this option is specified (as mentioned here). You can find more information about the log option here.

SolidMechanicsStatistics

Statistics on the deformation of solids

This component computes statistics on the mechanical properties of solids, particularly deformation, based on the nodes of a mesh. The table generated by this procedure contains the following two lines:

  • min:

    Minimum displacement in each of the (X, Y, Z) directions.

  • max:

    Maximum displacement in each of the (X, Y, Z) directions.

The output can be saved in the log file and/or a CSV file if the associated options are specified (as mentioned here) when the program is run. More information about the log and CSV options is available here.

CompositionalMultiphaseStatistics

Regional statistics for a multiphase simulation of CO2

This component computes specific statistics for defined regions in a mesh during a CO2 injection simulation. At each simulation timestep, the following quantities are reported:

  • Pressure [Pa]:

    Minimum, average and maximum pressure for the region.

  • Delta pressure [Pa]:

    Pressure change in the reservoir since the start of the simulation.

  • Temperature [K]:

    Minimum, average and maximum temperature for the region.

  • Total dynamic pore volume [rm³]:

    Total pore volume occupied by all phases combined. This value is dynamic and depends on pressure.

  • Phase dynamic pore volume [rm³]:

    Pore volume available for each phase.

  • Phase mass [kg or mol]:

    Mass or number of moles of fluid present for each phase.

  • Metric 1 (based on the fluid’s ability to be trapped or not, regardless of its actual mobility)

    • Trapped phase mass [kg or mol]: For each phase, mass or number of moles that are immobile because they are trapped in the porous structure.

    • Non-trapped phase mass [kg or mol]: For each phase, potentially mobile mass or number of moles (not trapped, but not necessarily in motion).

  • Metric 2 (based on the effective mobility of the fluid in the system)

    • Immobile phase mass [kg or mol]: For each phase, mass or number of moles that do not move in the simulation (for example due to trapping, viscosity, or pressure thresholds).

    • Mobile phase mass [kg or mol]: For each phase, mass or number of moles that is in motion or can move depending on simulation conditions.

  • Component mass [kg or mol]:

    For each phase, mass or number of moles of each component, enabling assessment of mixture composition.

The output can be saved in the log file and/or a CSV file if these options are specified (as mentioned here) when the program is run. More information about log and CSV options is available here.

SourceFluxStatistics

Production and injection statistics by region

This section explains how global statistics on boundary flow conditions are calculated. These conditions generally represent injection or production wells applied to zones of the simulated domain such as fractures or reservoir zones. The table provides the following information:

  • Produced mass [kg or mol]:

    Amount of fluid produced by the flux (one value per fluid phase). It is defined with the scale attribute:

    • If scale = 0, nothing happens.

    • If scale < 0, an injection is performed; the injected amount equals the product of the rate and the scaling factor.

    • If scale > 0, a production is performed; the produced amount equals the product of the rate and the scaling factor.

  • Production rate [kg/s or mol/s]:

    Production rate for the flux (one value per fluid phase). Also defined with the scale attribute (same semantics as above).

  • Element Count:

    Number of mesh cells directly affected by the source (injection or production); used in flux statistics computation.

The output can be saved in the log file and/or a CSV file if the associated options are specified (as mentioned here). If the CSV option is enabled, the start of the statistical measurement period is included in the table. More details are available here.

TableFunction

Defining variable properties

This component manages tabulated functions: properties that vary in space or time (for example, pressure or temperature vs. depth). The component interpolates data provided as table pairs and applies them to mesh entities during simulation.

If the table contains 1D or 2D data it can be displayed directly in the log file. It is also possible to save this data to a CSV file if that option is enabled. If the table contains 3D data or higher dimensions, a CSV file will be generated containing all the data; the logs will contain a message indicating the CSV file location. If the table is too large (more than 500 points) and you asked for log display, the data will not be shown in the logs — consult the generated CSV file instead.

CompositionalMultiphaseWell and SinglePhaseWell

Modeling multiphase or single-phase flow in wells

The CSV file generated (if enabled) contains information on a well’s production rates for several phases and associated parameters at each recorded time step. A CSV file is generated for each well and for each time step.

The files provide the following information:

  • Time [s]: The current simulation time.

  • dt [s]: The time interval used for this step. (Not available for SinglePhaseWell.)

  • BHP [Pa]: Bottom hole pressure at the reference depth.

  • Total rate [kg/s]: Total mass flow produced or injected by the well at the current time.

For SinglePhaseWell:

  • Total reservoir volumetric rate [rm³/s]: Total volumetric flow at reservoir conditions (enabled if useSurfaceCondition="0" on WellControls).

  • Total surface volumetric rate [sm³/s]: Total volumetric flow at surface conditions (enabled if useSurfaceCondition="1").

For CompositionalMultiphaseWell:

  • Total reservoir volumetric rate [rm³/s]: Total volumetric flow at reservoir conditions.

  • Phase i reservoir volumetric rate [rm³/s]: Volume flow rate of phase i (e.g., oil, gas, water) at reservoir conditions (enabled if useSurfaceCondition="0").

  • Phase i surface volumetric rate [sm³/s]: Volume flow of phase i at surface conditions (enabled if useSurfaceCondition="1").

The output can be saved in the log file and/or a CSV file if these options are specified (as mentioned here). More information is available here and here.

If the CSV file contains 0.0 values for BHP, total_rate, total_vol_rate or phaseN_vol_rate, the well is shut; the log file will indicate this with “wellName: well is shut”.

Certain error messages are added to the log when invalid well parameter combinations are detected (for example, defining a phase rate for a single-phase well is forbidden).

Both components have similar outputs; CompositionalMultiphaseWell includes values for each phase’s volumetric rate, while SinglePhaseWell reports only the single phase present.

PVT Tables

PVT tables define fluid properties as a function of pressure and temperature. They are integrated into fluid and relative-permeability models to enable accurate multiphase flow simulations. An application example is available here.

  • CO2BrinePhillipsFluid:

    Models properties of CO2–brine mixtures, including CO2 solubility in brine as a function of pressure and temperature.

  • ReactiveBrineFluid:

    Models reactions between brine and rock, including pressure and temperature effects.

  • CO2BrineEzrokhiFluid:

    Models CO2–brine properties (density, viscosity) without salinity effects, suitable when salinity is negligible.

Generated PVT tables contain data on the physical properties of fluids across a user-specified range of pressures and temperatures. These tables can be written to the log and/or CSV files when the corresponding options are enabled.

The output for each temperature/pressure combination contains:

  • Pressure [Pa]

  • Temperature [K]

  • CO2 solubility [g/L]

  • H2O solubility [g/L]