PCPT processing class

class groundhog.siteinvestigation.insitutests.pcpt_processing.PCPTProcessing(title, waterunitweight=10.25)[source]

The PCPTProcessing class implements methods for reading, processing and presentation of PCPT data. Common correlations are also encoded.

__init__(title, waterunitweight=10.25)[source]

Initialises a PCPTProcessing object based on a title. Optionally, a geographical position can be defined. A dictionary for dumping unstructured data (additionaldata) is also available.

An empty dataframe (``.data`) is created for storing the PCPT data`

Parameters:
  • title – Title for the PCPT test

  • waterunitweight – Unit weight of water used for effective stress calculations (default=10.25kN/m3 for seawater)

apply_correlation(name, outputs, apply_for_soiltypes='all', **kwargs)[source]

Applies a correlation to the given PCPT data. The name of the correlation needs to be chosen from the following available correlations. Each correlation corresponds to a function in the pcpt module. By default, the correlation is applied to the entire depth range. However, a restriction on the soil types to which the correlation can be applied can be specified with the apply_for_soiltypes keyword argument. A list with the soil types for which the correlation needs to be applied can be provided.

  • Ic Robertson and Wride (1998) (behaviourindex_pcpt_robertsonwride) - Calculation of soil behaviour type index from cone tip resistance and sleeve friction

  • Isbt Robertson (2010) (behaviourindex_pcpt_nonnormalised) - Calculation of non-normalised soil behaviour type index from cone tip resistance and friction ratio

  • Gmax Rix and Stokoe (1991) (gmax_sand_rixstokoe) - Calculation of small-strain shear modulus for uncemented silica sand from cone tip resistance and vertical effective stress

  • Gmax Mayne and Rix (1993) (gmax_clay_maynerix) - Calculation of small-strain shear modulus for clay from cone tip resistance

  • Dr Baldi et al (1986) - NC sand (relativedensity_ncsand_baldi) - Calculation of relative density of normally consolidated silica sand

  • Dr Baldi et al (1986) - OC sand (relativedensity_ocsand_baldi) - Calculation of relative density of overconsolidated silica sand

  • Dr Jamiolkowski et al (2003) (relativedensity_sand_jamiolkowski) - Calculation of relative density dry and saturated silica sand

  • Friction angle Kulhawy and Mayne (1990) (frictionangle_sand_kulhawymayne) - Calculation of effective friction angle for sand

  • Su Rad and Lunne (1988): (undrainedshearstrength_clay_radlunne) - Calculation of undrained shear strength for clay based on empirical cone factor Nk

  • Friction angle Kleven (1986): (frictionangle_overburden_kleven) - Calculation of friction angle for North Sea sands at various stress levels and relative densities

  • OCR Lunne (1989): (ocr_cpt_lunne) - Calculation of OCR for clay

  • Sensitivity Rad and Lunne (1986): (sensitivity_frictionratio_lunne) - Calculation of sensitivity for clay

  • Unit weight Mayne et al (2010): (unitweight_mayne) - Calculation of total unit weight

  • Shear wave velocity Robertson and Cabal (2015): (vs_ic_robertsoncabal) - Calculation of shear wave velocity for all soil types

  • K0 Mayne (2007) - sand: (k0_sand_mayne) - Calculation of coefficient of lateral earth pressure for sand

  • Es Bellotti (1989) - sand: (drainedsecantmodulus_sand_bellotti) - Calculation of drained modulus at average strain of 0.1pct for sand

Note that certain correlations require either the calculation of normalised properties or application of preceding correlations

Parameters:
  • name – Name of the correlation according to the list defined above

  • outputs – a dict of keys and values where keys are the same as the keys in the correlation, values are the table headers you want

  • apply_for_soiltypes – List with soil types to which the correlation needs the be applied.

  • kwargs – Optional keyword arguments for the correlation.

Returns:

Adds a column with key outkey to the dataframe with PCPT data

combine_pcpt(obj, keep='first')[source]

Combine PCPT data for two PCPTProcessing objects. The data of the second PCPT (obj) will be merged with the current object and the data attribute will be a combined dataframe. Only columns ‘z [m]’, ‘qc [MPa]’, ‘fs [MPa]’, ‘u2 [MPa]’ and ‘Push’ will be retained.

Parameters:
  • obj – PCPTProcessing object containing the second PCPT info

  • keep – Determines what to do in the area with overlap (“first”, “second” or “both”). If “first” is chosen (default), the data from the first PCPT self is used in the area with overlap. For “second”, data for the second PCPT obj is retained. If ‘both’ is selected, overlapping data will exist which might lead to presentation problems.

Returns:

Updates the data attribute of the current PCPTProcessing object

downhole_pcpt_corrections(area_ratio_override=nan)[source]

Correct the PCPT for downhole effects. Select each push, find the start depth of the push and

\[ \begin{align}\begin{aligned}q_c = q_c^* + d \cdot a \cdot \gamma_w\\u_2 = u_2^* + \gamma_w \cdot d\end{aligned}\end{align} \]
Returns:

load_a00(path, column_widths=[], skiprows=None, custom_headers=None, z_key=None, qc_key=None, fs_key=None, u2_key=None, push_key='Push', qc_multiplier=1, fs_multiplier=1, u2_multiplier=1, add_zero_row=True, **kwargs)[source]

Reads PCPT data from a Uniplot .a00 file The widths of the columns for the .a00 file need to be specified.

Parameters:
  • path – Path to the .a00 file

  • column_widths – Column widths to use for the import (compulsory)

  • skiprows – Number of rows to skip (optional, default=None for auto-detection, depends on the occurence of ‘Data table’ in the file)

  • custom_headers – Custom headers to be used (default=None for auto-detection)

  • z_key – Column key for depth. Optional, default=None when ‘z [m]’ is the column key.

  • qc_key – Column key for cone tip resistance. Optional, default=None when ‘qc [MPa]’ is the column key.

  • fs_key – Column key for sleeve friction. Optional, default=None when ‘fs [MPa]’ is the column key.

  • u2_key – Column key for pore pressure at shoulder. Optional, default=None when ‘u2 [MPa]’ is the column key.

  • push_key – Column key for the current push (for downhole PCPT). Optional, default=None for a continuous push.

  • qc_multiplier – Multiplier applied on cone tip resistance to convert to MPa (e.g. 0.001 to convert from kPa to MPa)

  • fs_multiplier – Multiplier applied on sleeve friction to convert to MPa (e.g. 0.001 to convert from kPa to MPa)

  • u2_multiplier – Multiplier applied on pore pressure at shoulder to convert to MPa (e.g. 0.001 to convert from kPa to MPa)

  • add_zero_row – Boolean determining whether a datapoint needs to be added at zero depth.

  • kwargs – Optional keyword arguments for reading the datafile

Returns:

load_ags(path, z_key=None, qc_key=None, fs_key=None, u2_key=None, push_key='Push', qc_multiplier=1, fs_multiplier=1, u2_multiplier=1, add_zero_row=True, ags_group='SCPT', verbose_keys=False, use_shorthands=False, **kwargs)[source]

Loads PCPT data from an AGS file. Specific column keys have to be provided for z, qc, fs and u2. If column keys are not specified, the following keys are used:

  • ‘z [m]’ for depth below mudline

  • ‘qc [MPa]’ for cone tip resistance

  • ‘fs [MPa]’ for sleeve friction

  • ‘u2 [MPa]’ for pore pressure at cone shoulder

Note that cone tip resistance, sleeve friction and pore pressure at the shoulder all need to be converted to MPa. Multipliers can be specified if a conversion from kPa to MPa is required. Optional keyword arguments for the read_ags function in Pandas can be specified as **kwargs.

Parameters:
  • path – Path to the ags file

  • z_key – Column key for depth. Optional, default=None when ‘z [m]’ is the column key.

  • qc_key – Column key for cone tip resistance. Optional, default=None when ‘qc [MPa]’ is the column key.

  • fs_key – Column key for sleeve friction. Optional, default=None when ‘fs [MPa]’ is the column key.

  • u2_key – Column key for pore pressure at shoulder. Optional, default=None when ‘u2 [MPa]’ is the column key.

  • push_key – Column key for the current push (for downhole PCPT). Optional, default=None for a continuous push.

  • qc_multiplier – Multiplier applied on cone tip resistance to convert to MPa (e.g. 0.001 to convert from kPa to MPa)

  • fs_multiplier – Multiplier applied on sleeve friction to convert to MPa (e.g. 0.001 to convert from kPa to MPa)

  • u2_multiplier – Multiplier applied on pore pressure at shoulder to convert to MPa (e.g. 0.001 to convert from kPa to MPa)

  • add_zero_row – Boolean determining whether a datapoint needs to be added at zero depth.

  • ags_group – Name of the AGS group with the CPT data (default= "SCPT")

  • verbose_keys – Boolean for using verbose keys in the AGS converter (default=True)

  • use_shorthands – Boolean for using shorthands in the AGS converter (default=True)

  • kwargs – Optional keyword arguments for the read_excel function in Pandas (e.g. sheet_name, header, …)

Returns:

Sets the columns ‘z [m]’, ‘qc [MPa]’, ‘fs [MPa]’ and ‘u2 [MPa]’ of the .data attribute

load_asc(path, column_widths=[], skiprows=None, custom_headers=None, z_key=None, qc_key=None, fs_key=None, u2_key=None, push_key='Push', qc_multiplier=1, fs_multiplier=1, u2_multiplier=1, add_zero_row=True, **kwargs)[source]

Reads PCPT data from a Uniplot .asc file The widths of the columns for the .asc file need to be specified.

Parameters:
  • path – Path to the .asc file

  • column_widths – Column widths to use for the import (compulsory)

  • skiprows – Number of rows to skip (optional, default=None for auto-detection, depends on the occurence of ‘Data table’ in the file)

  • custom_headers – Custom headers to be used (default=None for auto-detection)

  • z_key – Column key for depth. Optional, default=None when ‘z [m]’ is the column key.

  • qc_key – Column key for cone tip resistance. Optional, default=None when ‘qc [MPa]’ is the column key.

  • fs_key – Column key for sleeve friction. Optional, default=None when ‘fs [MPa]’ is the column key.

  • u2_key – Column key for pore pressure at shoulder. Optional, default=None when ‘u2 [MPa]’ is the column key.

  • push_key – Column key for the current push (for downhole PCPT). Optional, default=None for a continuous push.

  • qc_multiplier – Multiplier applied on cone tip resistance to convert to MPa (e.g. 0.001 to convert from kPa to MPa)

  • fs_multiplier – Multiplier applied on sleeve friction to convert to MPa (e.g. 0.001 to convert from kPa to MPa)

  • u2_multiplier – Multiplier applied on pore pressure at shoulder to convert to MPa (e.g. 0.001 to convert from kPa to MPa)

  • add_zero_row – Boolean determining whether a datapoint needs to be added at zero depth.

  • kwargs – Optional keyword arguments for reading the datafile

Returns:

load_design_profile(design_data)[source]

Loads a design profile for the parameters available in the data attribute of the PCPTProcessing object. This design profile can then be plotted vs the PCPT data.

Parameters:

design_data – Pandas dataframe with design soil profile. Linear variation of numerical parameters is expected so for example, use columns Su from [kPa] and Su to [kPa]

Returns:

Sets the designprofile attribute of the PCPTProcessing object

load_excel(path, z_key=None, qc_key=None, fs_key=None, u2_key=None, push_key='Push', qc_multiplier=1, fs_multiplier=1, u2_multiplier=1, add_zero_row=True, **kwargs)[source]

Loads PCPT data from an Excel file. Specific column keys have to be provided for z, qc, fs and u2. If column keys are not specified, the following keys are used:

  • ‘z [m]’ for depth below mudline

  • ‘qc [MPa]’ for cone tip resistance

  • ‘fs [MPa]’ for sleeve friction

  • ‘u2 [MPa]’ for pore pressure at cone shoulder

Note that cone tip resistance, sleeve friction and pore pressure at the shoulder all need to be converted to MPa. Multipliers can be specified if a conversion from kPa to MPa is required. Optional keyword arguments for the read_excel function in Pandas can be specified as **kwargs.

Parameters:
  • path – Path to the Excel file

  • z_key – Column key for depth. Optional, default=None when ‘z [m]’ is the column key.

  • qc_key – Column key for cone tip resistance. Optional, default=None when ‘qc [MPa]’ is the column key.

  • fs_key – Column key for sleeve friction. Optional, default=None when ‘fs [MPa]’ is the column key.

  • u2_key – Column key for pore pressure at shoulder. Optional, default=None when ‘u2 [MPa]’ is the column key.

  • push_key – Column key for the current push (for downhole PCPT). Optional, default=None for a continuous push.

  • qc_multiplier – Multiplier applied on cone tip resistance to convert to MPa (e.g. 0.001 to convert from kPa to MPa)

  • fs_multiplier – Multiplier applied on sleeve friction to convert to MPa (e.g. 0.001 to convert from kPa to MPa)

  • u2_multiplier – Multiplier applied on pore pressure at shoulder to convert to MPa (e.g. 0.001 to convert from kPa to MPa)

  • add_zero_row – Boolean determining whether a datapoint needs to be added at zero depth.

  • kwargs – Optional keyword arguments for the read_excel function in Pandas (e.g. sheet_name, header, …)

Returns:

Sets the columns ‘z [m]’, ‘qc [MPa]’, ‘fs [MPa]’ and ‘u2 [MPa]’ of the .data attribute

load_gef(path, inverse_depths=False, override_title=True, z_key=None, qc_key=None, fs_key=None, u2_key=None, push_key='Push', qc_multiplier=1, fs_multiplier=1, u2_multiplier=1, add_zero_row=True, separator=' ', **kwargs)[source]

Reads PCPT data from a Geotechnical Exchange Format (.gef) file. The file is parsed using regular expressions to provide the necessary data. If location data is provided, this data is also

https://publicwiki.deltares.nl/download/attachments/102204314/GEFCR100.pdf?version=1&modificationDate=1411129283000&api=v2

Parameters:
  • path – Path to the .asc file

  • inverse_depths – Boolean indicating whether depths need to be inverted. A positive downward z-axis is expected.

  • override_title – Boolean indicating if the title specified needs to be replaced by the test id (default = True).

  • z_key – Column key for depth. Optional, default=None when ‘z [m]’ is the column key.

  • qc_key – Column key for cone tip resistance. Optional, default=None when ‘qc [MPa]’ is the column key.

  • fs_key – Column key for sleeve friction. Optional, default=None when ‘fs [MPa]’ is the column key.

  • u2_key – Column key for pore pressure at shoulder. Optional, default=None when ‘u2 [MPa]’ is the column key.

  • push_key – Column key for the current push (for downhole PCPT). Optional, default=None for a continuous push.

  • qc_multiplier – Multiplier applied on cone tip resistance to convert to MPa (e.g. 0.001 to convert from kPa to MPa)

  • fs_multiplier – Multiplier applied on sleeve friction to convert to MPa (e.g. 0.001 to convert from kPa to MPa)

  • u2_multiplier – Multiplier applied on pore pressure at shoulder to convert to MPa (e.g. 0.001 to convert from kPa to MPa)

  • add_zero_row – Boolean determining whether a datapoint needs to be added at zero depth.

  • separator – Separator used for the gef file (default is ' ')

  • kwargs – Optional keyword arguments for reading the datafile (using read_csv from Pandas)

Returns:

load_multi_asc(path, column_widths=[], skiprows=None, custom_headers=None, z_key=None, qc_key=None, fs_key=None, u2_key=None, push_key='Push', qc_multiplier=1, fs_multiplier=1, u2_multiplier=1, add_zero_row=True, start_string='Data table', end_string='UNICAS data file', **kwargs)[source]

Reads PCPT data from a Uniplot .asc file with multiple pushes The widths of the columns for the .asc file need to be specified.

Parameters:
  • path – Path to the .asc file

  • column_widths – Column widths to use for the import (compulsory)

  • skiprows – Number of rows to skip (optional, default=None for auto-detection, depends on the occurence of ‘Data table’ in the file)

  • custom_headers – Custom headers to be used (default=None for auto-detection)

  • z_key – Column key for depth. Optional, default=None when ‘z [m]’ is the column key.

  • qc_key – Column key for cone tip resistance. Optional, default=None when ‘qc [MPa]’ is the column key.

  • fs_key – Column key for sleeve friction. Optional, default=None when ‘fs [MPa]’ is the column key.

  • u2_key – Column key for pore pressure at shoulder. Optional, default=None when ‘u2 [MPa]’ is the column key.

  • push_key – Column key for the current push (for downhole PCPT). Optional, default=None for a continuous push.

  • qc_multiplier – Multiplier applied on cone tip resistance to convert to MPa (e.g. 0.001 to convert from kPa to MPa)

  • fs_multiplier – Multiplier applied on sleeve friction to convert to MPa (e.g. 0.001 to convert from kPa to MPa)

  • u2_multiplier – Multiplier applied on pore pressure at shoulder to convert to MPa (e.g. 0.001 to convert from kPa to MPa)

  • add_zero_row – Boolean determining whether a datapoint needs to be added at zero depth.

  • start_string – String showing the start of the data

  • end_string – String showing the end of the data

  • kwargs – Optional keyword arguments for reading the datafile

Returns:

load_multiple_asc(folder, column_widths=[], skiprows=None, custom_headers=None, z_key=None, qc_key=None, fs_key=None, u2_key=None, push_key='Push', qc_multiplier=1, fs_multiplier=1, u2_multiplier=1, **kwargs)[source]

A PCPT can be provided as multiple .asc files in one folder. This method loops over the individual files and creates a combined data attribute with PCPT data. The method assumes that all .asc files have the same format.

Parameters:
  • folder – Folder with the .asc files

  • column_widths – Column widths to use for the import (compulsory)

  • skiprows – Number of rows to skip (optional, default=None for auto-detection, depends on the occurence of ‘Data table’ in the file)

  • custom_headers – Custom headers to be used (default=None for auto-detection)

  • z_key – Column key for depth. Optional, default=None when ‘z [m]’ is the column key.

  • qc_key – Column key for cone tip resistance. Optional, default=None when ‘qc [MPa]’ is the column key.

  • fs_key – Column key for sleeve friction. Optional, default=None when ‘fs [MPa]’ is the column key.

  • u2_key – Column key for pore pressure at shoulder. Optional, default=None when ‘u2 [MPa]’ is the column key.

  • push_key – Column key for the current push (for downhole PCPT). Optional, default=None for a continuous push.

  • qc_multiplier – Multiplier applied on cone tip resistance to convert to MPa (e.g. 0.001 to convert from kPa to MPa)

  • fs_multiplier – Multiplier applied on sleeve friction to convert to MPa (e.g. 0.001 to convert from kPa to MPa)

  • u2_multiplier – Multiplier applied on pore pressure at shoulder to convert to MPa (e.g. 0.001 to convert from kPa to MPa)

  • kwargs – Optional keyword arguments for reading the datafiles

Returns:

Sets the data attribute of the PCPTProcessing object

load_pandas(df, z_key=None, qc_key=None, fs_key=None, u2_key=None, push_key='Push', qc_multiplier=1, fs_multiplier=1, u2_multiplier=1, add_zero_row=True)[source]

Loads PCPT from a Pandas dataframe. Specific column keys have to be provided for z, qc, fs and u2. If column keys are not specified, the following keys are used:

  • ‘z [m]’ for depth below mudline

  • ‘qc [MPa]’ for cone tip resistance

  • ‘fs [MPa]’ for sleeve friction

  • ‘u2 [MPa]’ for pore pressure at cone shoulder

Note that cone tip resistance, sleeve friction and pore pressure at the shoulder all need to be converted to MPa

Parameters:
  • df – Pandas dataframe with required column keys

  • z_key – Column key for depth. Optional, default=None when ‘z [m]’ is the column key.

  • qc_key – Column key for cone tip resistance. Optional, default=None when ‘qc [MPa]’ is the column key.

  • fs_key – Column key for sleeve friction. Optional, default=None when ‘fs [MPa]’ is the column key.

  • u2_key – Column key for pore pressure at shoulder. Optional, default=None when ‘u2 [MPa]’ is the column key.

  • push_key – Column key for the current push (for downhole PCPT). Optional, default=None for a continuous push.

  • qc_multiplier – Multiplier applied on cone tip resistance to convert to MPa (e.g. 0.001 to convert from kPa to MPa)

  • fs_multiplier – Multiplier applied on sleeve friction to convert to MPa (e.g. 0.001 to convert from kPa to MPa)

  • u2_multiplier – Multiplier applied on pore pressure at shoulder to convert to MPa (e.g. 0.001 to convert from kPa to MPa)

  • add_zero_row – Boolean determining whether a datapoint needs to be added at zero depth.

Returns:

Sets the columns ‘z [m]’, ‘qc [MPa]’, ‘fs [MPa]’ and ‘u2 [MPa]’ of the .data attribute

load_pydov(name, push_key='Push', add_zero_row=True, z_key='diepte', qc_key='qc', fs_key='fs', u2_key='u', qc_multiplier=1, fs_multiplier=0.001, u2_multiplier=0.001, **kwargs)[source]

Load CPT data from Databank Ondergrond Vlaanderen based on the unique CPT name which can be found in DOV :param name: Unique identifier of the CPT in pydov :return: Sets the data attribute of the PCPTProcessing object

map_properties(layer_profile, cone_profile=   Depth from [m]  ...  Sleeve cross-sectional area bottom [cm2] 0               0  ...                                       NaN  [1 rows x 8 columns], initial_vertical_total_stress=0, vertical_total_stress=None, vertical_effective_stress=None, waterlevel=0, extend_cone_profile=True, extend_layer_profile=True)[source]

Maps the soil properties defined in the layering and the cone properties to the grid defined by the cone data. The procedure also calculates the total and effective vertical stress. Note that pre-calculated arrays with total and effective vertical stress can also be supplied to the routine. These needs to have the same length as the array with PCPT depth data.

Parameters:
  • layer_profileSoilProfile object with the layer properties (need to contain the soil parameter Total unit weight [kN/m3]

  • cone_profileSoilProfile object with the cone properties (default=``DEFAULT_CONE_PROPERTIES``)

  • initial_vertical_total_stress – Initial vertical total stress at the highest point of the soil profile

  • vertical_total_stress – Pre-calculated total vertical stress at PCPT depth nodes (default=None which will lead to calculation of total stress inside the routine)

  • vertical_effective_stress – Pre-calculated effective vertical stress at PCPT depth nodes (default=None which will lead to calculation of total stress inside the routine)

  • waterlevel – Waterlevel [m] in the soil (measured from soil surface), default = 0m

  • extend_cone_profile – Boolean determining whether the cone profile needs to be extended to go to the bottom of the CPT (default = True)

  • extend_layer_profile – Boolean determining whether the layer profile needs to be extended to the bottom of the CPT (default = True)

Returns:

Expands the dataframe .data with additional columns for the cone and soil properties

normalise_pcpt(qc_for_rf=False)[source]

Carries out the necessary normalisation and correction on PCPT data to allow calculation of derived parameters and soil type classification.

First, the cone resistance is corrected for the unequal area effect using the cone area ratio. The correction for total sleeve friction is not included as it is more uncommon. The procedure assumes that the pore pressure are measured at the shoulder of the cone. If this is not the case, corrections can be used which are not included in this function.

During normalisation, the friction ratio and pore pressure ratio are calculated. Note that the total cone resistance is used for the friction ratio and pore pressure ratio calculation, the pore pressure ratio calculation also used the total vertical effective stress. The normalised cone resistance and normalised friction ratio are also calculated.

Finally the net cone resistance is calculated.

Note that the absence of pore water pressure measurements will lead to NaN values. Reasoning can be used (e.g. presence of rapidly draining layers) to edit the pore pressure data before running this method.

The total sleeve friction is also calculated. If the cross-sectional area of the friction sleeve is equal at the top and bottom of the sleeve, a correction is not required. This is the default behaviour (cross-sectional areas equal to NaN) but the areas can be entered to calculate the total sleeve friction.

\[ \begin{align}\begin{aligned}q_c = q_c^* + d \cdot a \cdot \gamma_w\\q_t = q_c + u_2 \cdot (1 - a)\\u_2 = u_2^* + \gamma_w \cdot d\\\Delta u_2 = u_2 - u_o\\R_f = \frac{f_s}{q_t}\\B_q = \frac{\Delta u_2}{q_t - \sigma_{vo}}\\Q_t = \frac{q_t - \sigma_{vo}}{\sigma_{vo}^{\prime}}\\F_r = \frac{f_s}{q_t - \sigma_{vo}}\\q_{net} = q_t - \sigma_{vo}\\f_t = f_s - u_2 \frac{A_{sb} - A_{st}}{A_s}\end{aligned}\end{align} \]
Parameters:

qc_for_rf – Boolean determining whether cone resistance instead of total cone resistance should be used for CPTs where pore pressures are not measured (default=False). If True, \(q_t\) is replaced by \(q_c\) in the formula for \(R_f\).

Returns:

Supplements the PCPT data (.data) with the normalised properties (column keys ‘qt [MPa]’, ‘Delta u2 [MPa]’, ‘Rf [%]’, ‘Bq [-]’, ‘Qt [-]’, ‘Fr [%]’, ‘qnet [MPa]’, ‘ft [MPa]’

plot_design_profile(prop_keys, design_keys, plot_ranges, plot_ticks, z_range=None, z_tick=2, legend_titles=None, axis_titles=None, plot_height=700, plot_width=1000, colors=None, design_color='red', design_dash='dot', return_fig=False, plot_title=None)[source]

Plots the soil and/or PCPT properties vs depth.

Parameters:
  • prop_keys – Tuple of tuples with the keys to be plotted. Keys in the same tuple are plotted on the same panel

  • design_keys – Tuple of tuples with the design profile keys to be plotted. Keys in the same tuple are plotted on the same panel (note that () is an empty tuple). The design keys need to be specified as for example Gmax [kPa] if the designprofile attribute contains keys Gmax from [kPa] and Gmax to [kPa]

  • plot_ranges – Tuple of tuples with ranges for the panels of the plot

  • plot_ticks – Tuple with tick intervals for the plot panels

  • z_range – Range for depths (optional, default is (0, maximum PCPT depth)

  • z_tick – Tick mark distance for PCPT (optional, default=2)

  • legend_titles – Tuple with entries to be used in the legend. If left blank, the keys are used

  • axis_titles – Tuple with entries to be used as axis labels. If left blank, the keys are used

  • plot_height – Height of the plot in pixels

  • plot_width – Width of the plot in pixels

  • colors – Color list to be used in the plotting panels

  • design_color – Color to be used for the design lines

  • design_dash – Dash style to be used for the design lines

  • return_fig – Boolean determining whether the figure is returned or the plot is generated; Default behaviour is to generate the plot.

  • plot_title – Plot title (optional, default=None for no title)

Returns:

Returns the figure if return_fig=True. Otherwise the plot is displayed.

plot_normalised_pcpt(qt_range=(0, 3), fr_range=(-1, 1), bq_range=(-0.6, 1.4), bq_tick=0.2, z_range=None, z_tick=2, plot_height=700, plot_width=1000, color=None, return_fig=False, plot_title=None)[source]

Plots the normalised PCPT properties vs depth.

Parameters:
  • qt_range – Range for Qt (optional, default is (0, 3) for 1 to 1000 on log scale)

  • fr_range – Range for Fr (optional, default is (-1, 1) for 0.1 to 10 on log scale)

  • bq_range – Range for Bq (optional, default is (-0.6, 1.4))

  • bq_tick – Tick mark interval for Bq (optional, default=0.2)

  • z_range – Range for depths (optional, default is (0, maximum PCPT depth)

  • z_tick – Tick mark distance for PCPT (optional, default=2)

  • plot_height – Height of the plot in pixels

  • plot_width – Width of the plot in pixels

  • return_fig – Boolean determining whether the figure is returned or the plot is generated; Default behaviour is to generate the plot.

  • plot_title – Plot title (optional, default=None for no title)

Returns:

Returns the figure if return_fig=True. Otherwise the plot is displayed.

plot_properties(prop_keys, plot_ranges, plot_ticks, z_range=None, z_tick=2, legend_titles=None, axis_titles=None, showlegends=None, plot_layers=True, plot_height=700, plot_width=1000, colors=None, return_fig=False, plot_title=None)[source]

Plots the soil and/or PCPT properties vs depth.

Parameters:
  • prop_keys – Tuple of tuples with the keys to be plotted. Keys in the same tuple are plotted on the same panel

  • plot_ranges – Tuple of tuples with ranges for the panels of the plot

  • plot_ticks – Tuple with tick intervals for the plot panels

  • z_range – Range for depths (optional, default is (0, maximum PCPT depth)

  • z_tick – Tick mark distance for PCPT (optional, default=2)

  • legend_titles – Tuple with entries to be used in the legend. If left blank, the keys are used

  • axis_titles – Tuple with entries to be used as axis labels. If left blank, the keys are used

  • showlegends – Array of booleans determining whether or not to show the trace in the legend

  • plot_layers – Boolean determining whether layers are plotted (default=True)

  • plot_height – Height of the plot in pixels

  • plot_width – Width of the plot in pixels

  • return_fig – Boolean determining whether the figure is returned or the plot is generated; Default behaviour is to generate the plot.

  • plot_title – Plot title (optional, default=None for no title)

Returns:

Returns the figure if return_fig=True. Otherwise the plot is displayed.

plot_properties_withlog(prop_keys, plot_ranges, plot_ticks, legend_titles=None, axis_titles=None, showfig=True, showlayers=True, **kwargs)[source]

Plots CPT properties vs depth and includes a mini-log on the left-hand side. The minilog is composed based on the entries in the Soil type column of the layering :param prop_keys: Tuple of tuples with the keys to be plotted. Keys in the same tuple are plotted on the same panel :param plot_ranges: Tuple of tuples with ranges for the panels of the plot :param plot_ticks: Tuple with tick intervals for the plot panels :param z_range: Range for depths (optional, default is (0, maximum PCPT depth) :param z_tick: Tick mark distance for PCPT (optional, default=2) :param legend_titles: Tuple with entries to be used in the legend. If left blank, the keys are used :param axis_titles: Tuple with entries to be used as axis labels. If left blank, the keys are used :param showfig: Boolean determining whether the figure needs to be shown in the notebook (default=True) :param showlayers: Boolean determining whether layer positions need to be plotted (default=True) :param **kwargs: Specify keyword arguments for the general.plotting.plot_with_log function :return: Plotly figure with mini-log

plot_raw_pcpt(qc_range=(0, 100), qc_tick=10, fs_range=(0, 1), fs_tick=0.1, u2_range=(-0.5, 2.5), u2_tick=0.5, z_range=None, z_tick=2, rf_range=(0, 5), rf_tick=0.5, show_hydrostatic=True, plot_friction_ratio=False, friction_ratio_panel=3, plot_height=700, plot_width=1000, return_fig=False, plot_title=None, plot_margin={'b': 50, 'l': 50, 't': 100}, color=None, hydrostaticcolor=None, show_hydrostatic_legend=False, waterlevel_override=0)[source]

Plots the raw PCPT data using the Plotly package. This generates an interactive plot.

Parameters:
  • qc_range – Range for the cone tip resistance (default=(0, 100MPa))

  • qc_tick – Tick interval for the cone tip resistance (default=10MPa)

  • fs_range – Range for the sleeve friction (default=(0, 1MPa))

  • fs_tick – Tick interval for sleeve friction (default=0.1MPa)

  • u2_range – Range for the pore pressure at the shoulder (default=(-0.1, 0.5MPa))

  • u2_tick – Tick interval for the pore pressure at the shoulder (default=0.05MPa)

  • z_range – Range for the depth (default=None for plotting from zero to maximum cone penetration)

  • z_tick – Tick interval for depth (default=2m)

  • show_hydrostatic – Boolean determining whether hydrostatic pressure is shown on the pore pressure plot panel

  • rf_range – Range for the friction ratio, if used (default=None for plotting from zero to 5%)

  • rf_tick – Tick interval for friction ratio, if used (default=0.5%)

  • show_hydrostatic – Boolean determining whether hydrostatic pressure is shown on the pore pressure plot panel

  • plot_friction_ratio – Boolean determining whether friction ratio needs to be plotted (default=False)

  • friction_ratio_panel – Panel for plotting friction ratio (default=3 for pore pressure panel). Only used when plot_friction_ratio=True

  • plot_height – Height for the plot (default=700px)

  • plot_width – Width for the plot (default=1000px)

  • return_fig – Boolean determining whether the figure needs to be returned (True) or plotted (False)

  • plot_title – Plot for the title (default=None)

  • plot_margin – Margin for the plot (default=dict(t=100, l=50, b=50))

  • color – Color to be used for plotting (default=None for default plotly colors)

  • color – Color to be used for plotting the hydrostatic pressure (default=None for default plotly colors)

  • show_hydrostatic_legend – Boolean determining whether to show the hydrostatic pressure in the legend

  • waterlevel_override – If a waterlevel is not specified in a soil profile which is mapped to the CPT, this can be used to get the water table at the correct elevation (default=0m for water level at the surface, >0 for water level below groundlevel)

Returns:

plot_robertson_chart(start_depth=None, end_depth=None, qt_range=(0, 3), fr_range=(-1, 1), bq_range=(-0.6, 1.4), bq_tick=0.2, plot_height=700, plot_width=1000, return_fig=False, plot_title=None, backgroundimagedir='')[source]

Plots the normalised PCPT points in the Robertson chart to distinguish the soil type. The display can be limited to a specific depth range (by specifying start_depth and end_depth. The color coding is based on the layer. :return: Returns the figure if return_fig=True. Otherwise the plot is displayed.

to_excel(output_path)[source]

Write the PCPT object to an Excel file. The Excel file contains multiple sheet for the location, layer data, cone properties and raw data.

Parameters:

output_path – A valid path to the output .xlsx file (include the file suffix).

Returns:

The file is written to the specified location

to_json(write_file=False, output_path=None)[source]

Write the PCPT object to a JSON file. JSON can either be returned or a JSON file can be written.

Parameters:
  • write_file – Boolean determining whether a file is written or not (default=False). If True, a file is written to output_path

  • output_path – A valid path to the output .json file (include the file suffix).

Returns:

If no file is returned, the JSON containing the location and data of the PCPT is returned.