welltestpy.estimate.ExtThiem2D

class ExtThiem2D(name, campaign, make_steady=True, val_ranges=None, val_fix=None, val_fit_type=None, val_fit_name=None, testinclude=None, generate=False)[source]

Bases: SteadyPumping

Class for an estimation of stochastic subsurface parameters.

With this class you can run an estimation of statistical subsurface parameters. It utilizes the extended Thiem solution in 2D which assumes a log-normal distributed transmissivity field with a gaussian correlation function.

Available values for fitting:

  • trans_gmean: geometric mean transmissivity

  • var: variance of log-transmissivity

  • len_scale: correlation length scale of log-transmissivity

Parameters
  • name (str) – Name of the Estimation.

  • campaign (welltestpy.data.Campaign) – The pumping test campaign which should be used to estimate the parameters

  • make_steady (bool, optional) – State if the tests should be converted to steady observations. See: PumpingTest.make_steady. Default: True

  • val_ranges (dict, optional) – Dictionary containing the fit-ranges for each value in the type-curve. Names should be as in the type-curve signature. Ranges should be a tuple containing min and max value. Will default to default_ranges

  • val_fix (dict, optional) – Dictionary containing fixed values for the type-curve. Names should be as in the type-curve signature. Default: None

  • val_fit_type (dict, optional) – Dictionary containing fitting transformation type for each value. Names should be as in the type-curve signature. val_fit_type can be “lin”, “log”, “exp”, “sqrt”, “quad”, “inv” or a tuple of two callable functions where the first is the transformation and the second is its inverse. “log” is for example equivalent to (np.log, np.exp). By default, transmissivity will be fitted logarithmically and other values linearly. Default: None

  • val_fit_name (dict, optional) – Display name of the fitting transformation. Will be the val_fit_type string if it is a predefined one, or f if it is a given callable as default for each value. Default: None

  • testinclude (dict, optional) – Dictionary of which tests should be included. If None is given, all available tests are included. Default: None

  • generate (bool, optional) – State if time stepping, processed observation data and estimation setup should be generated with default values. Default: False

Methods

gen_data()

Generate the observed drawdown.

gen_setup([prate_kw, rad_kw, r_ref_kw, ...])

Generate the Spotpy Setup.

run([rep, parallel, run, folder, dbname, ...])

Run the estimation.

sensitivity([rep, parallel, folder, dbname, ...])

Run the sensitivity analysis.

setpumprate([prate])

Set a uniform pumping rate at all pumpingwells wells.

gen_data()

Generate the observed drawdown.

It will also generate an array containing all radii of all well combinations.

gen_setup(prate_kw='rate', rad_kw='rad', r_ref_kw='r_ref', h_ref_kw='h_ref', dummy=False)

Generate the Spotpy Setup.

Parameters
  • prate_kw (str, optional) – Keyword name for the pumping rate in the used type curve. Default: “rate”

  • rad_kw (str, optional) – Keyword name for the radius in the used type curve. Default: “rad”

  • r_ref_kw (str, optional) – Keyword name for the reference radius in the used type curve. Default: “r_ref”

  • h_ref_kw (str, optional) – Keyword name for the reference head in the used type curve. Default: “h_ref”

  • dummy (bool, optional) – Add a dummy parameter to the model. This could be used to equalize sensitivity analysis. Default: False

run(rep=5000, parallel='seq', run=True, folder=None, dbname=None, traceplotname=None, fittingplotname=None, interactplotname=None, estname=None, plot_style='WTP')

Run the estimation.

Parameters
  • rep (int, optional) – The number of repetitions within the SCEua algorithm in spotpy. Default: 5000

  • parallel (str, optional) –

    State if the estimation should be run in parallel or not. Options:

    • "seq": sequential on one CPU

    • "mpi": use the mpi4py package

    Default: "seq"

  • run (bool, optional) – State if the estimation should be executed. Otherwise all plots will be done with the previous results. Default: True

  • folder (str, optional) – Path to the output folder. If None the CWD is used. Default: None

  • dbname (str, optional) – File-name of the database of the spotpy estimation. If None, it will be the current time + "_db". Default: None

  • traceplotname (str, optional) – File-name of the parameter trace plot of the spotpy estimation. If None, it will be the current time + "_paratrace.pdf". Default: None

  • fittingplotname (str, optional) – File-name of the fitting plot of the estimation. If None, it will be the current time + "_fit.pdf". Default: None

  • interactplotname (str, optional) – File-name of the parameter interaction plot of the spotpy estimation. If None, it will be the current time + "_parainteract.pdf". Default: None

  • estname (str, optional) – File-name of the results of the spotpy estimation. If None, it will be the current time + "_estimate". Default: None

  • plot_style (str, optional) – Plot style. The default is “WTP”.

sensitivity(rep=None, parallel='seq', folder=None, dbname=None, plotname=None, traceplotname=None, sensname=None, plot_style='WTP')

Run the sensitivity analysis.

Parameters
  • rep (int, optional) – The number of repetitions within the FAST algorithm in spotpy. Default: estimated

  • parallel (str, optional) –

    State if the estimation should be run in parallel or not. Options:

    • "seq": sequential on one CPU

    • "mpi": use the mpi4py package

    Default: "seq"

  • folder (str, optional) – Path to the output folder. If None the CWD is used. Default: None

  • dbname (str, optional) – File-name of the database of the spotpy estimation. If None, it will be the current time + "_sensitivity_db". Default: None

  • plotname (str, optional) – File-name of the result plot of the sensitivity analysis. If None, it will be the current time + "_sensitivity.pdf". Default: None

  • traceplotname (str, optional) – File-name of the parameter trace plot of the spotpy sensitivity analysis. If None, it will be the current time + "_senstrace.pdf". Default: None

  • sensname (str, optional) – File-name of the results of the FAST estimation. If None, it will be the current time + "_estimate". Default: None

  • plot_style (str, optional) – Plot style. The default is “WTP”.

setpumprate(prate=-1.0)

Set a uniform pumping rate at all pumpingwells wells.

We assume linear scaling by the pumpingrate.

Parameters

prate (float, optional) – Pumping rate. Default: -1.0

campaign

Copy of the input campaign to be modified

Type

welltestpy.data.Campaign

campaign_raw

Copy of the original input campaign

Type

welltestpy.data.Campaign

data

observation data

Type

numpy.ndarray

default_ranges = {'len_scale': (1, 50), 'trans_gmean': (1e-07, 0.2), 'var': (0, 10)}

Default value ranges for the estimator.

Type

dict

estimated_para

estimated parameters by name

Type

dict

h_ref

reference head at the biggest distance

Type

float

name

Name of the Estimation

Type

str

prate

Pumpingrate at the pumping well

Type

float

r_ref

reference radius of the biggest distance

Type

float

rad

array of the radii from the wells

Type

numpy.ndarray

radnames

names of the radii well combination

Type

numpy.ndarray

result

result of the spotpy estimation

Type

list

rinf

radius of the furthest wells

Type

float

rwell

radius of the pumping wells

Type

float

sens

result of the spotpy sensitivity analysis

Type

dict

setup_kw

TypeCurve Spotpy Setup definition

Type

dict

testinclude

dictionary of which tests should be included

Type

dict