Numerical code (Python) for transient analysis of step-drawdown test

Published: 14 July 2021| Version 1 | DOI: 10.17632/fh5xv7d3zg.1
Eunhee Lee,


This program (TASHAn, Transient Analysis Step-drawdown test by Hyowon An) was developed for the interpretation of the step-drawdown test data. This program was created using Python. You can download the software from This program was developed to calculate hydraulic parameters (T, r2S, P, C, a, RMSE) of the transient step-drawdown test. (T: aquifer transmissivity, r: well radius, S: aquifer storativity, P: well loss power, C: well loss coefficient, a: transient well loss shape factor.) Governing equations explaining T, r, S, P and C can be found from previous studies including Jacob (1947). For more information of transient well loss shape factor, please contact This datasets include three files (input.xlsx,, output.xlsx). The data in the input.xlsx was referred from Clark (1977). Description of each file is as follows: 1. input.xlsx 1) The 'input.xlsx' includes observed drawdowns[m], elapsed time[min] from the start of step-drawdown test, the number of total test steps[-] and pumping rate[m3/day] for each step. For example, the column 'B' indicates the elapsed time during the first step of the step-drawdown test and the column 'C' is for the observed drawdown during step 1. Column 'D' and 'E' are reserved for the elapsed time and drawdowns during the step 2. 2) The cell 'P1' is for assigning the number of total steps of the test and the cell 'P2~P7' is for assigning the average pumping rate for each step. 3) This version of code can evaluate the step-drawdown test with the maximum step number of six. If you have test data with five steps, you can leave as blank for the column 'L' and 'M'. 4) If the step-drawdown test includes some bad data and 'null' data, please fill these cells with value of zero '0'. Then, the code automatically skips these values. If you fill any cells outside the black line, the code could have errors. 2. 1) If you had to install Python or Editor, run it and load the source code ( 2) There are several modules included in this Code (numpy, lnfit and openpyxl). You can install these modules before running the code. 3) For the parameter optimization, this code uses iterative solver. Therefore, the ranges and initial values for each parameter should be assigned before running the model. If you wish to adjust these parameters, you can revise them in the source code ('line 346 ~ 349'.). If the initial values of the model is too high or low, the analysis result could be unreasonable. *When you running the '', the 'input.xlsx' and 'output.xlsx' must be closed. 3. output.xlsx If you can change the file name in 'line 399' Reference. Clark L (1977) The analysis and planning of step drawdown tests, Q J Eng Geol Hydrogeol. 10(2):125-143 Jacob CE (1947) Drawdown test to determine effective radius of artesian well, Trans Am Soc Civ Eng. 112(1):1047-1064



Korea Institute of Geoscience and Mineral Resources


Groundwater, Hydrogeology, Aquifer Characteristics