#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
#printing result in degree minute and seconds respectively
l1=11.5;
l2=13.5;
r1=8.5;
r2=6.5;
alpha=3+15.0/60+28.0/3600;
OB=121+45.0/60+18.0/3600;
OA=43+25.0/60+20.51/3600;
#calculation
gamma=(l1+l2)/4-(r1+r2)/4;
e=gamma*tan(alpha*pi/180)/3600; #correction
CH=OB-OA-e;
CH=deg_to_dms(CH);
#result
print "corrected horizontal angle in deg,min,sec respectively",CH
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
alpha=30+32.0/60+18.0/3600;#latitude
d=16.0/60+2.85/3600; #diameter of sun
#calculation
C1=-58.0/3600/tan(alpha*pi/180);
C2=8.8/3600*cos(alpha*pi/180);
C3=d;
CL=alpha+C1+C2+C3;
CL=deg_to_dms(CL);
#result
print "corrected latutude in deg,min,sec respectively",CL
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
alpha=40+52.0/60+10.0/3600;#latitude
#calculation
C1=-58.0/3600/tan(alpha*pi/180);
CL=alpha+C1;
CL=deg_to_dms(CL);
#result
print "corrected latutude in deg,min,sec respectively",CL
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
LMT=21+23.0/60+05.0/3600; #local chronometer time
Long=65.0+19.0/60; #longitude
GST=13+15.0/60+20.0/3600;
RA=9+32.0/60+15.0/3600;
Long2=82.0+30.0/60; #longitude of India
#calculation
e1=Long/15*9.8565/3600; #error
SIT=RA+24-GST+e1; #sidereal time interval after LMM
e2=SIT*9.8296/3600; #error
MI=SIT-e2; #mean interval after LMM
LMT=LMT-(Long2-Long)/15.0;
CE=MI-LMT;
CE=deg_to_dms(CE);
#result
print "chronometer error in hours,min,sec respectively",CE
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
MST=12+32.0/60+15.0/3600; #mean sidereal time
RA=15+45.0/60+10.0/3600;
theta=55+14.0/60+20.0/3600;#latitude
delta=15+24.0/60+30.0/3600;#declination
alpha=35+44.0/60+10.0/3600;#zenith deistance
#calculation
c=90-theta;
p=90-delta;
z=90-alpha;
H=acos(cos(z*pi/180)/sin(c*pi/180)/sin(p*pi/180)-1/(tan(p*pi/180)*tan(c*pi/180)))
H=H/15*180/pi;
LST=RA-H;
CE=MST-LST;
CE=deg_to_dms(CE);
#result
print "chronometer error in hours,min,sec respectively",CE
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
LMTe=6+34.0/60+18.0/3600;# LMT east
LMTw=8+58.0/60+2.0/3600; # LMT west
RA=16+11.0/60+25.0/3600;
Long=125+33.0/60;
GST=8+25.0/60+14.0/3600;
#calculation
e1=Long/15*9.8565/3600; #error
SIT=RA-GST+e1; #sidereal time interval after LMM
e2=SIT*9.8296/3600;
MI=SIT-e2; #mean time interval after LMM
LMTav=(LMTe+LMTw)/2; #mean LMT
CE=LMTav-MI;
CE=deg_to_dms(CE);
#result
print "chronometer error in slower side in hours,min,sec respectively",CE
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
LMM=15+9.0/60+5.21/3600;# mean LMT
GMT=10+9.0/60+3.76/3600;
Long=75.0;#longitude
alpha=42+30.0/60+42.0/3600;
theta=34+48.0/60+12.0/3600;
delta=15+36.0/60+48.0/3600;
#calculation
H=acos(sin(alpha*pi/180)/cos(theta*pi/180)/cos(delta*pi/180)-(tan(delta*pi/180)*tan(theta*pi/180)))
H=H/15*180/pi;
GAT=12+H-Long/15;
LMT=GAT+Long/15-5.0/60-40.0/3600;
CE=LMM-LMT;
CE=deg_to_dms(CE);
#result
print "chronometer error in slower side in hours,min,sec respectively",CE
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
d=5+1.0/60+50.0/3600;
del1=75+14.0/60+20.0/3600;
del2=70+12.0/60+30.0/3600;
#calculation
k=cos(del1*pi/180)/cos(del2*pi/180);
A2=pi/2-atan((cos(d*pi/180)-k)/sin(d*pi/180));
A2=A2*180/pi;
A2=120+15.0/60+10.0/3600-A2;
CR=360-A2;
A2=deg_to_dms(A2);
CR=deg_to_dms(CR);
#result
print "azimuth of angle R in degree,minites,seconds respectively",A2
print "true bearing of CR in degree,minites,seconds respectively",CR
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
a=26.0/60+51.0/3600;
p=56.0/60+5.1/3600;#polar distance
#calculation
H=acos(a/p);
A=p*sin(H)/cos(30.75694*pi/180);
CR=25+35.0/60+40.0/3600-A;
CR=deg_to_dms(CR);
#result
print "azimuth of angle CR in degree,minites,seconds respectively",CR
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
Long=75.0;#longitude
GST=11+40.0/60+32.4/3600;
RA=12+25.0/60+18.35/3600;
GMT=15+45.0/60+25.3/3600;
delta=22+6.0/60+32.5/3600;
#calculation
e1=Long/15*9.8565/3600;
LSTofLMM=GST-e1;
LMT=GMT+Long/15;
SIT=LMT+LMT*9.8565/3600;#sidereal time interval
LHA=SIT+LSTofLMM;
H=RA+24-LHA;
H=H*15;
B=atan(tan(delta*pi/180)*tan(H*pi/180));
B=B*180/pi;
A=atan(tan(H*pi/180)*cos(B*pi/180)/sin((B-32-15.0/60)*pi/180))
A=A*180/pi;
TB=360+A-135-15.0/60-20.0/3600;
TB=deg_to_dms(TB);
#result
print "true bearing TB in degree,minites,seconds respectively",TB
print "there is slight difference in the answers due to rounding off error in the book"
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
z=51+47.0/60+18.0/3600;#zenith distance
p=88+57.0/60+57.0/3600;#polar distance
c=61+27.0/60+55.0/3600;#co-latitude
#calculation
s=(z+p+c)/2;
A=2*atan(sqrt(sin((s-z)*pi/180)/sin(s*pi/180)*sin((s-c)*pi/180)/sin((s-p)*pi/180)));
A=A*180/pi;
TB=360-A-165-18.0/60-20.0/3600;
TB=deg_to_dms(TB);
#result
print "true bearing TB in degree,minites,seconds respectively",TB
#finding latitude
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
z2=90-40-13.0/60-15.0/3600;
del2=12+15.0/60+30.0/3600;#declination of star
#calculation
theta=z2+del2;
theta=deg_to_dms(theta);
#result
print "altitude in degree,minites,seconds respectively",theta
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
alpha1=30+45.0/60+25.0/3600;
alpha2=40+48.0/60+30.0/3600;
#calculation
e1=-58/3600/tan(alpha1*pi/180); #error 1
e2=-58/3600/tan(alpha2*pi/180); #error 2
theta=(alpha1+alpha2+e1+e2)/2;
theta=deg_to_dms(theta)
#result
print "latitude in degree,minites,seconds respectively",theta
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
ZP=37+29.0/60+40.0/3600;#colatitde
ZM=56+24.0/60+50.0/3600;#coaltitude
PM=67+54.0/60+24.0/3600;#codeclination
#calculation
A1=acos((cos(PM*pi/180)-cos(ZP*pi/180)*cos(ZM*pi/180))/(sin(ZP*pi/180)*sin(ZM*pi/180)));
A1=A1*180/pi;
A=360-A1;
A=deg_to_dms(A);
#result
print "azimuth of sun in degree,minites,seconds respectively",A
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
theta=54+30.0/60;#latitude
delta=62+12.0/60+21.0/3600;#declination
#calculation
alpha=asin(sin(theta*pi/180)/sin(delta*pi/180));
A1=acos(tan(theta*pi/180)/tan(alpha));
A1=A1*180/pi;
TB=360-A1-65-18.0/60-42.0/3600;
TB=deg_to_dms(TB);
alpha=deg_to_dms(alpha*180/pi);
H=atan(tan(theta*pi/180)/tan(delta*pi/180));
H=deg_to_dms(H*180/pi);
#result
print "true bearing in degree,minites,seconds respectively",TB
print "altitude in degree,minites,seconds respectively",alpha
print "hour angle in degree,minites,seconds respectively",H
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
alpha=44+12.0/60+30.0/3600;
d=15.0/60+45.86/3600;#diameter correction
Long=7+20.0/60+15.0/3600;#longitude
#calculation
alpha=alpha+d-58/3600/tan(alpha)+8.8/3600*cos(alpha);
GAT=Long/15;
e2=6.82/3600*GAT;
delta=22+18.0/60+12.8/3600+e2;
theta=delta+90-alpha;
theta=deg_to_dms(theta);
#result
print "altitude in degree,minites,seconds respectively",theta
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
GMT=16+22.0/60+55.0/3600;
ET=3.0/60+43.0/3600;
c=90-42-20.0/60;
p=90-18-45.0/60-50.0/60;
z=90-43-38.0/60;
#calculation
H=acos(cos(z*pi/180)/sin(c*pi/180)/sin(p*pi/180)-1/tan(c*pi/180)*1/tan(p*pi/180));
H=H*180/pi;
LAT=12-H/15;
LMT=LAT-ET;
Long=GMT-LMT;
Long=Long*15;
Long=deg_to_dms(Long);
#result
print "Longitude in degree,minites,seconds respectively",Long
#initialisation of variable
from math import pi,tan,sqrt,sin,cos,acos,atan,asin
def deg_to_dms(deg):
d = int(deg)
md = abs(deg - d) * 60
m = int(md)
sd = (md - m) * 60
sd=round(sd,2)
return [d, m, sd]
alpha=21+35.0/60+30.0/3600;#mean observed altitude
C=(4.5+5.5-3.5-2.5)/4*15.0/3600;
c=44+30.0/60;#colatitude
z=68+26.0/60+34.0/3600;#coaltitude
p=94+4.0/60+15.0/3600;#codeclination
s=(c+p+z)/2;
#calculation
cr=-58/3600/tan(alpha);#correction refraction
cp=8.8/3600*cos(alpha);#correction parallax
alpha=alpha+C+cr+cp; #corrected altitude
A=2*atan(sqrt(sin((s-z)*pi/180)/sin(s*pi/180)*sin((s-c)*pi/180)/sin((s-p)*pi/180)));
A=A*180/pi;
Mh=(121+45.0/60+20.0/3600+122+47.0/60)/2;#mean horizontal angle
AZ=360-Mh-A;
AZ=deg_to_dms(AZ);
#result
print "Azimuth from north(clockwise) in degree,minites,seconds respectively",AZ