-
Notifications
You must be signed in to change notification settings - Fork 98
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
Remove read.cep() from vegan? #263
Comments
Now it is official, and I got this email from CRAN:
|
The consensus after email correspondence was that it would be useful to retain capability of reading legacy CEP and CANOCO files. B.D.Ripley hinted in an email that CRAN could accept a separate package if we remove Fortran I/O from vegan. We wrote package cepreader, but it was not accepted in CRAN (it was neither rejected, but it just vanished into CRAN bin). Now I try to rescue the functionality by re-writing all in branch R-read.cep in R only. This will fail in more complicated cases that can be handled in cepreader, but we can have this function in vegan, and point to cepreader in case this fails. |
This sounds good to me Jari. |
I have now implemented I have tried this with the legacy CEP files I had laying around among my files, and the new file worked with all these. There are some quirks and problems with the new R code:
I have merged the changes in the |
version 2.4-6 was pushed to CRAN today without Fortran I/O code. |
We have had function
read.cep()
to read legacy CEP-style ("Canoco") files in vegan since 2003. These files (exceptfree
format versions) use old FORTRAN format string to define the input. The only practical way I know to interpret this format and read in the data is to use FORTRAN code. For instance, base R functionread.fortran()
cannot interpret and use this format. It seems that FORTRAN input is blacklisted in current R devel, at least since commitr74028 | ripley | 2018-01-03 11:33:13 +0200 (Wed, 03 Jan 2018)
, and these NOTEs appear in CRAN tests. This is a similar note is from my own desktop:* checking compiled code ... NOTE File ‘vegan/libs/vegan.so’: Found ‘_gfortran_st_close’, possibly from ‘close’ (Fortran) Object: ‘cepin.o’ Found ‘_gfortran_st_open’, possibly from ‘open’ (Fortran) Object: ‘cepin.o’ Found ‘_gfortran_st_read’, possibly from ‘read’ (Fortran) Object: ‘cepin.o’ Compiled code should not call entry points which might terminate R nor write to stdout/stderr instead of to the console, nor use Fortran I/O nor system RNGs.
So the question is: do we need function to read legacy CEP files or should we remove the function?
I personally have these files, and occasionally come across such files, but that is not a problem to me, because I can have a non-CRAN function to read them. How useful this function is in modern times? When I added this function back in February 2003, it was a critical piece to help people to migrate to R and vegan, but it was a long ago.
The text was updated successfully, but these errors were encountered: