This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
=============================================================================== Robb Kambic Unidata Program Center Software Engineer III Univ. Corp for Atmospheric Research address@hidden WWW: http://www.unidata.ucar.edu/ =============================================================================== ---------- Forwarded message ---------- Date: 24 Mar 2005 15:16:49 -0700 From: Steve Chiswell <address@hidden> To: Robb Kambic <address@hidden> Subject: altimeter to slp Robb, In PR_PALT, the constants are: GAMUSD = 6.5 degrees per km TMCK = 273.15 To = T at 1000mb = 288.15K RDGAS = 287.04 = gas constant for dry air GRAVTY = 9.80616 m s-2 Chiz
FUNCTION PR_PALT ( altm, selv )
C************************************************************************
C* PR_PALT *
C* *
C* This function computes station pressure from altimeter and station *
C* elevation. The following equation is used: *
C* *
C* PALT = ALTM * ( 1 - ( SELK * GAMUSD / To ) ) ** expo *
C* *
C* SELK = SELV / 1000 *
C* To = US Std. Atmos. sea level temp in Kelvin *
C* = TMCK + 15 *
C* expo = GRAVTY / ( GAMUSD * RDGAS ) * 1000 *
C* *
C* Wallace and Hobbs. *
C* *
C* REAL PR_PALT ( ALTM, SELV ) *
C* *
C* Input parameters: *
C* ALTM REAL Altimeter in millibars *
C* SELV REAL Station elevation in meters *
C* *
C* Output parameters: *
C* PR_PALT REAL Pressure in millibars *
C** *
C* Log: *
C* I. Graffman/RDS 11/84 Original source *
C* I. Graffman/RDS 12/87 Use constants from table *
C* G. Huffman/GSC 7/88 Documentation *
C* T. Lee/GSC 12/99 Used TMCK *
C************************************************************************
INCLUDE 'GEMPRM.PRM'
INCLUDE 'ERMISS.FNC'
C------------------------------------------------------------------------
C* Check for missing data.
C
to = TMCK + 15.
IF ( ERMISS ( altm ) .or. ERMISS ( selv ) ) THEN
PR_PALT = RMISSD
ELSE
hgtk = PR_HGMK (selv)
C
C* Calculate the exponent.
C
expo = ( GRAVTY / ( GAMUSD * RDGAS ) * 1000.)
C
C* Calculate pressure.
C
PR_PALT = altm * ( 1. - ( hgtk * GAMUSD / to ) ) ** expo
END IF
C*
RETURN
END