welltestpy.estimate.Theis
- class Theis(name, campaign, val_ranges=None, val_fix=None, val_fit_type=None, val_fit_name=None, testinclude=None, generate=False)[source]
Bases:
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.
Available values for fitting:
transmissivity
: transmissivitystorage
: storage
- Parameters
name (
str
) – Name of the Estimation.campaign (
welltestpy.data.Campaign
) – The pumping test campaign which should be used to estimate the parametersval_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_rangesval_fix (
dict
, optional) – Dictionary containing fixed values for the type-curve. Names should be as in the type-curve signature. Default: Noneval_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 and storage will be fitted logarithmically. Default: Noneval_fit_name (
dict
, optional) – Display name of the fitting transformation. Will be the val_fit_type string if it is a predefined one, orf
if it is a given callable as default for each value. Default: Nonetestinclude (
dict
, optional) – Dictionary of which tests should be included. IfNone
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()
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)
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, 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. IfNone
the CWD is used. Default:None
dbname (
str
, optional) – File-name of the database of the spotpy estimation. IfNone
, it will be the current time +"_db"
. Default:None
traceplotname (
str
, optional) – File-name of the parameter trace plot of the spotpy estimation. IfNone
, it will be the current time +"_paratrace.pdf"
. Default:None
fittingplotname (
str
, optional) – File-name of the fitting plot of the estimation. IfNone
, it will be the current time +"_fit.pdf"
. Default:None
interactplotname (
str
, optional) – File-name of the parameter interaction plot of the spotpy estimation. IfNone
, it will be the current time +"_parainteract.pdf"
. Default:None
estname (
str
, optional) – File-name of the results of the spotpy estimation. IfNone
, 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: estimatedparallel (
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. IfNone
the CWD is used. Default:None
dbname (
str
, optional) – File-name of the database of the spotpy estimation. IfNone
, it will be the current time +"_sensitivity_db"
. Default:None
plotname (
str
, optional) – File-name of the result plot of the sensitivity analysis. IfNone
, 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. IfNone
, it will be the current time +"_senstrace.pdf"
. Default:None
sensname (
str
, optional) – File-name of the results of the FAST estimation. IfNone
, 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
- settime(time=None, tmin=10.0, tmax=inf, typ='quad', steps=10)
Set uniform time points for the observations.
- Parameters
time (
numpy.ndarray
, optional) – Array of specified time points. IfNone
is given, they will be determined 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
orfloat
, 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 behaviorfloat
: 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
Copy of the input campaign to be modified
- campaign_raw
Copy of the original input campaign
- data
observation data
- Type
- default_ranges = {'storage': (2e-06, 0.4), 'transmissivity': (1e-07, 0.2)}
Default value ranges for the estimator.
- Type
- rad
array of the radii from the wells
- Type
- radnames
names of the radii well combination
- Type
- time
time points of the observation
- Type