Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error with Warren_root solution #4

Open
Hydro-Josh opened this issue Feb 15, 2024 · 2 comments
Open

Error with Warren_root solution #4

Hydro-Josh opened this issue Feb 15, 2024 · 2 comments

Comments

@Hydro-Josh
Copy link

Hydro-Josh commented Feb 15, 2024

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'
@khaors
Copy link
Owner

khaors commented Feb 15, 2024 via email

@Hydro-Josh
Copy link
Author

Dear Oscar,

Thanks for your quick reply!
In what time frame can I expect you to improve it :)

Already big thanks for the improvement.

regards,
Joshua

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants