##E6Bv1.01 ##Xwnd ##01 :start menu=ask("runway","drift") jmpif(menu,"runway","drift") :runway RH? WD? WS? hw=WS*fabs(cos(WD-RH)) xw=WS*sin(WD-RH) round(xw) wait("XWind, tap R/S for Hwind") hw=round(hw) wait("HWind ") :drift TAS? CRS? WD? WS? SWC=(WS/TAS)*sin(WD-CRS) HD=CRS+asin(SWC) GS=sqrt(WS^2 + TAS^2 - 2*WS*TAS*cos(HD-WD)) HD=HD+iff(HD<0,360,0) round(HD) wait("Heading, HD R/S") round(GS) wait("Ground Speed,GS") jmp("start") ##Uwnd ##02 TAS? HD? GS? TRK? WS=4*TAS*GS*(sin((HD-TRK)/2))^2 WS=sqrt((TAS-GS)^2+ WS) round(WS) wait("WS R/S") y=TAS*sin(HD-TRK) x=TAS*cos(HD-TRK)-GS iff(x>0,"xgo") iff(x<0,"xlo") iff(x=0,"xeo") :xgo WD=TRK+atan(y/x) jmp("output2") :xlo WD=TRK+atan(y/x) iff(y>=0,"ygo") WD=TRK+atan(y/x)-180 jmp("output2") :ygo WD=TRK+atan(y/x)+180 jmp("output2") :xeo iff(y>0,"xeoygo") WD=TRK-180 jmp("output2") :xeoygo WD=TRK+180 jmp("output2") :output2 round(WD) wait("WD") jmp("start") ##F<>C ##03 menu=ask("F->C","C->F") jmpif(menu,"FC","CF") :FC F? C=round((F-32)/.18)/10 wait("C") :CF C? F=round((C*1.8+32)*10)/10 wait("F") ## Dens ##04 :start AltSet? iff(AltSet<500,"hg") :mb AltSet=AltSet/1013.250*29.92126 :hg set=AltSet Alt? OAT? menu=ask("C","F") jmpif(menu,"C","F") :F OAT=(OAT-32)/1.8 :C T=OAT CAS? PaltCorr= 145442.2*(1- (set/29.92126)^0.190261) PAlt=Alt+PaltCorr Ts= 15-.0019812*PAlt+273.15 Tr=.0019812 T=T+273.15 DAlt=PAlt+(Ts/Tr)*(1-(Ts/T)^0.2349690) round(DAlt) wait("density alt R/S") P= 2116.2166 *(1-6.8755856e-6 *Alt)^5.2558797 dp=2116.2166*((1 + 0.2*(CAS/661.4786)^2)^3.5 -1) M=(5*((dp/P+1)^(2/7)-1))^0.5 CS = 38.967854*sqrt(T) TAS= M*CS round(TAS) wait("TAS R/S") round(M*1000)/1000 wait("mach R/S") TA= round(Alt + (Alt-FE?)*(T-Ts)/(T)) wait("True Altitude") TAS = CAS/(1-6.8755856e-6 * DAlt)^2.127940 ##Dist ##05 menu=ask("new","add") jmpif(menu,"new","add") :new tdist=0 format=ask("ddmm.dd","dd.ddddd") lat1? lon1? lat2? lon2? jmpif(format,"dmn","ddn") :add lat1=lat2 lon1=lon2 lat2? lon2? jmpif(format,"dmn2","ddn") :dmn lat1=lat1/100 lon1=lon1/100 lat1=trunc(lat1)+(lat1-trunc(lat1))/.6 lon1=trunc(lon1)+(lon1-trunc(lon1))/.6 :dmn2 lon2=lon2/100 lat2=lat2/100 lat2=trunc(lat2)+(lat2-trunc(lat2))/.6 lon2=trunc(lon2)+(lon2-trunc(lon2))/.6 :ddn d=cos(lat1)*cos(lat2) d=d*cos(lon2-lon1) d=acos(d+sin(lat1)*sin(lat2)) ldist=60*d x=sin(lat2)-sin(lat1)*cos(d) TCRS=acos((x)/(sin(d)*cos(lat1))) iff(sin(lon1-lon2)<0,"output") TCRS=360-TCRS :output round(TCRS) wait("True Course, R/S") round(ldist*10)/10 wait("Leg Dist in nm. R/S") tdist=ldist+tdist round(tdist*10)/10 wait("Total Dist nm. R/S") jmp("add") ##ISA ##06 Alt? Alt=iff(Alt<500,Alt*100,Alt) Ts=iff(Alt>36089.24,-56,15-.0019812*Alt) round(Ts*10)/10 wait("Standard Temp, C R/S") round((Ts*1.8+32)*10)/10 wait("Standard Temp,F") ##hr ##07 hr() ##hms ##08 hms() ##Turns ##09 menu=ask("radius","lead") jmpif(menu,"radius","lead") :radius Vkts? Bank? r=Vkts^2/tan(Bank)/11.26 wait("Turn Radius/ft press R/S") r=r/6078 wait("Turn Radius/nm R/S") g=1/cos(Bank) wait("g's R/S") bank=atan(Vkts/363.7) wait("Standard bank R/S") r=Vkts^2/tan(Bank)/11.26 wait("Standard Radius/ft R/S") r=r/6078 wait("Standard Turn Radius/nm") g=1/cos(Bank) wait("Standard g's") :lead L=Vkts?^2 L=L/tan(90-turn?/2) L1=L/68461 L=L1/tan(bank?) wait("lead/nm R/S") bank=atan(Vkts/363.7) wait("standard turn bank R/S") L=L1/tan(bank) wait("standard turn lead nm R/S")