welltestpy.estimate

welltestpy subpackage providing routines to estimate pump test parameters.

Estimators

The following estimators are provided

ExtTheis3D(name, campaign[, val_ranges, …]) Class for an estimation of stochastic subsurface parameters.
ExtTheis2D(name, campaign[, val_ranges, …]) Class for an estimation of stochastic subsurface parameters.
Neuman2004(name, campaign[, val_ranges, …]) Class for an estimation of stochastic subsurface parameters.
Theis(name, campaign[, val_ranges, val_fix, …]) Class for an estimation of homogeneous subsurface parameters.
ExtThiem3D(name, campaign[, make_steady, …]) Class for an estimation of stochastic subsurface parameters.
ExtThiem2D(name, campaign[, make_steady, …]) Class for an estimation of stochastic subsurface parameters.
Neuman2004Steady(name, campaign[, …]) Class for an estimation of stochastic subsurface parameters.
Thiem(name, campaign[, make_steady, …]) Class for an estimation of homogeneous subsurface parameters.

Base Classes

Transient

All transient estimators are derived from the following class

TransientPumping(name, campaign, type_curve, …) Class to estimate transient Type-Curve parameters.

Steady Pumping

All steady estimators are derived from the following class

SteadyPumping(name, campaign, type_curve, …) Class to estimate steady Type-Curve parameters.
class ExtTheis3D(name, campaign, val_ranges=None, val_fix=None, testinclude=None, generate=False)[source]

Bases: welltestpy.estimate.transient_lib.TransientPumping

Class for an estimation of stochastic subsurface parameters.

With this class you can run an estimation of statistical subsurface parameters. It utilizes the extended theis solution in 3D which assumes a log-normal distributed transmissivity field with a gaussian correlation function and an anisotropy ratio 0 < e <= 1.

Parameters:
  • name (str) – Name of the Estimation.
  • campaign (welltestpy.data.Campaign) – The pumping test campaign which should be used to estimate the paramters
  • val_ranges (dict) – Dictionary containing the fit-ranges for each value in the type-curve. Names should be as in the type-curve signiture or replaced in val_kw_names. Ranges should be a tuple containing min and max value.
  • val_fix (dict or None) – Dictionary containing fixed values for the type-curve. Names should be as in the type-curve signiture or replaced in val_kw_names. Default: None
  • testinclude (dict, optional) – dictonary 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 at given time points.
gen_setup([prate_kw, rad_kw, time_kw, dummy]) 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.
settime([time, tmin, tmax, typ, steps]) Set uniform time points for the observations.
class ExtTheis2D(name, campaign, val_ranges=None, val_fix=None, testinclude=None, generate=False)[source]

Bases: welltestpy.estimate.transient_lib.TransientPumping

Class for an estimation of stochastic subsurface parameters.

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

Parameters:
  • name (str) – Name of the Estimation.
  • campaign (welltestpy.data.Campaign) – The pumping test campaign which should be used to estimate the paramters
  • val_ranges (dict) – Dictionary containing the fit-ranges for each value in the type-curve. Names should be as in the type-curve signiture or replaced in val_kw_names. Ranges should be a tuple containing min and max value.
  • val_fix (dict or None) – Dictionary containing fixed values for the type-curve. Names should be as in the type-curve signiture or replaced in val_kw_names. Default: None
  • testinclude (dict, optional) – dictonary 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 at given time points.
gen_setup([prate_kw, rad_kw, time_kw, dummy]) 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.
settime([time, tmin, tmax, typ, steps]) Set uniform time points for the observations.
class Neuman2004(name, campaign, val_ranges=None, val_fix=None, testinclude=None, generate=False)[source]

Bases: welltestpy.estimate.transient_lib.TransientPumping

Class for an estimation of stochastic subsurface parameters.

With this class you can run an estimation of statistical subsurface parameters. It utilizes the apparent Transmissivity from Neuman 2004 which assumes a log-normal distributed transmissivity field with an exponential correlation function.

