WellTestPY—处理基础良好的现场活动的软件包。

welltestp的Python项目详细描述


欢迎来到Welltestpy

DOIPyPI versionBuild StatusDocumentation StatusCode style: black

WellTestPy-LOGO

目的

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()

这将给出以下曲线图:

Wells

Pumptest

活动存储在名为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",)

这将给出以下曲线图:

Fit

Trace

Interaction

结果是:

  • 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年

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么我们不能将ArrayList<Integer>传递给具有(Integer…)的方法参数   java Spring RestTemplate映射JSON对映射的响应引发不匹配的PutException   在系统中找到java Selenium元素,但在Jenkins中未找到   java在Android中使用JavaMail API发送电子邮件,而不使用默认/内置应用程序   数组如何在Java数据结构中同时存储数字和相应的单词?   为什么“+”运算符未定义?JAVA   java如何在游戏中添加高分系统?   java在球门碰撞中区分球和球员   java如何使用SpringSecurity4.0.1使用Auth令牌实现Rest完整Web服务。释放   java如何解决这个错误:Android资源链接失败?   java多线程文件处理和数据库批插入   导致Tomcat失败的java无用块线程   java主线程做了太多的工作,尽管我使用了异步线程(laggy UI)   在Java FX 2.0中滚动锚定节点时,锚定始终可见?   java使用EJB3中的客户机jar和设计模式