liquepy.field

liquepy.field.cpt_file

class liquepy.field.cpt_file.CPT(depth, q_c, f_s, u_2, gwl, a_ratio=None, folder_path='<path-not-set>', file_name='<name-not-set>', delimiter=';')[source]

Bases: object

property q_t

Pore pressure corrected cone tip resistance

liquepy.field.cpt_file.load_cpt_from_file(ffp, delimiter=';')[source]
liquepy.field.cpt_file.load_mpa_cpt_file(ffp, delimiter=',', a_ratio_override=None)[source]

liquepy.field.correlations

liquepy.field.correlations.calc_g0_mod_boulanger_and_ziotopoulou_2015_spt_values(n_1_60)[source]

Calculate the normalised shear modulus [Boulanger:2017pm4_v3p1]

n_1_60: array_like

Corrected normalised SPT values

array_like

liquepy.field.correlations.calc_q_c1n_via_inverse_d_r_boulanger_et_al_2014(d_r, c_dq=0.9)[source]

Table 4.1 in PM4Sand v3.1 manual

d_r: array_like

Relative density

c_dq: float, default=0.9 (from [Idriss:2008ua])

Correlation factor, (range 0.64-155 from Salgado (1997)

array_like

liquepy.field.correlations.calc_relative_density_boulanger_et_al_2014_cpt_values(q_c1n, c_dq=0.9)[source]

Table 4.1 in PM4Sand v3.1 manual

q_c1n: array_like

Normalised cone penetration resistance

c_dq: float, default=0.9 (from [Idriss:2008ua])

Correlation factor, (range 0.64-1.55 from Salgado (1997)

array_like

liquepy.field.correlations.calc_relative_density_idriss_and_boulanger_2008_spt_values(n_1_60, c_d=46)[source]

Calculate the relative density from SPT normalised blow count (Eq. 35 [Idriss:2008ua])

n_1_60: array_like

Corrected normalised SPT values

c_d: float

Correlation factor, default=46 (from [Idriss:2008ua]) other proposals:

  • Meyerhof (1957): 41

  • Skempton (1986): 55 fine and 65 coarse natural norm-consolidated sand, 35 lab, 40 recent fills

  • Cubrinovski and Ishihara (1999): 51 clean sand, 26 silty sand, 39 all samples

array_like

liquepy.field.correlations.calc_relative_density_salgado_et_al_1997_cpt_values(q_c1n, c_dq=0.9)[source]

Eq. 95 in PM4Sand v3.1 manual

q_c1n: array_like

Normalised cone penetration resistance

c_dq: float, default=0.9 (from [Idriss:2008ua])

Correlation factor, (range 0.64-155 from Salgado (1997)

array_like

liquepy.field.correlations.calc_shear_vel_andrus_and_stokoe_2000_spt_values(n_1_60)[source]

Eq 98 in Pm4Sand v3.1 manual

Parameters

n_1_60

Returns

float or array_like

liquepy.field.correlations.calc_shear_vel_mcgann_2015_cpt(cpt)[source]

Computes the shear wave velocity profile according to [McGann:2015fd]

cpt: liquepy.field.CPT object

array_like

Shear wave velocity profile corresponding to the depths in the CPT.

liquepy.field.correlations.est_g0_mod_robertson_2009(i_c, big_q, unit_weight, esig_v, pa=101000, n=0.5)[source]

Set normalised shear modulus using Robertson (2009).

liquepy.field.correlations.est_g_mod_robertson_2009(i_c, big_q, unit_weight)[source]

Set normalised shear modulus using Robertson (2009).

liquepy.field.correlations.est_permeability_robertson_and_cabal_2012(i_c)[source]

Estimates the soil permeability based on the soil behaviour index :cite: Robertson:2012cpt

i_c: float or array_like

liquepy.field.correlations.est_shear_vel_hegazy_and_mayne_2006(q_c1n, i_c, esig_v0, p_a)[source]

Estimates the soil shear wave velocity from CPT :cite: Hegazy:2012bs

Eq 6.

q_c1n i_c esig_v0 p_a

liquepy.field.correlations.est_undrained_strength_ratio_robertson_2009(big_q, n_kt=14)[source]

determine normalised undrained strength using Robertson (2009).

liquepy.field.correlations.set_strength_props(sl, vert_eff_stress, i_c, big_q, n_kt=14)[source]

liquepy.field.transect

class liquepy.field.transect.Loc(**kwargs)[source]

Bases: sfsimodels.models.abstract_models.CustomObject

add_to_dict(models_dict, parent_dict, **kwargs)[source]
base_type = 'loc'
property cpt
property soil_profile
property soil_profile_id
to_dict(extra=(), **kwargs)[source]
type = 'transect_location'
class liquepy.field.transect.Transect(**kwargs)[source]

Bases: sfsimodels.models.abstract_models.CustomObject

add_cpt(cpt, x, **kwargs)[source]
add_cpt_by_coords(cpt, coords, **kwargs)[source]
add_loc(x: float, loc)[source]
add_loc_by_coords(coords, loc)[source]
add_to_dict(models_dict)[source]
base_type = 'transect'
datum = 'top of face'
property end
get_cpt_names()[source]
get_loc_by_dist(dist)[source]
get_loc_by_name(name)[source]
loc(index)[source]
property locs
remove_loc(loc_int)[source]
replace_loc(loc_int, soil)[source]
reset_cpt_folder_paths(folder_path)[source]
set_ids()[source]
property start
to_dict(extra=(), **kwargs)[source]
property tran_line
type = 'transect'
property x_end

liquepy.field.nzgd_cpt_converter

liquepy.field.nzgd_cpt_converter.clean_top(df_top)[source]

Removes empty data at top of file

Parameters

df_top

Returns

liquepy.field.nzgd_cpt_converter.convert_ags(ffp, out_fp, verbose=0)[source]
liquepy.field.nzgd_cpt_converter.convert_file(ffp, out_fp, verbose=0)[source]

Converts a CPT from the NZGD into the standard liquepy format.

This solves the problem of dealing with multiple different file formats by converting to a single format.

The additional metadata is mostly maintained in the file.

Algorithm works by trial and error:
  • Many different converters have been written to convert from an existing format to the liquepy format

  • This algorithm cycles through each converter and tries to recognise the existing file format

    and then apply the conversion

  • if the file is different to the expected existing format then the conversion will fail and another converter is

    attempted

  • if successful, then the converter function name that was successful is returned

  • if unsuccessful, then ‘NONE’ is returned

The liquepy format is a simple standard format.

  • File is saved as a CSV

  • all units in metres and MPa.

  • CPT measurements start at line 25

  • Comma separation using ‘,’

  • First 23 lines contain meta data

  • Pre-drill depth is defined in meta data as ‘Pre-Drill:,<pre-drill depth>,’

  • Ground water level is defined in meta data as ‘Assumed GWL:,<ground water depth>,’

  • Cone area ratio is defined in meta data as ‘aratio,<cone area ratio>,’

  • Second line of metadata contains name of converter function (useful for debugging)

Parameters
  • ffp – str Full file path to original CPT file

  • out_fp – str Output folder path where formatted CPT file should be saved

  • verbose – bool or int if true then print to algorithm steps to console

Returns

liquepy.field.nzgd_cpt_converter.convert_folder(in_fp, out_fp, verbose=0)[source]

Reads through a folder of NZGD CPT files and converts them to liquepy format

Parameters
  • in_fp – str Folder path of existing NZGD CPT files

  • out_fp – str Folder path where formatted NZGD files should be saved

  • verbose – int or bool if true then print to algorithm steps to console

Returns

liquepy.field.nzgd_cpt_converter.convert_fugro_raw01(ffp, out_fp, verbose=0)[source]
liquepy.field.nzgd_cpt_converter.convert_raw01_extra_cols(ffp, out_fp, verbose=0)[source]
liquepy.field.nzgd_cpt_converter.convert_raw01_fugro_v2(ffp, out_fp, verbose=0)[source]
liquepy.field.nzgd_cpt_converter.convert_raw01_fugro_xls_v3(ffp, out_fp, verbose=0)[source]
liquepy.field.nzgd_cpt_converter.convert_raw01_w_kpa(ffp, out_fp, verbose=0)[source]
liquepy.field.nzgd_cpt_converter.convert_raw01_w_meta_on_right(ffp, out_fp, verbose=0)[source]
liquepy.field.nzgd_cpt_converter.convert_raw01_w_underscores(ffp, out_fp, verbose=0)[source]
liquepy.field.nzgd_cpt_converter.convert_raw01_xls(ffp, out_fp, verbose=0)[source]
liquepy.field.nzgd_cpt_converter.convert_raw01_xls_v2(ffp, out_fp, verbose=0)[source]
liquepy.field.nzgd_cpt_converter.convert_raw01_xls_v3(ffp, out_fp, verbose=0)[source]
liquepy.field.nzgd_cpt_converter.convert_raw01_xlsx(ffp, out_fp, verbose=0)[source]
liquepy.field.nzgd_cpt_converter.convert_raw01_xlsx_from_csv(ffp, out_fp, verbose=0)[source]
liquepy.field.nzgd_cpt_converter.convert_raw01_xlsx_space_sep(ffp, out_fp, verbose=0)[source]
liquepy.field.nzgd_cpt_converter.convert_raw01_xlsx_v2(ffp, out_fp, verbose=0)[source]
liquepy.field.nzgd_cpt_converter.convert_raw02_xlsx_or_raw_03_xls(ffp, out_fp, verbose=0)[source]
liquepy.field.nzgd_cpt_converter.convert_raw_txt_xlsx(ffp, out_fp, verbose=0)[source]
liquepy.field.nzgd_cpt_converter.convert_shortened_ags(ffp, out_fp, verbose=0)[source]
liquepy.field.nzgd_cpt_converter.convert_tabulated_kpas(ffp, out_fp, verbose=0)[source]
liquepy.field.nzgd_cpt_converter.trim_missing_at_end_data_df(df_data, neg_lim=None)[source]

Removes rows at end of file that have empty data

Parameters
  • df_data

  • neg_lim

Returns