SUBROUTINE UA_TOPW ( topwnd, iret ) C************************************************************************ C* UA_TOPW * C* * C* This subroutine computes the highest pressure level for which winds * C* are reported in a temp AA or temp CC report. * C* * C* UA_TOPW ( TOPWND, IRET ) * C* * C* Input parameters: * C* IDFLAG CHAR Id wind level flag * C* * C* Output parameters: * C* TOPWND REAL Highest pressure level for * C* which winds are reported * C* IRET INTEGER Return code: * C* 0 = normal return * C** * C* Log: * C* J. Ator/NCEP 03/96 * C* J. Ator/NCEP 12/97 New interface format, style changes * C* J. Ator/NCEP 10/99 Clean up function declarations * C************************************************************************ INCLUDE 'GEMPRM.PRM' INCLUDE 'uacmn.cmn' C* C* Format statement C* 111 FORMAT ( 'Id wind flag ', A, ' (treated as ', A, ')' ) C------------------------------------------------------------------------ iret = 0 C IF ( idflag .eq. '/' ) THEN topwnd = RMXPRS RETURN END IF C CALL ST_INTG ( idflag, itopwn, ier ) IF ( ier .ne. 0 ) THEN topwnd = RMXPRS WRITE ( UNIT = logmsg, FMT = 111 ) idflag, '/' CALL DC_WLOG ( 2, 'UA', 2, logmsg, ierwlg ) CALL UA_RDCS ( 110, ierrdc ) ELSE IF ( prttyp .eq. CC ) THEN IF ( itopwn .eq. 1 ) THEN topwnd = 1. ELSE IF ( itopwn .eq. 2 ) THEN topwnd = 20. ELSE IF ( itopwn .eq. 3 ) THEN topwnd = 30. ELSE IF ( itopwn .eq. 5 ) THEN topwnd = 50. ELSE IF ( itopwn .eq. 7 ) THEN topwnd = 70. ELSE IF ( itopwn .eq. 0 ) THEN topwnd = 1. WRITE ( UNIT = logmsg, FMT = 111 ) idflag, '1' CALL DC_WLOG ( 2, 'UA', 2, logmsg, ierwlg ) CALL UA_RDCS ( 110, ierrdc ) ELSE topwnd = RMXPRS WRITE ( UNIT = logmsg, FMT = 111 ) idflag, '/' CALL DC_WLOG ( 2, 'UA', 2, logmsg, ierwlg ) CALL UA_RDCS ( 110, ierrdc ) END IF ELSE IF ( itopwn .eq. 6 ) THEN topwnd = RMXPRS WRITE ( UNIT = logmsg, FMT = 111 ) idflag, '/' CALL DC_WLOG ( 2, 'UA', 2, logmsg, ierwlg ) CALL UA_RDCS ( 110, ierrdc ) ELSE IF ( itopwn .eq. 0 ) THEN topwnd = 1000. ELSE IF ( itopwn .eq. 9 ) THEN topwnd = 925. ELSE IF ( itopwn .eq. 8 ) THEN topwnd = 850. ELSE topwnd = FLOAT ( itopwn ) * 100. END IF END IF END IF C* RETURN END