welltestpy.estimate.SteadyPumping
- class SteadyPumping(name, campaign, type_curve, val_ranges, make_steady=True, val_fix=None, val_fit_type=None, val_fit_name=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 parameterstype_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 signature. 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: Trueval_fix (
dict
orNone
) – Dictionary containing fixed values for the type-curve. Names should be as in the type-curve signature. Default: Noneval_fit_type (
dict
orNone
) – 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, values will be fitted linear. Default: Noneval_fit_name (
dict
orNone
) – 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: Noneval_plot_names (
dict
orNone
) –Dictionary containing keyword names in the type-curve for each value.
{value-name: string for plot legend}
This is useful to get better plots. By default, parameter names will be value names. Default: None
testinclude (
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.
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, plot_style='WTP')[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. 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')[source]
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)[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
Copy of the input campaign to be modified
- campaign_raw
Copy of the original input campaign
- data
observation data
- Type
- rad
array of the radii from the wells
- Type
- radnames
names of the radii well combination
- Type