I'm looking to download photoperiod (day length) data for a variety of locations in Europe on a variety of dates. For each date and locations, I need to the number of hours of daylight.

Ideally, the data would have the following attributes:

  1. High spatial resolution
  2. Photoperiod of each day of year
  3. Downloadable as a comma separated values file or similar (to be used in R)

The data should look like this (commas separate each column):

location 1, date 1, photoperiod of 6hrs
location 1, date 2, photoperiod of 7hrs
location 2, date 1, photoperiod of 5hrs

Can anyone suggest where I might find these data?

  • How do you define 'day length'? Is it the period between sun up and sun down? There will also be differences from year to year, so how accurate will it need to be in time? That accuracy will also determine the accuracy in location that is still useful (and vice versa).
    – user4293
    Commented Jan 2, 2015 at 15:10
  • Yes sunrise to subset. I need it for each year 1999-2014
    – luciano
    Commented Jan 2, 2015 at 15:11

3 Answers 3


Turns out there is a function daylength in the geosphere package in R that calculates day length for any latitude and date.


This question has good answers on Stackexchange (although from 2010) - LINK

Anyone know of a good webservice or api that I can use to get the sunrise/sunset times in bulk?

To summarize the answers:

  • 1
    Unless the calculations consider geographic features, they're only going to be approximations. Locations in vallyes get significantly less daylight than those on mountaintops. See twistedsifter.com/2012/02/…
    – Joe
    Commented Jan 5, 2015 at 13:26

'high spatial resolution' and 'csv' generally are mutually exclusive. (as CSV doesn't scale that well ... high resolution stuff would be stored as binary data cubes or images).

The best proxy that I can recommend for what you're asking for are solar potential maps

It's not as easily computed from SPICE kernels, as you have areas on mountains or in valleys that have different day lengths than their surrounding areas. I don't believe that the US Naval Observatory takes that into account from their service, but they will calculate the sunrise & sunset times for a given lat/long down to the arc minute for a given year. They also have a service that will generate an image of day/night demarcation for a given date-time. Looking at their generated images and the following statement, I suspect that they don't compensate for geographic features, as they only mention plentary ephemeris:

In constructing these images, the geometry of the Earth, Sun, and Moon is computed from the data in the Jet Propulsion Laboratory DE405/LE405 planetary and lunar ephemeris. The cloudless Earth map that is used is a processed version of a mosaic produced at NASA's Earth Observatory.

I also checked times on March 20th, 2015 to see if they would show the shadow from the moon during the solar eclipse, but I didn't see it. Depending on your definition of 'photoperiod' and 'day length', eclipses could be significant.

  • Thanks for answer (+1). However I'm not sure if I made clear exactly what I need. I've updated my question. Basically, I need number of hours of daylight for each location and each date. Also, by CSV, I mean a comma separated values file
    – luciano
    Commented Jan 5, 2015 at 12:03
  • @luciano : I'm familiar with CSV ... the issue is that CSV and 'high resolution' don't work well together; CSV works for named locations (eg, a city), but is inefficient for dealing with highly repetitive data (eg, a grid at arc minute resolution as it's ~466 million lines)
    – Joe
    Commented Jan 5, 2015 at 13:20
  • The solar eclipse on March 20, 2015 is of interest to the European energy market, because of reduced photovoltaic production during the eclipse period. renewablesinternational.net/…
    – philshem
    Commented Jan 5, 2015 at 13:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.