[R] R vs Fortran

Mike Prager Mike.Prager at noaa.gov
Thu Oct 3 19:24:28 CEST 2002


[This was sent to Robin earlier and is posted here in case any others are 
interested in modern Fortran.]


At 09:38 AM 10/03/2002 +1200, Robin Hankin wrote:

>I work in computational fluid dynamics in 2D: I have a 200-by-200
>array of fluid properties such as density and velocity and these
>evolve in time (the precise equations depend on the problem).
>Up to now, I've been using Fortran and the code is very very messy.

>[...]

>flux =  ( r*right(u) + right(r)*u ) /2
>
>[where right <- function(x){cbind(x[,-1],NA)} ]

Just to remind you, you can do this kind of thing in modern 
Fortran.  Intrinsic vector and matrix operations have been available in the 
Fortran language for about ten years (since Fortran 90).  In my experience, 
Fortran is usually much faster than R.  It will probably be easier to port 
your code to modern Fortran than to C and its derivatives, and also less 
error prone.

If the code is messy, why not clean it up?  It is possible to write good 
code, and messy code, in any language.

Some comparisons of Fortran and C++, and information on modern Fortran as a 
scientific programming language, can be found at

http://www.cts.com.au/compare.html

http://citeseer.nj.nec.com/cache/papers/cs/7409/http:zSzzSzwww.cs.colorado.eduzSz~zornzSzcs5535zSzFall-1995zSzprojectszSzwharton.pdf/wharton95should.pdf

http://www.kcl.ac.uk/kis/support/cit/fortran/f90home.html

http://www.ibiblio.org/pub/languages/fortran/ch1-2.html


Whatever path you choose, good luck!



-- 
Michael Prager      <Mike.Prager at noaa.gov>
NOAA Center for Coastal Fisheries and Habitat Research
Beaufort, North Carolina  28516  USA
http://shrimp.ccfhrb.noaa.gov/~mprager/

Standard Disclaimers:
* Opinions expressed here are personal and are not otherwise represented.
* Any use of tradenames does not constitute a NOAA or NMFS endorsement.

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._



More information about the R-help mailing list