Parameters:
  • name (str) – Name of the Estimation.
  • campaign (welltestpy.data.Campaign) – The pumping test campaign which should be used to estimate the paramters
  • val_ranges (dict) – Dictionary containing the fit-ranges for each value in the type-curve. Names should be as in the type-curve signiture or replaced in val_kw_names. Ranges should be a tuple containing min and max value.
  • val_fix (dict or None) – Dictionary containing fixed values for the type-curve. Names should be as in the type-curve signiture or replaced in val_kw_names. Default: None
  • testinclude (dict, optional) – dictonary 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 at given time points.
gen_setup([prate_kw, rad_kw, time_kw, dummy]) 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.
settime([time, tmin, tmax, typ, steps]) Set uniform time points for the observations.
class Theis(name, campaign, val_ranges=None, val_fix=None, testinclude=None, generate=False)[source]

Bases: welltestpy.estimate.transient_lib.TransientPumping

Class for an estimation of homogeneous subsurface parameters.

With this class you can run an estimation of homogeneous subsurface parameters. It utilizes the theis solution.

Parameters:
  • name (str) – Name of the Estimation.
  • campaign (welltestpy.data.Campaign) – The pumping test campaign which should be used to estimate the paramters
  • val_ranges (dict) – Dictionary containing the fit-ranges for each value in the type-curve. Names should be as in the type-curve signiture or replaced in val_kw_names. Ranges should be a tuple containing min and max value.
  • val_fix (dict or None) – Dictionary containing fixed values for the type-curve. Names should be as in the type-curve signiture or replaced in val_kw_names. Default: None
  • testinclude (dict, optional) – dictonary 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 at given time points.
gen_setup([prate_kw, rad_kw, time_kw, dummy]) 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.
settime([time, tmin, tmax, typ, steps]) Set uniform time points for the observations.
class ExtThiem3D(name, campaign, make_steady=True, val_ranges=None, val_fix=None, testinclude=None, generate=False)[source]

Bases: welltestpy.estimate.steady_lib.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 3D which assumes a log-normal distributed transmissivity field with a gaussian correlation function and an anisotropy ratio 0 < e <= 1.

Parameters:
  • name (str) – Name of the Estimation.
  • campaign (welltestpy.data.Campaign) – The pumping test campaign which should be used to estimate the paramters
  • make_steady (bool, optional) – State if the tests should be converted to steady observations. See: PumpingTest.make_steady. Default: True
  • val_ranges (dict) – Dictionary containing the fit-ranges for each value in the type-curve. Names should be as in the type-curve signiture or replaced in val_kw_names. Ranges should be a tuple containing min and max value.
  • val_fix (dict or None) – Dictionary containing fixed values for the type-curve. Names should be as in the type-curve signiture or replaced in val_kw_names. Default: None
  • testinclude (dict, optional) – dictonary 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.
class ExtThiem2D(name, campaign, make_steady=True, val_ranges=None, val_fix=None, testinclude=None, generate=False)[source]

Bases: welltestpy.estimate.steady_lib.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.

Parameters:
  • name (str) – Name of the Estimation.
  • campaign (welltestpy.data.Campaign) – The pumping test campaign which should be used to estimate the paramters
  • make_steady (bool, optional) – State if the tests should be converted to steady observations. See: PumpingTest.make_steady. Default: True
  • val_ranges (dict) – Dictionary containing the fit-ranges for each value in the type-curve. Names should be as in the type-curve signiture or replaced in val_kw_names. Ranges should be a tuple containing min and max value.
  • val_fix (dict or None) – Dictionary containing fixed values for the type-curve. Names should be as in the type-curve signiture or replaced in val_kw_names. Default: None
  • testinclude (dict, optional) – dictonary 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.
class Neuman2004Steady(name, campaign, make_steady=True, val_ranges=None, val_fix=None, testinclude=None, generate=False)[source]

Bases: welltestpy.estimate.steady_lib.SteadyPumping

Class for an estimation of stochastic subsurface parameters.

With this class you can run an estimation of statistical subsurface parameters from steady drawdown. It utilizes the apparent Transmissivity from Neuman 2004 which assumes a log-normal distributed transmissivity field with an exponential correlation function.

