program tt c c compare 2 routines to convert c altitude setting to surface pressure c do elev=0,5000,1000 palt=29.5 do i=1,10 call pa2sp(palt,elev,sfcp) sfcp2=alt2prs(palt,elev) write(*,*)palt,elev,sfcp,sfcp2 palt=palt+.05 enddo enddo end subroutine pa2sp(palt,elev,sfcp) c c convert pressure altitude in inches (palt) and c station elevation in feet to sfcp in mb . c parameter(xn=0.190284,xk=8.4288e-05) parameter(xni=1./xn) pmb=palt*33.8639 em=elev*.3048 p22=pmb**xn p23=xk*em sfcp=(p22-p23)**xni + 0.3 return end function alt2prs(alti,elevf) c c convert altimeter setting (inches) and elevation (feet) c to station pressure (mb). c parameter (ts=288.,slap=.0065,gasc=287.04,g=9.80616,c1=g/(slap*gasc)) c convert altimeter setting from inches to mb alt=alti*33.8639 c convert elevation from feet to meters elev=elevf*.3048 c alt2prs=alt*(1.-(elev*slap/ts)) ** c1 return end