Hi Hypolais and list,
We're very open to making the source code public again, and will do so when time allows. Meantime I'm happy to send it to anyone who asks. It is written mostly in FORTRAN 77 with a small piece of FORTRAN 90. However, you should be aware of one fundamental limitation in using it: compiling it requires a commercial numerical library (the IMSL Fortran Library) -- we have permission to distribute the software for free with the routine we use from this library compiled in, but not to distribute the library itself.
Given the above, it one possibly simpler options would be for you to call the Distance or mrds packages in R from Python (I believe the Python package rpy2 https://rpy2.github.io/ enables this). Even simpler would be to work in R rather than Python ;)
I'm happy to correspond further with you off-list, and we can post back to the list whatever solution we come up with.
Best wishes, Len Thomas
On 30/01/2021 13:49, Hypolais Polyglotte wrote:
Hello.
As already explained last year, I'm currently developing a python library to make it simpler and safer to run numerous CDS analyses (Distance is great, but not that easy when you want to run numerous identical analyses (same parameters, at least tens) on multiple samples (tens or hundreds)), while keeping at the same time manual access to all the analyses results and especially output curves for keeping an eye on what's happening (statistically and "birdly" speaking).
Of course, this library is based on calls of the MCDS executable shipped with Distance 7.3 (the file has this timestamp : 2014-03-27, and it is version 6.2.0 according to the log files).
It works great under windows (7, 10) but I'd like to port it to NATIVE Linux (avoiding virtualisation software for obvious simplicity and performances reasons).
So ... would it be possible to get access to MCDS 6.2 source code in order to compile it under Linux ?
Of course, I would give you back any script or makefile that I would build for that (my work has no commercial purpose at all, only for "science", in my free time, for a small cummunity of French Massif Central birders).
And I would also strictly follow your instructions, whatever they are, about how this source code, or else MCDS linux binary, could be shared (or not) with my fellow birders and "distance samplers".
Thanks in advance for your help.
Jean-Philippe MEURET
(long time professional developer and data analyst, free time birder and "distance sampler" in Clermont-Ferrand, France).
PS: I know that older versions of MCDS have been released as source code ... but they are too old :-)
--
You received this message because you are subscribed to the Google Groups "distance-sampling" group.
To unsubscribe from this group and stop receiving emails from it, send an email to distance-sampl...@googlegroups.com <mailto:distance-sampl...@googlegroups.com>.
To view this discussion on the web visit https://groups.google.com/d/msgid/distance-sampling/CAP00E0EA6d71Dwe4pHbX5WifS9pcYOS0wZ6p3GarjPLasKYf_Q%40mail.gmail.com <https://groups.google.com/d/msgid/distance-sampling/CAP00E0EA6d71Dwe4pHbX5WifS9pcYOS0wZ6p3GarjPLasKYf_Q%40mail.gmail.com?utm_medium=email&utm_source=footer>.
-- Bonjour . A bientôt. Jean-Philippe.
Mei-Ling
Thanks for your question; we received a very similar question via Github a month ago asking for confidence intervals for Effective Detection Radius for point counts. Getting confidence intervals for Effective Strip Width is a bit simpler, because the output from the 'ds()' function provides you with measures of precision for P_a. The coefficient of variation (CV) for P_a and ESW are identical.
Here is the rest of the calculation to produce the confidence interval bounds from the result of a call to the 'ds()' function
alpha <- 0.05
conv <- convert_units("meter", "kilometer", "square
kilometer")
data("LTExercise")
d <- ds(LTExercise, convert.units = conv)
sumd <- summary(d)
p_a <- sumd$ds$average.p
se.p_a <- sumd$ds$average.p.se
cv.p_a <- se.p_a / p_a
w <- sumd$ds$width
esw <- p_a * w
degfree <- sumd$ds$n - length(sumd$ddf$par)
t.crit <- qt(1 - alpha/2, degfree)
se.log.esw <- sqrt(log(1 + cv.p_a^2))
c.mult <- exp(t.crit * se.log.esw)
(ci.esw <- c(esw / c.mult, esw * c.mult))
--
You received this message because you are subscribed to the Google Groups "distance-sampling" group.
To unsubscribe from this group and stop receiving emails from it, send an email to distance-sampl...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/distance-sampling/CAESF0TJZLY%2BiM4jfOiAYF8ccd48W%2BbOtpfD5-nuST4C4O10mrQ%40mail.gmail.com.
-- Eric Rexstad Centre for Ecological and Environmental Modelling University of St Andrews St Andrews is a charity registered in Scotland SC013532