Parameters:
  • name (str) – Name of the Estimation.
  • campaign (welltestpy.data.Campaign) – The pumping test campaign which should be used to estimate the paramters
  • make_steady (bool, optional) – State if the tests should be converted to steady observations. See: PumpingTest.make_steady. Default: True
  • val_ranges (dict) – Dictionary containing the fit-ranges for each value in the type-curve. Names should be as in the type-curve signiture or replaced in val_kw_names. Ranges should be a tuple containing min and max value.
  • val_fix (dict or None) – Dictionary containing fixed values for the type-curve. Names should be as in the type-curve signiture or replaced in val_kw_names. Default: None
  • testinclude (dict, optional) – dictonary 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.
class Thiem(name, campaign, make_steady=True, val_ranges=None, val_fix=None, testinclude=None, generate=False)[source]

Bases: welltestpy.estimate.steady_lib.SteadyPumping

Class for an estimation of homogeneous subsurface parameters.

With this class you can run an estimation of homogeneous subsurface parameters. It utilizes the thiem solution.

Parameters:
  • name (str) – Name of the Estimation.
  • campaign (welltestpy.data.Campaign) – The pumping test campaign which should be used to estimate the paramters
  • make_steady (bool, optional) – State if the tests should be converted to steady observations. See: PumpingTest.make_steady. Default: True
  • val_ranges (dict) – Dictionary containing the fit-ranges for each value in the type-curve. Names should be as in the type-curve signiture or replaced in val_kw_names. Ranges should be a tuple containing min and max value.
  • val_fix (dict or None) – Dictionary containing fixed values for the type-curve. Names should be as in the type-curve signiture or replaced in val_kw_names. Default: None
  • testinclude (dict, optional) – dictonary 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.
class TransientPumping(name, campaign, type_curve, val_ranges, val_fix=None, fit_type=None, val_kw_names=None, val_plot_names=None, testinclude=None, generate=False)[source]

Bases: object

Class to estimate transient Type-Curve parameters.

Parameters:
  • name (str) – Name of the Estimation.
  • campaign (welltestpy.data.Campaign) – The pumping test campaign which should be used to estimate the paramters
  • type_curve (callable) – The given type-curve. Output will be reshaped to flat array.
  • val_ranges (dict) – Dictionary containing the fit-ranges for each value in the type-curve. Names should be as in the type-curve signiture or replaced in val_kw_names. Ranges should be a tuple containing min and max value.
  • val_fix (dict or None) – Dictionary containing fixed values for the type-curve. Names should be as in the type-curve signiture or replaced in val_kw_names. Default: None
  • fit_type (dict or None) – Dictionary containing fitting type for each value in the type-curve. Names should be as in the type-curve signiture or replaced in val_kw_names. fit_type can be “lin”, “log” (np.exp(val) will be used) or a callable function. By default, values will be fit linearly. Default: None
  • val_kw_names (dict or None) –

    Dictionary containing keyword names in the type-curve for each value.

    {value-name: kwargs-name in type_curve}

    This is usefull if fitting is not done by linear values. By default, parameter names will be value names. Default: None

  • val_plot_names (dict or None) –

    Dictionary containing keyword names in the type-curve for each value.

    {value-name: string for plot legend}

    This is usefull to get better plots. By default, parameter names will be value names. Default: None

  • testinclude (dict, optional) – dictonary 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 at given time points.
gen_setup([prate_kw, rad_kw, time_kw, dummy]) 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.
settime([time, tmin, tmax, typ, steps]) Set uniform time points for the observations.
gen_data()[source]

Generate the observed drawdown at given time points.

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

gen_setup(prate_kw='rate', rad_kw='rad', time_kw='time', dummy=False)[source]

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”
  • time_kw (str, optional) – Keyword name for the time in the used type curve. Default: “time”
  • 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)[source]

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
sensitivity(rep=None, parallel='seq', folder=None, dbname=None, plotname=None, traceplotname=None, sensname=None)[source]

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
setpumprate(prate=-1.0)[source]

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
settime(time=None, tmin=10.0, tmax=inf, typ='quad', steps=10)[source]

Set uniform time points for the observations.

Parameters:
  • time (numpy.ndarray, optional) – Array of specified time points. If None is given, they will be determind by the observation data. Default: None
  • tmin (float, optional) – Minimal time value. It will set a minimal value of 10s. Default: 10
  • tmax (float, optional) – Maximal time value. Default: inf
  • typ (str or float, optional) –

    Typ of the time selection. You can select from:

    • "exp": for exponential behavior
    • "log": for logarithmic behavior
    • "geo": for geometric behavior
    • "lin": for linear behavior
    • "quad": for quadratic behavior
    • "cub": for cubic behavior
    • float: here you can specifi any exponent (“quad” would be equivalent to 2)

    Default: “quad”

  • steps (int, optional) – Number of generated time steps. Default: 10
campaign = None

Copy of the input campaign to be modified

Type:welltestpy.data.Campaign
campaign_raw = None

Copy of the original input campaign

Type:welltestpy.data.Campaign
data = None

observation data

Type:numpy.ndarray
estimated_para = None

estimated parameters by name

Type:dict
name = None

Name of the Estimation

Type:str
prate = None

Pumpingrate at the pumping well

Type:float
rad = None

array of the radii from the wells

Type:numpy.ndarray
radnames = None

names of the radii well combination

Type:numpy.ndarray
result = None

result of the spotpy estimation

Type:list
rinf = None

radius of the furthest wells

Type:float
rwell = None

radius of the pumping wells

Type:float
sens = None

result of the spotpy sensitivity analysis

Type:dict
setup_kw = None

TypeCurve Spotpy Setup definition

Type:dict
testinclude = None

dictonary of which tests should be included

Type:dict
time = None

time points of the observation

Type:numpy.ndarray
class SteadyPumping(name, campaign, type_curve, val_ranges, make_steady=True, val_fix=None, fit_type=None, val_kw_names=None, val_plot_names=None, testinclude=None, generate=False)[source]

Bases: object

Class to estimate steady Type-Curve parameters.

Parameters:
  • name (str) – Name of the Estimation.
  • campaign (welltestpy.data.Campaign) – The pumping test campaign which should be used to estimate the paramters
  • type_curve (callable) – The given type-curve. Output will be reshaped to flat array.
  • val_ranges (dict) – Dictionary containing the fit-ranges for each value in the type-curve. Names should be as in the type-curve signiture or replaced in val_kw_names. Ranges should be a tuple containing min and max value.
  • make_steady (bool, optional) – State if the tests should be converted to steady observations. See: PumpingTest.make_steady. Default: True
  • val_fix (dict or None) – Dictionary containing fixed values for the type-curve. Names should be as in the type-curve signiture or replaced in val_kw_names. Default: None
  • fit_type (dict or None) – Dictionary containing fitting type for each value in the type-curve. Names should be as in the type-curve signiture or replaced in val_kw_names. fit_type can be “lin”, “log” (np.exp(val) will be used) or a callable function. By default, values will be fit linearly. Default: None
  • val_kw_names (dict or None) –

    Dictionary containing keyword names in the type-curve for each value.

    {value-name: kwargs-name in type_curve}

    This is usefull if fitting is not done by linear values. By default, parameter names will be value names. Default: None

  • val_plot_names (dict or None) –

    Dictionary containing keyword names in the type-curve for each value.

    {value-name: string for plot legend}

    This is usefull to get better plots. By default, parameter names will be value names. Default: None

  • testinclude (dict, optional) – dictonary 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()[source]

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)[source]

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)[source]

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
sensitivity(rep=None, parallel='seq', folder=None, dbname=None, plotname=None, traceplotname=None, sensname=None)[source]

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
setpumprate(prate=-1.0)[source]

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 = None

Copy of the input campaign to be modified

Type:welltestpy.data.Campaign
campaign_raw = None

Copy of the original input campaign

Type:welltestpy.data.Campaign
data = None

observation data

Type:numpy.ndarray
estimated_para = None

estimated parameters by name

Type:dict
h_ref = None

reference head at the biggest distance

Type:float
name = None

Name of the Estimation

Type:str
prate = None

Pumpingrate at the pumping well

Type:float
r_ref = None

reference radius of the biggest distance

Type:float
rad = None

array of the radii from the wells

Type:numpy.ndarray
radnames = None

names of the radii well combination

Type:numpy.ndarray
result = None

result of the spotpy estimation

Type:list
rinf = None

radius of the furthest wells

Type:float
rwell = None

radius of the pumping wells

Type:float
sens = None

result of the spotpy sensitivity analysis

Type:dict
setup_kw = None

TypeCurve Spotpy Setup definition

Type:dict
testinclude = None

dictonary of which tests should be included

Type:dict