[R] sunrise, sunset calculation

Angel Lopez angel_lul at hotmail.com
Mon Jun 21 13:09:55 CEST 2004

Martin Maechler wrote:

 >>>>>> "Mike" == Mike Sumner <mdsumner at utas.edu.au>
 >>>>>>    on Mon, 21 Jun 2004 19:04:00 +1000 writes:
 >     Mike> At 06:26 PM 6/21/2004, Angel Lopez wrote:
 >     >> Are there any functions available to calculate sunrise and 
sunset times     >> for given latitude,longitude and dates?
 >     >> If not, I'll appreciatte any pointers to C code I could use/port.
 >     >> Thanks,
 >     >> Angel
 >     Mike> Hello, I have R code for determining solar elevation
 >     Mike> for given lat,lon,time - they were translated from the
 >     Mike> Javascript on these pages.
 >     Mike> http://www.srrb.noaa.gov/highlights/sunrise/sunrise.html
 >     Mike> http://www.srrb.noaa.gov/highlights/sunrise/azel.html
 >     Mike> I use them in a fairly specialized way, but I can dig
 >     Mike> it out and probably help you get started.
 > that might be nice to have in an R package.
 > sunrise/sunset would then be the zeros [ "uniroot()" ] of the
 > sun elevations?

Well, not always ;-) , it depends on how you define sunrise/sunset, 
there are various definitions (astrological, nautical, civil).
The most complete code I know of (also pointed to me by another user in 
private) is sunriset.c. It would be quite easy to use this C code and 
write a wrapper functions in R. Because it was me who asked first I'll 
try to do it.
However using noaa algorithms might be better, the sunriset.c gives 
slight differences to noaa (and to emacs sunrise-sunset), I don't know 
which one is better but it might be better to say that R code 'uses noaa 
  algorithms'. Any other pointers welcomed.

 > Note that ESS (and other Emacs) users have it at least at their
 > finger tips:         M-x sunrise-sunset
 > (and there's lunar phases, holidays, dairy etc; only partly also 
available from  [Tools] -> [Display Calendar] -> {{new menu entries when 
inside calendar}}
 > So, you can also find the emacs-lisp code (in
 > ..../lisp/calendar/solar.el but only when you've got a "source"
 > installation of emacs).
 > Martin Maechler
 > .

More information about the R-help mailing list