Note
Go to the end to download the full example code
Estimate homogeneous parameters
Here we estimate transmissivity and storage from a pumping test campaign with the classical theis solution.
import welltestpy as wtp
campaign = wtp.load_campaign("Cmp_UFZ-campaign.cmp")
estimation = wtp.estimate.Theis("Estimate_theis", campaign, generate=True)
estimation.run()
Initializing the Shuffled Complex Evolution (SCE-UA) algorithm with 5000 repetitions
The objective function will be minimized
Starting burn-in sampling...
Initialize database...
['csv', 'hdf5', 'ram', 'sql', 'custom', 'noData']
* Database file '/home/docs/checkouts/readthedocs.org/user_builds/welltestpy/checkouts/latest/examples/Estimate_theis/2023-04-18_09-58-22_db.csv' created.
Burn-in sampling completed...
Starting Complex Evolution...
ComplexEvo loop #1 in progress...
ComplexEvo loop #2 in progress...
ComplexEvo loop #3 in progress...
ComplexEvo loop #4 in progress...
ComplexEvo loop #5 in progress...
ComplexEvo loop #6 in progress...
ComplexEvo loop #7 in progress...
ComplexEvo loop #8 in progress...
ComplexEvo loop #9 in progress...
ComplexEvo loop #10 in progress...
ComplexEvo loop #11 in progress...
ComplexEvo loop #12 in progress...
ComplexEvo loop #13 in progress...
ComplexEvo loop #14 in progress...
ComplexEvo loop #15 in progress...
ComplexEvo loop #16 in progress...
ComplexEvo loop #17 in progress...
ComplexEvo loop #18 in progress...
ComplexEvo loop #19 in progress...
ComplexEvo loop #20 in progress...
THE POPULATION HAS CONVERGED TO A PRESPECIFIED SMALL PARAMETER SPACE
SEARCH WAS STOPPED AT TRIAL NUMBER: 2706
NUMBER OF DISCARDED TRIALS: 0
NORMALIZED GEOMETRIC RANGE = 0.000706
THE BEST POINT HAS IMPROVED IN LAST 100 LOOPS BY 100000.000000 PERCENT
*** Final SPOTPY summary ***
Total Duration: 0.64 seconds
Total Repetitions: 2706
Minimal objective value: 77.2517
Corresponding parameter setting:
transmissivity: -9.21583
storage: -9.10167
******************************
Best parameter set:
transmissivity=-9.215828396011176, storage=-9.101673860745393
In addition, we run a sensitivity analysis, to get an impression of the impact of each parameter
estimation.sensitivity()
Initializing the Fourier Amplitude Sensitivity Test (FAST) with 260 repetitions
Starting the FAST algotrithm with 260 repetitions...
Creating FAST Matrix
Initialize database...
['csv', 'hdf5', 'ram', 'sql', 'custom', 'noData']
* Database file '/home/docs/checkouts/readthedocs.org/user_builds/welltestpy/checkouts/latest/examples/Estimate_theis/2023-04-18_09-58-25_sensitivity_db.csv' created.
*** Final SPOTPY summary ***
Total Duration: 0.08 seconds
Total Repetitions: 260
Minimal objective value: 516.425
Corresponding parameter setting:
transmissivity: -9.03998
storage: -9.9678
Maximal objective value: 2.77063e+06
Corresponding parameter setting:
transmissivity: -15.8137
storage: -11.467
******************************
260
Total running time of the script: ( 0 minutes 3.639 seconds)