WellTestPY—处理基础良好的现场活动的软件包。
welltestp的Python项目详细描述
欢迎来到Welltestpy
目的
WellTestPy提供了一个框架来处理和绘制来自基于良好的现场活动的数据,以及一个数据解释模块。
安装
您可以使用以下命令安装最新版本:
pip install welltestpy
Welltestpy的文档
您可以在geostat-framework.readthedocs.io下找到文档。
示例1:创建包含泵送测试
的活动在下面的一个简单的抽水试验是用人工降深数据创建的 由THEIS解决方案生成。
importnumpyasnpimportwelltestpyaswtpimportanaflowasana### create the field-site and the campaignfield=wtp.data.FieldSite(name="UFZ",coordinates=[51.353839,12.431385])campaign=wtp.data.Campaign(name="UFZ-campaign",fieldsite=field)### add 4 wells to the campaigncampaign.add_well(name="well_0",radius=0.1,coordinates=(0.,0.))campaign.add_well(name="well_1",radius=0.1,coordinates=(1.,-1.))campaign.add_well(name="well_2",radius=0.1,coordinates=(2.,2.))campaign.add_well(name="well_3",radius=0.1,coordinates=(-2.,-1.))### generate artificial drawdown data with the Theis solutionprate=-1e-4time=np.geomspace(10,7200,10)transmissivity=1e-4storage=1e-4rad=[campaign.wells["well_0"].radius,# well radius of well_0campaign.wells["well_0"]-campaign.wells["well_1"],# distance between 0-1campaign.wells["well_0"]-campaign.wells["well_2"],# distance between 0-2campaign.wells["well_0"]-campaign.wells["well_3"],# distance between 0-3]drawdown=ana.theis(rad=rad,time=time,T=transmissivity,S=storage,Qw=prate,)### create a pumping test at well_0pumptest=wtp.data.PumpingTest(name="well_0",pumpingwell="well_0",pumpingrate=prate,description="Artificial pump test with Theis",)### add the drawdown observation at the 4 wellspumptest.add_transient_obs("well_0",time,drawdown[:,0])pumptest.add_transient_obs("well_1",time,drawdown[:,1])pumptest.add_transient_obs("well_2",time,drawdown[:,2])pumptest.add_transient_obs("well_3",time,drawdown[:,3])### add the pumping test to the campaigncampaign.addtests(pumptest)### plot the well constellation and a test overviewcampaign.plot_wells()campaign.plot()### save the whole campaigncampaign.save()
这将给出以下曲线图:
活动存储在名为Cmp_UFZ-campaign.cmp
例2:估计透射率和存储率
现在可以加载示例1中的抽水试验,并用于估计 透射率和存储率。
importwelltestpyaswtpcampaign=wtp.data.load_campaign("Cmp_UFZ-campaign.cmp")estimation=wtp.estimate.Theisest("Estimate_theis",campaign)estimation.setpumprate()estimation.settime()estimation.genrtdata()estimation.run(dbname="database",plotname1="paratrace.pdf",plotname2="fit_plot.pdf",plotname3="parainteract.pdf",estname="estimation.txt",)
这将给出以下曲线图:
结果是:
ln(T) = -9.22
相当于T = 0.99 * 10^-4 m^2/s
ln(S) = -9.10
相当于S = 1.11 * 10^-4
提供的子包
welltestpy.data# Subpackage to handle data from field campaignswelltestpy.estimate# Subpackage to estimate field parameterswelltestpy.process# Subpackage to pre- and post-process datawelltestpy.tools# Subpackage with miscellaneous tools
要求
联系人
你可以通过info@geostat-framework.org联系我们。
许可证
GPL©2018-2019年