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

Published: 5 January 2022| Version 2 | DOI: 10.17632/fh5xv7d3zg.2
Eunhee Lee,


This program (TASHAn, Transient Analysis Step-drawdown test by Hyowon An) was developed for the interpretation of the step-drawdown test data. Original source code was written using Python software ( The program can calculate hydraulic parameters (T, r2S, P, C, a, RMSE) from the transient step-drawdown test. (where 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 refer to An et al. (2022). The datasets below 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. 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) Load the source code ( using Python. 2) There are several modules included in this Code (numpy, lnfit and openpyxl). You can install these modules before running the code. 3) For parameter optimization, this code uses iterative solver. Therefore, the ranges and initial values for each parameter should be assigned before running the model. You can adjust these parameters by revising 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. An H, Ha K, Lee E (2022) Transient analysis of a step-drawdown test using a time-varying well-loss equation, Hydrogeol J. 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