Re: [R] Calling R from fortran

From: Michael Prager <Mike.Prager_at_noaa.gov>
Date: Wed 13 Jul 2005 - 09:56:39 EST

Simon,

An hour's worth of contour plots (12) should be able to be saved in far less than 1 Gb, depending on the detail desired.

Here is one way to do your task. There are other, and probably better, ones.

At each time step (5 mins), you could have the Fortran program write a data file and then write and execute a script file. The script file would call R as a batch process to make a contour graph and save it (as PNG perhaps), and then the script would delete the data file. You might want to have the generated script files omit the "delete" step once per hour, just in case the R step should fail when you are not around to observe the failure.

I don't know if R can easily read Fortran unformatted (sometimes called "binary") data, or how. That would speed up the Fortran I/O and possibly reduce file size. If you go with formatted output, consider limiting the number of decimal places you write to save disk space. In most applications, you won't need great precision for simply making graphs. Also, for writing large amounts of data, test various block sizes on the Fortran OPEN statement to get best I/O speed.

Another possibility would be to use a Fortran library (like the free or inexpensive DISLIN) that can make the contour plots directly, without using R.

...Mike

simon wrote on 7/12/2005 4:02 PM:

>Hi,
>The following may sound stupid so please forgive my stupidness. I have a
>question which I don't know how to name it so I have to start from the
>beginning. In an attempt to gain better understand how a photochemical
>air qaulity model works, I plotted hourly ozone concentration contour
>from the model's standard output to observe the changes in simulation.
>Because the model actually peroform simulation in time steps of 5
>minutes, it will give a better resoultion if I can plot the ozone
>concentration with time resolution close to the model. However, if I
>modify the model to output data at every time step, it will be
>impossible for the computer to store this much information( the hourly
>standard output is close to 1gb). I was wondering if it is possible to
>modify fortran to call R or something, which can just plot a contour at
>every time step rather than put it as data. I am not sure about how to
>call this act. Also, if this is possible, will output of a contour give
>a smaller file size than data?
>Thanks in advance,
>simon
>
>
>

-- 
Michael H. Prager, Ph.D.
Population Dynamics Team
NOAA Center for Coastal Habitat and Fisheries Research
NMFS Southeast Fisheries Science Center
Beaufort, North Carolina  28516  USA
http://shrimp.ccfhrb.noaa.gov/~mprager/

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Received on Wed Jul 13 10:02:08 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:33:35 EST