LSTM caclulation

Dear all.

Solar Time | PVEducation.
Here i am attaching the Link for calculating sun path algorithm.Can someone suggest me steps for calculating LSTM ,Local solar time ,Greenwich Mean Time for equation. Here i am reading time and date from RTC DS1307 which being used for detrmin above equation

LSTM is meridian for your timezone. I live in US Central time, which is GMT - 6 hours. You'll need a variable or some other means of entering the local timezone offset in whole hours (which don't work everywhere).

int LSTM = 15 * timezone_offset_from_GMT;

From the DS1307 you'll need to calculate the day of year (doy), which for today is about 79.

float B = (360.0 / 365) * (doy - 81);

The value "B" is in degrees, which you must convert to radians by not starting in degrees in the first place ...

float B = ((2 * 3.1416) / 365) * (doy - 81);

Your calculator may work in degrees, but the C math library doesn't. The value "(2 * 3.1416)" is the number of radians in a circle -- it's like 360 degrees, only it's 2 * Pi radians.

Now you calculate the Equation of Time as

float EoT = 9.87 * sin(2 * B) - 7.53 * cos(B) - 1.5 * sin(B);

Once you have the EoT, you calculate the time correction. I live at 97W, which is -97 degrees and my LSTM is 90W, so

float TC = 4 * (longitude - LSTM) + EoT;

If you do the math for -97 degrees and where I live, that's about -34 minutes. Remember -- MINUTES.

Going back to your DS1307, you get the local time. Let's use 12 noon. At 12 noon, the local SOLAR time is actually 11:26 and it won't be 12 noon, local solar time, until is it 12:34 local time. That would be correct, except ... daylight saving time.

float LST = ds1307_time + (TC / 60);

if (is_daylight_savings)
    LST -= 1;

Which means, when it is 12 noon Central Daylight Time here, it is actually 10:26 Local Solar Time.

Is there any particular reason you don't post under your original username?

I don't what problem here. with my link i could not able retrieve my password.WIth arduino.

jfhaugh:
LSTM is meridian for your timezone. I live in US Central time, which is GMT - 6 hours. You'll need a variable or some other means of entering the local timezone offset in whole hours (which don't work everywhere).

SInce we stayin india , Daylight saving doesn't matter to US. Below you are adding ds1307_time is added time correction factor.
question here

1)Is time i am getting from RTC converted to local time 

2)Ds1307 time need to converted to local time? or directly 5:30 min subtracted added here
3)DS1307 time While adding converted to total second , minute format  ??





float LST = ds1307_time + (TC / 60);

if (is_daylight_savings)
   LST -= 1;




Which means, when it is 12 noon Central Daylight Time here, it is actually 10:26 Local Solar Time.