Coder Social home page Coder Social logo

khaors / pumpingtest Goto Github PK

View Code? Open in Web Editor NEW
11.0 7.0 3.0 5.1 MB

pumpingtest is a R package designed for the analysis and evaluation of aquifer tests in wells. The package includes the most common analytical solutions used to describe groundwater flow in different types of aquifers around wells.

R 81.78% C++ 18.22%
well-testing pumping-test hydrogeology aquifer aquifer-parameters r data-analysis groundwater groundwater-data

pumpingtest's People

Contributors

khaors avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

pumpingtest's Issues

Error in fitting a hantush_jacob model

When I tried to fit the attached pumping test using the following code

library(pumpingtest)
D <- read.csv("Cuche.csv", h = T)
ptest <- pumping_test("Cuche", Q = .00349, r = 0.3, t = D$t, s = D$s)
additional.parameters(ptest) <- list(B=20)
ptest.fit <- fit(ptest,"hantush_jacob")

I get the following error:

Error in model.frame.default(formula = ~s + ptest + t, data = drawdown_curve) : 
  invalid type (list) for variable 'ptest'

Cuche.zip

Error with Warren_root solution

Dear Oscar,

Your R-script for analysing the drawdown curves looks amazing, thanks for this. However I do get an error for the warren_root solution.
I first tried it with the example on the https://khaors.github.io/pumpingtest/articles/intro_pumpingtest.html#references, where the Theis well-function is used. This function works properly, also on my own data, but the data doesn't fit correctly to a Theis function, because of the expected dual porosity properties of the subsurface.

Next I tried to analyse the example data for the warren_root. Sadly it gives an error where it states:

ptest.fit <- fit(ptest, "warren_root")
Error: warren_root_well_function: sigma is less than 0

So apparently something went wrong. I found out that the bug is found in the function "warren_root_solution_dlogt", where t0>t1 which can of course not be true. when i manually changed the t0 and t1 the code functioned well.
Pumping_test.csv

In the attachments, I attached the script that I used. I hope you can find where I made a misstep.
I also attached one of my own datasets, could you maybe test whether it would be possible to also do the warren_root test with this one?

I hope I have sufficiently outlined the problem, and that you could help me with my questions.
In advance big thanks for your reply.

this Is the code I used:

rm(list=ls())

data("warren_root")

ptest <- pumping_test("Warren_root", Q = 3.58e-2, r = 0.11, t = warren_root$t, s = warren_root$s)

p1 <- plot(ptest)
## Joining, by = c("t", "s", "variable")
print(p1)



# Diagnostic Plots
# The diagnostic plot is the default option in the plot function, 
# in which the derivative of the drawdown with respect to the logarithm of time is calculated via central differences. 
# The drawdown derivative is very sensitive to the noise present in the drawdown measurements and therefore it is advisable to create the diagnostic plot using different derivative types. 
# In this case, four types of derivatives are used in the diagnostic plots:

p.central <- plot(ptest, dmethod = "central") +
  theme(legend.position="bottom")
p.horner <- plot(ptest, dmethod = "horner") +
  theme(legend.position="bottom")
p.bourdet <- plot(ptest, dmethod = "bourdet", d = 2) +
  theme(legend.position="bottom")
p.spline <- plot(ptest, dmethod = "spline", d = 20) +
  theme(legend.position="bottom")
## Joining, by = c("t", "s", "variable")
p.diagnostic <- grid.arrange(p.central, p.horner, p.bourdet, p.spline, 
                             nrow = 2)
print(p.diagnostic)

ptest <- na.omit(ptest)

###Parameter estimation### 
ptest.fit <- fit(ptest, "warren_root")
ptest.fit$parameters
ptest.fit$hydraulic_parameters

#Parameterise the estimated Parameters
Tr <- ptest.fit$hydraulic_parameters$Tr
Ss <- ptest.fit$hydraulic_parameters$Ss
Ri <- ptest.fit$hydraulic_parameters$radius_influence

hydraulic.parameters(ptest) <- ptest.fit$hydraulic_parameters
fit.parameters(ptest) <- ptest.fit$parameters
model(ptest) <- "cooper_jacob"
estimated(ptest) <- TRUE
p.estimation <- plot(ptest, type = "estimation", dmethod = "spline", 
                     d = 30) 
## Joining, by = c("t", "s", "variable")
print(p.estimation)

p.mod.diag <- plot(ptest, type = 'model.diagnostic')
## Joining, by = c("t", "s", "variable")
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'

Documentation document missing?

Hi,

I just downloaded your really nice code for pumping testing.
However, I think the link to the documentation might be broken, as it loops back to the same page?

Best wishes
B

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.