import math
#Variable declaration
Npe=6*10**10#Npe=peak electron concentration for the E layer in m**-3
Npf=10**12#Npf=peak electron concentration for the F layer in m**-3
#Calculations&Results
fCE=9*math.sqrt(Npe)#fCE=critical frequency for the E layer
print "Critical frequency for the E layer is = %.1f MHz"%(fCE/10**6)
fCF=9*math.sqrt(Npf)#fCF=critical frequency for the F layer
print "Critical frequency for the F layer is = %.f MHz"%(fCF/10**6)
R=6400.#R=radius of the earth in km
He=110.#He=height of the E layer above the earth surface in km
ime=math.degrees(math.asin(R/(R+He)))#ime=angle corresponding to maximum frequency fmE for E layer in degrees
fmE=fCE*1./math.cos(ime*math.pi/180)#fmE=maximum frequency reflected from the E layer
print "The maximum frequency reflected from the E layer is = %.1f MHz"%(fmE/10**6)
Hf=250.#Hf=height of the F layer above the earth surface in km
imf=math.degrees(math.asin(R/(R+Hf)))#imf=angle corresponding to maximum frequency fmF for F layer in degrees
fmF=fCF*(1./math.cos(imf*math.pi/180))#fmF=maximum frequency reflected from the F layer
print "The maximum frequency reflected from the F layer is = %.1f MHz"%(fmF/10**6)
import math
#Variable declaration
R=6400.#R=radius of the earth in km
He=110.#He=height of the E layer above the earth surface in km
#Calculations
ime=math.asin(R/(R+He))#ime=angle corresponding to maximum frequency fmE for E layer in radian
o=(math.pi/2)-ime#o=angle made by the incident ray at the centre of the earth in degrees
L=2*o*R#L=maximum distance between the transmitting and the receiving points on the earth surface for single hop transmission of the radiowave reflected from the E layer
#Result
print "The maximum distance for single hop transmission is = %.f km"%L
#Answer given in textbook is 2459 km which is incorrect as it is actually around 2356 km.
#Variable declaration
#fc=9*sqrt(Np)
fc=3.*10**6#fc=critical frequency in Hz
#Calculations
Np=(fc**2)/81#Np=electron concentration at the reflecting point
#h=height of the reflecting point from the bottom of the layer
#Np=(5*10**10)+(10**9*h)....(given)
h=(Np-(5*10**10))/10**9
H=100#H=height above the surface of the earth in km
#Result
print "The required height above the ground is = %.f km"%(h+H)