SUBROUTINE MSFPS(LAT,TRUELAT1,MSF) !$$$ SUBPROGRAM DOCUMENTATION BLOCK ! . . . ! SUBPROGRAM: MSFPS Computes the map scale factor for a Polar ! Stereographic grid at a give latitude. ! ! ABSTRACT: ! Computes the map scale factor for a Polar Stereographic ! grid at a give latitude. ! ! PROGRAM HISTORY LOG: ! 06-11-01 SWIPED FROM WRF SI PACKAGE BY ROZUMALSKI ! ! INPUT ARGUMENT LIST: ! LAT - LATITUDE AT WHICH MAP FACTOR IS VALID ! TRUELAT1 - TRUELAT 1 ! ! OUTPUT ARGUMENT LIST: ! MSF - MAP SCALE FACTOR ! ! ATTRIBUTES: ! LANGUAGE: FORTRAN !$$$ ! Computes the map scale factor for a Polar Stereographic grid at a given ! latitude. IMPLICIT NONE ! Define some private constants ! REAL, PARAMETER :: pi = 3.1415927 REAL, PARAMETER :: rad_per_deg = pi / 180. REAL, INTENT(IN) :: lat ! latitude where msf is requested REAL, INTENT(IN) :: truelat1 REAL, INTENT(OUT) :: msf REAL :: psi1, psix, pole IF (truelat1 .GE. 0.) THEN psi1 = (90. - truelat1) * rad_per_deg pole =90. ELSE psi1 = (90. + truelat1) * rad_per_deg pole = -90. ENDIF psix = (pole - lat)*rad_per_deg msf = ((1.+COS(psi1))/(1.0 + COS(psix))) RETURN END SUBROUTINE MSFPS