      SUBROUTINE GMINFO (UNITNM,PARM,HEMIS,STDLAT,STDLON,MESH,ERROR)
C**********************************************************************
C
C   NAME- GMINFO
C
C   LANGUAGE- FORTRAN 77     TYPE- SUBROUTINE      COMPUTER- CRAY    
C
C   VERSION- 1.0  DATE- 08/22/91   PROGRAMMER- JEFFREY R. JONES (SMSRC)
C   VERSION- 3.0  DATE- 05/21/96   PROGRAMMER- ALEX POZDNYAK (FDC)      
C     FOR REHOSTING TO THE CRAY, CHANGED ALL I*4 DECLARATIONS TO
C     INTEGER, ALL R*4 TO REAL, AND ALL LOG*4 DECLARATIONS TO
C     LOGICAL. 
C   VERSION- 3.1  DATE- 03/06/98   PROGRAMMER- LEAH WILSON (RAYTHEON STX)
C   VERSION- 3.2  DATE- 09/24/98   PROGRAMMER- LEAH WILSON (RAYTHEON ITSS)
C   VERSION- 3.3  DATE- 11/03/98   PROGRAMMER- BRIAN BARIL (RAYTHEON ITSS)
C
C   DESCRIPTION- GMINFO TAKES AS INPUT PARAMETER AND HEMISPHERE TO USE
C                AS THE FIRST AND SECOND LEVEL QUALIFIERS IN RETRIEVING
C                THE STANDARD LATITUDE, STANDARD LONGITUDE, AND MESH
C                FACTOR FOR THE NEEDED MAP. MKNAME IS CALLED TO CREATE A
C                FULLY QUALIFIED NAME USING THE FIRST, SECOND, AND THIRD
C                LEVEL QUALIFIERS THAT ARE PASSED TO IT BY GMINFO. THE
C                THIRD LEVEL QUALIFIER IS HARD CODED INTO GMINFO. THE
C                VALUES FOR THE THIRD LEVEL QUALIFIER ARE "STDLAT  ",
C                "STDLON  ", AND "MESH    ". GMINFO MAKES A CALL TO THE
C                CDB MANAGER ROUTINE RGTCDB FOR EACH OF THESE QUALIFIERS
C                TO RETRIEVE THE REAL NUMBER DATA VALUE FOR EACH FROM
C                THE MMCDB. IF THE CDB MANAGER ENCOUNTERS ANY PROBLEMS,
C                GMINF$ IS CALLED TO WRITE A MESSAGE TO THE MAINTENANCE
C                MESSAGE LOG AND SET THE ERROR CODE. GMINF$ CALLS
C                ANOTHER CDB MANAGER ROUTINE ERRCDB WHICH DOES THE
C                ACTUAL WRITING TO THE MAINTENANCE MESSAGE LOG BUFFER.
C                A CALL TO THE ERROR HANDLING ROUTINE ERMSG WRITES
C                THIS BUFFER TO THE MAINTENANCE MESSAGE LOG FILE.  THE
C                ERROR RETURN CODE IS ALSO SET IN GMINF$.
C   VERSION- 3.1  REMOVE MKNAME.
C   VERSION- 3.2  REMOVE GMINF$.
C   VERSION- 3.3  REPLACED CALLS TO RGTCDB WITH REALCOEF.
C
C   CALLING SEQUENCE PARAMETERS-
C
C     ARGUMENTS  TYPE  I/O             DESCRIPTION
C     ---------  ----  ---  ------------------------------------------
C     UNITNM     INT    I   THE MAPPARM CDB UNIT NUMBER            
C
C     PARM       CH*8   I   THE PARAMETER FOR WHICH FOR A VALUE IS
C                           BEING REQUESTED. THIS IS USED AS THE FIRST
C                           LEVEL QUALIFIER FOR MAP COEFFICIENT NAMES
C                           IN THE CDB.
C
C     HEMIS      CH*8   I   THE HEMISPHERE OF THE MAP. THIS IS USED AS
C                           THE SECOND LEVEL QUALIFIER OF THE MAP IN
C                           THE CDB.
C
C     STDLAT     REAL   O   THE LATITUDE AT WHICH THE PROJECTION PLANE
C                           OF THIS MAP IS DRAWN. (DEGREES)
C
C     STDLON     REAL   O   THE REFERENCE LONGITUDE OF THE POSITIVE X
C                           AXIS FOR THIS MAP. (DEGREES)
C
C     MESH       REAL   O   THE MESH FACTOR OF THE MAP.
C
C     ERROR      INT    O   THE ERROR RETURN CODE.
C                                0 - SUCCESSFUL COMPLETION.
C                               99 - FATAL ERROR.
C
C   COMMON AREA PARAMETERS-
C
C
C   LOCAL PARAMETERS-
C
C     ARGUMENTS  TYPE  I/O             DESCRIPTION
C     ---------  ----  ---  ------------------------------------------
C     STATUS     INT   N/A  STATUS CODE RETURNED FROM THE CDB ROUTINES.
C
C     INFBLK     INT   N/A  THE BLK NUMBER.  BLOCK NUMBERS FOR MAP
C                           INFORMATION DO NOT EXIST SO THIS VALUE IS
C                           ALWAYS -1.
C
C   SUBROUTINES CALLED-  RGTCDB
C
C   EXIT STATES-
C      99 - FATAL ERROR: AN ERROR OCCURED IN A CDB MANAGER ROUTINE.
C
C   COMMENTS-
C      THIS ROUTINE CALLS CDB MANAGER ROUTINES TO ACCESS THE MAP
C      MANAGER'S ROUTINE.
C
C**********************************************************************
C
      CHARACTER*8 PARM, HEMIS
      REAL        STDLAT, STDLON, MESH
      INTEGER     ERROR,UNITNM
C
      INTEGER      STATUS, INFBLK
C
      PARAMETER (INFBLK = -1)
C
C     INITIALIZE VARIABLES.
C
      STDLAT = 0.0
      STDLON = 0.0
      MESH = 0.0
      STATUS = 0
C
C     GET THE STANDARD LATITUDE FROM THE CDB.
C
      CALL REALCOEF(UNITNM,PARM,HEMIS,'STDLAT  ',1,0,0,0, 
     +              STDLAT,'GET', STATUS)
      IF(STATUS.NE.0) GOTO 10
C
C     GET THE STANDARD LONGITUDE FROM THE CDB.
C
      CALL REALCOEF(UNITNM,PARM,HEMIS,'STDLON  ',1,0,0,0, 
     +              STDLON,'GET', STATUS)
      IF(STATUS.NE.0) GOTO 10
C
C     GET THE MESH FACTOR FROM THE CDB.
C
      CALL REALCOEF(UNITNM,PARM,HEMIS,'MESH    ',1,0,0,0,
     +              MESH,'GET', STATUS)
      IF(STATUS.NE.0) GOTO 10
C
C     RETURN TO CALLING ROUTINE NORMALLY
C
      RETURN
C
C     SET ERROR CODE
C
   10 ERROR = 99                   
C
      RETURN
      END
